*{box-sizing:border-box;scrollbar-color:var(--scroll-thumb) var(--scroll-track);scrollbar-width:thin}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:var(--scroll-track)}
*::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:2px solid var(--scroll-track)}
*::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}
html{scroll-behavior:smooth;scroll-padding-top:80px;scrollbar-gutter:stable}
body{margin:0;background:var(--primary);color:var(--primaryForeground);font:18px/1.7 var(--body)}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
a,button{-webkit-tap-highlight-color:transparent}
a:hover,button:hover:enabled{text-decoration:underline;text-underline-offset:6px}
button:disabled{cursor:default;opacity:.4}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
img{display:block;max-width:100%}
h1,h2,h3,p,figure,dl{margin:0}
[hidden]{display:none!important}
.wrap{width:min(1040px,calc(100% - 96px));margin-inline:auto}
.skip{position:absolute;top:-100px;left:18px;padding:12px;background:var(--surface);color:var(--foreground);z-index:10}
.skip:focus{top:10px}
.masthead{padding:30px 0 0;text-align:center;background:var(--background);color:var(--foreground)}
.wordmark{display:flex;justify-content:center;align-items:center;gap:30px}
.botanical{width:132px;height:66px;object-fit:contain;flex:0 1 132px;min-width:0}
.botanical-right{width:142px;flex-basis:142px}
.wordmark h1{font:400 clamp(32px,4.25vw,58px)/1.22 var(--display);letter-spacing:.005em;white-space:nowrap;min-width:0}
.masthead>p{font:18px/1.6 var(--display);letter-spacing:.035em;margin-top:8px;color:var(--foregroundMuted)}
.collection-nav{position:sticky;top:0;z-index:5;display:flex;justify-content:center;gap:36px;margin:0;padding:10px 22px 6px;min-height:64px;background:var(--background)}
.collection-nav a{display:inline-flex;align-items:center;min-height:48px;font-size:15px;color:var(--primary);white-space:nowrap}
.collection-nav a[aria-current="location"]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.reading-progress{position:absolute;inset:auto 0 0;height:2px;background:var(--surfaceMuted);pointer-events:none}
.reading-progress>span{display:block;height:100%;width:var(--reading-progress,0%);background:var(--primary)}
.portfolio-intro{text-align:center;padding-block:24px 8px}
.portfolio-intro>p:first-child{font:400 22px/1.45 var(--display);color:var(--primaryForeground);max-width:48ch;margin-inline:auto;text-wrap:balance}
.portfolio-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 26px;margin-top:4px}
.portfolio-note{font-size:14px;color:#e4e8dc}
.portfolio-share{min-width:0;font:14px/1.6 var(--body)}
.portfolio-share button{min-height:48px;padding:8px 0;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.share-status:not(:empty){display:block;margin-top:4px;font-size:14px}
.share-fallback{max-width:42ch;font-size:14px;overflow-wrap:anywhere;margin-block:6px}
.share-fallback a{text-decoration:underline;text-underline-offset:4px;display:inline-block;min-height:48px;padding-block:10px}
.portfolio-intro .portfolio-share{color:var(--primaryForeground)}
.trust-band{background:transparent;color:var(--primaryForeground)}
.trust-badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding-block:24px 60px}
.trust-badge{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;min-width:0;color:var(--primaryForeground);cursor:pointer}
.trust-mark{display:block;flex:0 0 112px;width:112px;height:112px;color:var(--primary)}
.trust-mark svg{width:100%;height:100%;overflow:visible}
.seal-orbit{stroke:#b6c7b8}
.seal-ring{fill:#304a3e;stroke:#b6c7b8;transition:fill 220ms ease,stroke 220ms ease}
.seal-inner,.seal-botanical,.seal-symbol{color:var(--primaryForeground)}
.seal-river{stroke-width:2.8}
.trust-copy{display:flex;flex-direction:column;align-items:center;gap:9px}
.trust-title{font:400 26px/1.25 var(--display);letter-spacing:-.01em;color:var(--primaryForeground);text-wrap:balance}
.trust-detail{font:14px/1.65 var(--body);max-width:28ch;color:#e4e8dc;text-wrap:balance}
.trust-badge:hover,.trust-badge:active{text-decoration:none}
.trust-badge:hover .trust-title,.trust-badge:focus-visible .trust-title{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.trust-badge:hover .seal-ring,.trust-badge:focus-visible .seal-ring{fill:var(--accent);stroke:var(--accent)}
.trust-badge:active .seal-ring{fill:var(--secondary);stroke:var(--secondary)}
.finished-works{background:transparent;color:var(--primaryForeground);padding-block:14px 12px}
.work{padding:54px 0;scroll-margin-top:0}
.work-inner{width:min(1020px,calc(100% - 96px));margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:10%;align-items:center}
.work-figure{min-width:0}
.media{position:relative}
.photo-link{display:block;position:relative;width:100%;cursor:zoom-in;border:0;padding:0;background:transparent}
.photo-link img{width:100%;height:auto;object-fit:contain;border-radius:var(--photo-radius)}
.photo-rail{display:flex;width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:none}
.photo-rail::-webkit-scrollbar{display:none}
.photo-rail:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.photo-rail .photo-link:focus-visible{outline-offset:-4px}
.rail-slide{flex:0 0 100%;min-width:0;aspect-ratio:var(--frame-ratio);scroll-snap-align:start;scroll-snap-stop:always}
.rail-slide .media,.rail-slide .photo-link{height:100%}
.rail-slide .photo-link{display:flex;align-items:center;justify-content:center}
.rail-slide .photo-link img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.rail-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:13px;line-height:1.5;color:inherit;opacity:.85}
.rail-current{font-variant-numeric:tabular-nums;white-space:nowrap}
.rail-markers{display:flex;justify-content:center;gap:4px}
.rail-marker{display:grid;place-items:center;width:40px;min-width:40px;height:48px;padding:0;color:inherit}
.rail-marker span{width:7px;height:7px;border:1px solid currentColor;border-radius:50%;background:transparent}
.rail-marker[aria-current="true"] span{background:currentColor}
.work-copy{min-width:0;padding-block:14px}
.work-copy h2{font:400 clamp(32px,3.15vw,42px)/1.22 var(--display);letter-spacing:-.015em;margin-bottom:18px;max-width:390px;text-wrap:balance}
.work-description{font-size:17px;line-height:1.8;color:var(--foregroundMuted);max-width:350px;text-wrap:pretty}
.photo-toolbar{display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap;margin-top:22px}
.view-photo{font-size:15px;min-height:48px;display:inline-flex;align-items:center;color:var(--primary);text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:7px}
.view-photo:hover{text-decoration-thickness:2px}
.photo-status{font-size:14px;color:var(--foregroundMuted);white-space:nowrap}
.finished-works .work-description,.finished-works .photo-status{color:#e4e8dc}
.finished-works .view-photo{color:var(--primaryForeground);text-decoration-color:#b6c7b8}
.finished-works a:focus-visible{outline-color:var(--primaryForeground)}
.feature{padding-top:0;padding-bottom:28px}
.feature .work-inner{width:min(1080px,calc(100% - 96px));grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:10%}
.feature h2{font-size:clamp(38px,4.15vw,54px)}
.feature .work-description{font-size:18px}
.eyebrow{font-size:13px;letter-spacing:.07em;line-height:1.5;color:var(--accent);margin-bottom:16px}
.workshop{background:var(--surfaceMuted);color:var(--foreground);padding-top:66px}
.workshop-intro{text-align:center;padding-bottom:6px}
.workshop-intro h2{font:400 clamp(34px,3.6vw,46px)/1.25 var(--display);margin-bottom:18px}
.workshop-intro>p:last-child{max-width:560px;margin-inline:auto;font-size:17px;color:var(--foregroundMuted)}
.workshop .work{padding-block:50px 64px}
.collection-notes{background:var(--background);padding-block:60px}
.notes-inner{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:9%;align-items:start}
.collection-notes h2{font:400 clamp(32px,3.3vw,42px)/1.25 var(--display);color:var(--primary)}
.collection-notes p{font-size:17px;line-height:1.8;max-width:580px;color:var(--foregroundMuted);text-wrap:pretty}
.collection-notes .availability-note{margin-top:18px;color:var(--primary)}
.inquiries{background:var(--primary);color:var(--primaryForeground);padding-block:70px}
.inquiries-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:8%;align-items:center}
.inquiries .eyebrow{color:#d8e0ce}
.inquiries h2{font:400 clamp(34px,3.6vw,46px)/1.25 var(--display);max-width:500px;margin-bottom:18px}
.inquiries p:not(.eyebrow){font-size:17px;max-width:450px;color:#e4e8dc}
.contact-actions{min-width:0}
.contact-actions>a{display:flex;align-items:center;min-height:54px;font-size:clamp(18px,1.85vw,24px);padding:10px 0;overflow-wrap:anywhere}
.contact-actions>a{flex-direction:column;align-items:flex-start;gap:2px;padding-block:12px}
.contact-label{font:13px/1.5 var(--body);letter-spacing:.04em;color:#d8e0ce}
.inquiries a:focus-visible{outline-color:var(--primaryForeground)}
.footer{background:var(--secondary);color:var(--secondaryForeground)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:18px;font-size:15px}
.footer-inner>span{font:17px/1.5 var(--display)}
.footer a{display:inline-flex;align-items:center;min-height:48px}
.photo-loading{position:absolute;left:0;bottom:0;background:var(--background);color:var(--foreground);font-size:14px;padding:8px;pointer-events:none}
.photo-error{position:absolute;inset:auto 0 0;background:var(--background);color:var(--foreground);padding:16px;font-size:16px}
.photo-error button,.photo-error a{display:inline-flex;align-items:center;min-height:48px;padding:8px 10px;text-decoration:underline}
.photo-fallback{padding-left:20px}
dialog{border:0;padding:20px 38px;background:#192b24;color:#fffdf7;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;overflow:auto}
dialog::backdrop{background:#192b24}
dialog:not([open]){display:none}
dialog[open]{display:flex;flex-direction:column}
.lightbox-top{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:54px;font-size:15px}
.lightbox-top button{min-height:48px;padding:8px 0;color:inherit;font-size:16px;white-space:nowrap}
.lightbox-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:8px 24px;flex:1;min-height:0;margin-block:12px}
.lightbox-image-wrap{grid-column:1/-1;grid-row:1;position:relative;min-height:0;display:flex;align-items:center;justify-content:center}
.lightbox-stage img{width:auto;height:auto;max-width:100%;max-height:min(68dvh,100%);object-fit:contain;border-radius:var(--photo-radius)}
.lightbox-stage img{touch-action:pan-y pinch-zoom}
.viewer-feedback{position:absolute;bottom:0;left:0;right:0;text-align:center;background:#192b24;color:#e0e6da;padding:12px;font-size:14px;pointer-events:none}
.viewer-nav{min-height:48px;width:max-content;color:inherit;font-size:16px;text-decoration:underline;text-underline-offset:6px;padding:8px 0}
#next-photo{justify-self:end}
.lightbox-caption{display:flex;align-items:center;justify-content:space-between;gap:12px 32px;padding-block:10px 4px}
.lightbox-caption h2{font:400 28px/1.3 var(--display)}
.lightbox-caption p{font-size:15px;color:#e0e6da;margin-top:6px;max-width:640px}
.viewer-actions{display:flex;flex-direction:column;align-items:flex-end;flex:0 0 auto;min-width:0;max-width:42ch}
.viewer-actions .portfolio-share{text-align:right}
.viewer-actions .share-fallback{font-size:14px}
#lightbox-original{font-size:14px;display:inline-flex;align-items:center;min-height:48px;white-space:nowrap;text-decoration:underline;text-underline-offset:6px}
#lightbox-error{position:absolute;padding:20px;background:#192b24;font-size:16px;text-align:center}
#retry-viewer{display:inline-flex;align-items:center;min-height:48px;padding:8px 0;text-decoration:underline;text-underline-offset:6px}
dialog a:focus-visible,dialog button:focus-visible{outline-color:#fffdf7}
body.modal-open{overflow:hidden}
@media(max-width:1050px){
 .wrap,.work-inner,.feature .work-inner{width:calc(100% - 64px)}
 .wordmark{gap:22px}.botanical{width:105px;height:60px;flex-basis:105px}
 .botanical-right{width:114px;flex-basis:114px}
 .wordmark h1{font-size:clamp(32px,4.5vw,46px)}
 .work-inner,.feature .work-inner{gap:8%;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
 .work-copy h2{font-size:36px}.feature h2{font-size:44px}
 .trust-title{font-size:23px}
}
@media(max-width:760px){
 html{scroll-padding-top:80px}
 .wrap,.work-inner,.feature .work-inner{width:calc(100% - 44px)}
 .masthead{padding-top:16px}
 .wordmark{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .botanical{width:95px;height:44px}
 .botanical-right{width:103px}
 .botanical-left{grid-column:1;grid-row:1;justify-self:end}
 .botanical-right{grid-column:2;grid-row:1;justify-self:start}
 .wordmark h1{grid-column:1/-1;grid-row:2;font-size:clamp(29px,7.4vw,42px);white-space:normal;letter-spacing:0}
 .masthead>p{font-size:17px;margin-top:6px}
 .collection-nav{gap:22px;padding-top:6px;min-height:60px}
 .collection-nav a{font-size:14px}
 .portfolio-intro{padding-block:16px 6px}
 .portfolio-intro>p:first-child{font-size:19px;line-height:1.4;max-width:34ch}
 .portfolio-actions{gap:0 22px;margin-top:6px}
 .portfolio-note{font-size:14px;line-height:1.6}
 .trust-badges{gap:18px;padding-block:18px 38px}
 .trust-mark{width:96px;height:96px;flex-basis:96px}
 .trust-title{font-size:22px}.trust-detail{font-size:14px}
 .finished-works{padding-block:12px 8px}
 .work,.feature{padding-block:28px 30px}
 .feature{padding-top:0;padding-bottom:24px}
 .work-inner,.feature .work-inner{display:block;max-width:520px}
 .work-copy{padding:0;margin-top:24px}
 .work-copy h2,.feature h2{font-size:34px;line-height:1.22;margin-bottom:12px;max-width:none;text-wrap:pretty}
 .work-description,.feature .work-description{font-size:16px;line-height:1.8;max-width:none}
 .photo-toolbar{gap:8px 24px;margin-top:16px}
 .view-photo{font-size:14px}.photo-status{font-size:14px}
 .workshop{padding-top:46px}
 .workshop-intro{text-align:left;padding-bottom:8px}
 .workshop-intro h2{font-size:34px;margin-bottom:16px}
 .workshop-intro>p:last-child{font-size:16px}
 .workshop .work{padding-block:28px 40px}
 .eyebrow{font-size:13px;margin-bottom:14px}
 .inquiries{padding-block:46px}
 .collection-notes{padding-block:42px}.notes-inner{display:block}.collection-notes h2{font-size:34px;margin-bottom:18px}.collection-notes p{font-size:16px}
 .inquiries-inner{display:block}
 .inquiries h2{font-size:34px}.inquiries p:not(.eyebrow){font-size:16px}
 .contact-actions{margin-top:20px}.contact-actions>a{font-size:19px;min-height:54px}
 .footer-inner{flex-wrap:wrap;gap:4px 20px;padding-block:20px}
 .footer-inner>span{font-size:16px}.footer a{font-size:14px}
 dialog{padding:12px 18px}
 .lightbox-top{font-size:13px;gap:12px}.lightbox-top button{font-size:14px}
 .lightbox-stage{margin-block:8px;gap:8px 20px}
 .lightbox-stage img{max-height:min(60dvh,100%)}
 .lightbox-caption{display:block;padding-top:8px}
 .lightbox-caption h2{font-size:25px}.lightbox-caption p{font-size:14px}
 .viewer-actions{align-items:flex-start;max-width:100%;margin-top:8px}
 .viewer-actions .portfolio-share{text-align:left}
 #lightbox-original{min-height:44px}
}
@media(min-width:541px) and (max-width:800px){.trust-title{min-height:2.5em}}
@media(max-width:540px){
 .trust-badges{grid-template-columns:1fr;gap:24px;max-width:440px}
 .trust-badge{display:grid;grid-template-columns:88px minmax(0,1fr);gap:18px;text-align:left}
 .trust-mark{width:88px;height:88px}
 .trust-copy{align-items:flex-start;gap:6px}
 .trust-title{font-size:24px;text-wrap:pretty}
 .trust-detail{font-size:14px;text-wrap:pretty;max-width:25ch}
}
@media(max-width:350px){
 .collection-nav{gap:16px}.collection-nav a{font-size:13px}
 .photo-toolbar{gap:8px 20px}.photo-status{font-size:13px}
 .wordmark h1{font-size:28px}.work-copy h2,.feature h2{font-size:31px}
}
/* Keep text and photographs fully opaque, including after lazy loading. */
@keyframes badge-arrive{from{opacity:.94}to{opacity:1}}
.trust-mark.entry-detail{animation:badge-arrive 480ms ease-out var(--entry-delay,0ms) backwards}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media(forced-colors:active){*{scrollbar-color:auto}a:focus-visible,button:focus-visible{outline:3px solid Highlight}.view-photo,.viewer-nav{text-decoration:underline}}

