@charset "UTF-8";
:root{--bg:#131813;--panel:#1b211b;--paper:#f0eee5;--ink:#242923;--muted:#b6b9ac;--accent:#e3b77b;--line:rgba(240,238,229,.18);--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}img{max-width:100%;display:block}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}p{line-height:1.75}em{font-family:var(--serif);font-weight:400;color:var(--accent)}.wrap{width:min(1380px,90%);margin-inline:auto}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.23em;font-weight:600;line-height:1.7}.muted{color:var(--muted)}.skip-link{position:fixed;top:-100px;left:20px;padding:15px;background:var(--paper);color:var(--ink);z-index:100}.skip-link:focus{top:10px}.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;width:max-content}.brand strong{font-size:27px;font-weight:700;letter-spacing:-1.5px;line-height:1.1}.brand strong span{color:var(--accent)}.brand small{font-size:8px;letter-spacing:.39em;margin-top:7px}.nav{display:flex;align-items:center;gap:36px;font-size:12px}.nav>a{padding:12px 0;position:relative}.nav>a:not(.nav-cta):after{content:'';position:absolute;bottom:3px;left:0;width:0;height:1px;background:var(--accent);transition:width .25s}.nav>a:hover:after,.nav>a[aria-current=page]:after{width:100%}.nav .nav-cta{border:1px solid var(--line);padding:14px 21px;margin-left:8px}.nav-cta span{margin-left:25px;color:var(--accent)}.menu-toggle{display:none;border:1px solid var(--line);background:none;padding:12px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;font-size:12px;padding:19px 25px;min-height:52px;background:var(--accent);color:var(--bg);border:1px solid var(--accent);transition:background .2s,transform .2s}.button:hover{background:#f0c993;transform:translateY(-2px)}.button span{font-size:20px;line-height:10px}.button.outline{background:transparent;color:var(--paper);border-color:var(--line)}.button.outline:hover{border-color:var(--accent)}.text-link{display:inline-flex;align-items:center;gap:25px;font-size:12px;border-bottom:1px solid currentColor;padding-bottom:7px}.text-link span{color:var(--accent);font-size:19px}
.hero{position:relative;min-height:660px;height:calc(100svh - 100px);max-height:880px;overflow:hidden}.hero-visual{position:absolute;top:0;right:0;width:59%;height:100%;overflow:hidden}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,rgba(19,24,19,.35) 19%,transparent 48%),linear-gradient(0deg,rgba(19,24,19,.7),transparent 35%)}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:50% 43%;animation:photo-enter 1s ease-out}.hero-copy{position:relative;z-index:2;padding-top:clamp(64px,9vh,118px);width:65%;pointer-events:none}.hero-copy a{pointer-events:auto}.hero .eyebrow{display:flex;align-items:center;gap:15px;color:var(--accent)}.hero .eyebrow:before{content:'';height:1px;width:29px;background:var(--accent)}.hero h1{font-size:clamp(64px,7.4vw,112px);letter-spacing:-.065em;line-height:.99;margin:27px 0}.hero h1 em{letter-spacing:-.065em;white-space:nowrap}.hero-copy p{font-size:14px;color:#c1c3b7;max-width:320px;margin:27px 0 29px}.hero-actions{display:flex;align-items:center;gap:28px}.hero-actions .text-link{border:none;font-size:11px}.hero-bottom{position:absolute;left:5%;bottom:32px;z-index:3;display:flex;align-items:center;gap:17px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.hero-bottom .circle{border:1px solid var(--line);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:15px}.hero-selector{position:absolute;bottom:30px;right:5%;z-index:3;display:flex;gap:9px}.hero-choice{border:1px solid #ffffff42;padding:4px;background:#151a158c;width:65px;height:72px;position:relative;transition:transform .3s,border-color .3s}.hero-choice:hover{transform:translateY(-5px)}.hero-choice[aria-pressed=true]{border-color:var(--accent)}.hero-choice img{height:100%;width:100%;object-fit:cover}.hero-caption{position:absolute;right:5%;top:26px;z-index:3;color:white;font-size:9px;letter-spacing:.18em;text-shadow:0 1px 5px #000}.hero-count{position:absolute;right:calc(5% + 235px);bottom:43px;z-index:3;font-family:var(--serif);font-size:27px}.hero-count small{font:9px var(--sans);color:var(--muted);margin-left:5px}.specialty-strip{display:flex;justify-content:space-between;align-items:center;gap:22px;border-block:1px solid var(--line);padding-block:27px}.specialty-strip p{font:italic 18px var(--serif);color:#d7d8cb}.specialty-strip div{display:flex;gap:24px;font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.specialty-strip b{color:var(--accent);font-weight:400}.section{padding-block:100px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:42px}.section-head h2,.section-title{font-size:clamp(38px,4.4vw,65px);line-height:1.1;letter-spacing:-.045em;margin-top:18px}.section-head>p{max-width:280px;font-size:13px;color:var(--muted)}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.photo-card{min-width:0}.photo-button{display:block;position:relative;border:0;padding:0;background:var(--panel);width:100%;overflow:hidden;text-align:left}.photo-button img{height:430px;width:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.65,.3,1),filter .5s}.photo-button:hover img{transform:scale(1.04);filter:brightness(.85)}.photo-button .expand{position:absolute;right:16px;bottom:16px;width:38px;height:38px;display:grid;place-items:center;border:1px solid #ffffff55;background:#13181350;border-radius:50%;font-size:22px}.photo-meta{display:flex;justify-content:space-between;gap:12px;margin-top:17px}.photo-meta h3{font-size:16px}.photo-meta p{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.15em;margin-top:7px}.photo-meta>span{font-size:11px;color:var(--accent);padding-top:3px}.work-grid .photo-card:nth-child(3n+2){padding-top:52px}.section-end{margin-top:42px;display:flex;justify-content:center}.paper{background:var(--paper);color:var(--ink)}.paper em{color:#7f603b}.paper .muted{color:#686d61}.intro-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%;align-items:center}.intro-picture{position:relative}.intro-picture img{height:550px;width:100%;object-fit:cover}.image-note{position:absolute;bottom:23px;left:24px;color:white;font-size:9px;letter-spacing:.15em;text-transform:uppercase}.intro-copy .section-title{margin-bottom:25px}.intro-copy>p{font-size:14px;color:#62685e;max-width:440px;margin-bottom:22px}.intro-copy .text-link{margin-top:14px}.intro-copy .text-link span{color:#7f603b}.mini-rule{height:1px;background:#252c2324;margin:32px 0}.personal-line{font:italic 23px var(--serif);line-height:1.4}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:40px}.service{padding:35px 30px 0 0}.service+.service{border-left:1px solid var(--line);padding-left:30px}.service-num{font-size:10px;color:var(--accent)}.service h3{font:30px var(--serif);margin:25px 0 14px}.service p{font-size:13px;color:var(--muted);max-width:300px}.service .text-link{margin-top:22px}.wide-story{position:relative;min-height:390px;display:flex;align-items:center;overflow:hidden}.wide-story img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 50%;opacity:.55}.wide-story:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#1318139e,transparent)}.wide-story .wrap{position:relative;z-index:1}.wide-story h2{font:italic clamp(45px,5vw,78px)/1.07 var(--serif);max-width:680px;letter-spacing:-.04em;margin-top:15px}.cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:75px}.cta h2{font-size:clamp(36px,4.3vw,64px);letter-spacing:-.045em;line-height:1.13;margin-top:16px}.site-footer{border-top:1px solid var(--line);padding-block:40px 22px}.footer-top{display:flex;align-items:start;justify-content:space-between;gap:30px;margin-bottom:35px}.footer-top p{font-size:12px;color:var(--muted);max-width:220px}.footer-links{display:flex;gap:25px;font-size:11px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:22px;font-size:9px;color:var(--muted);line-height:1.6}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}
.page-heading{padding-block:75px 50px;max-width:900px}.page-heading h1{font-size:clamp(55px,7.2vw,100px);line-height:1.05;letter-spacing:-.06em;margin:23px 0}.page-heading p{font-size:15px;max-width:520px;color:var(--muted)}.filters{display:flex;flex-wrap:wrap;gap:10px;border-block:1px solid var(--line);padding-block:20px;margin-bottom:40px}.filter{border:1px solid var(--line);background:none;padding:12px 20px;font-size:11px;border-radius:2px}.filter[aria-pressed=true]{background:var(--accent);color:var(--bg);border-color:var(--accent)}.filter:hover{border-color:var(--accent)}.portfolio-grid{row-gap:45px}.portfolio-grid .photo-card:nth-child(3n+2){padding-top:0}.portfolio-grid .photo-button img{height:440px}.portfolio-status{margin-left:auto;align-self:center;font-size:10px;color:var(--muted)}[hidden]{display:none!important}.about-hero{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding-block:65px 90px}.about-hero .page-heading{padding:0}.about-hero img{height:640px;width:100%;object-fit:cover}.about-hero .personal-line{margin:30px 0;color:var(--accent)}.about-body{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-block:80px}.about-body h2{font-size:45px;letter-spacing:-.04em;line-height:1.1}.about-body p{font-size:14px;color:#62685e;margin-bottom:22px}.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;padding-bottom:95px}.contact-aside>p{font-size:14px;color:var(--muted);max-width:360px}.contact-method{display:block;border-bottom:1px solid var(--line);padding:25px 0}.contact-method small{display:block;color:var(--accent);font-size:9px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}.contact-method span{font-size:clamp(13px,1.5vw,20px);overflow-wrap:anywhere}.contact-aside img{margin-top:35px;height:200px;width:100%;object-fit:cover}.contact-form{background:var(--panel);border:1px solid var(--line);padding:35px}.contact-form h2{font:31px var(--serif);margin-bottom:11px}.form-note{font-size:12px;color:var(--muted);margin-bottom:26px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}.field label{font-size:10px;letter-spacing:.06em}.field label span{color:var(--muted)}.field input,.field select,.field textarea{width:100%;min-height:46px;border:1px solid #ffffff30;background:var(--bg);color:var(--paper);padding:12px;font-size:13px;border-radius:0;color-scheme:dark}.field textarea{resize:vertical;min-height:110px}.field input:focus,.field select:focus,.field textarea:focus{outline:1px solid var(--accent);outline-offset:0}.contact-form .button{width:100%}.form-result{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.form-result h3{font-size:19px;margin-bottom:10px}.form-result p{font-size:12px;color:var(--muted);margin:12px 0}.form-result textarea{width:100%;min-height:180px;background:var(--bg);color:var(--paper);border:1px solid var(--line);padding:15px;font-size:12px;line-height:1.6}.copy-message{margin-top:12px;border:0;background:none;text-decoration:underline;color:var(--accent);font-size:12px;padding:8px 0}.faq{max-width:850px;margin:auto}.faq h2{margin-bottom:35px}.faq details{border-bottom:1px solid var(--line);padding:24px 0}.faq summary{cursor:pointer;font-size:17px}.faq details p{font-size:13px;color:var(--muted);padding-top:17px;max-width:620px}
.lightbox{position:fixed;max-width:none;max-height:none;width:100%;height:100%;inset:0;margin:0;border:0;padding:65px 75px 30px;background:#0c100cf5;color:var(--paper)}.lightbox::backdrop{background:#0c100c}.lightbox-image{width:100%;height:calc(100svh - 150px);object-fit:contain}.lightbox-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px;font-size:12px}.lightbox-bottom p{font-size:10px;color:var(--muted)}.lightbox-close{position:absolute;right:25px;top:20px;background:none;border:1px solid var(--line);padding:10px 15px}.lightbox-nav{position:absolute;top:48%;border:1px solid var(--line);border-radius:50%;background:#1318139e;width:42px;height:42px;font-size:22px}.lightbox-prev{left:17px}.lightbox-next{right:17px}.no-js-message{padding:20px;font-size:13px}.reveal{animation:section-enter .7s ease both}@keyframes photo-enter{from{opacity:.3;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes section-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.hero-visual{width:58%}.hero-copy{padding-left:calc((100vw - 1380px)/2 - 5vw)}}
@media(max-width:1000px){.nav{gap:22px}.hero{min-height:640px}.hero h1{font-size:80px}.hero-copy{width:75%}.hero-visual{width:64%}.hero-copy p{max-width:270px}.photo-button img{height:330px}.intro-picture img{height:480px}.section{padding-block:75px}.about-hero img{height:530px}.contact-layout{gap:5%}.contact-form{padding:25px}.portfolio-grid .photo-button img{height:350px}}
@media(max-width:700px){.site-header{height:83px}.brand strong{font-size:24px}.brand small{font-size:7px}.menu-toggle{display:block}.nav{display:none;position:absolute;left:-5.56%;right:-5.56%;top:82px;background:var(--bg);padding:25px 6%;border-bottom:1px solid var(--line);align-items:stretch;gap:12px;box-shadow:0 10px 20px #0004}.nav.open{display:flex;flex-direction:column}.nav .nav-cta{margin-left:0}.hero{height:calc(100svh - 83px);min-height:730px;max-height:900px}.hero-visual{width:100%;height:71%;top:0}.hero-visual img{object-position:50% 30%;opacity:.8}.hero-visual:after{background:linear-gradient(0deg,var(--bg) 0%,rgba(19,24,19,.12) 80%),linear-gradient(90deg,rgba(19,24,19,.3),transparent)}.hero-copy{width:100%;padding-top:220px}.hero h1{font-size:clamp(56px,13vw,83px);line-height:1.01;margin:20px 0}.hero-copy p{max-width:310px;font-size:13px;margin:20px 0}.hero-actions{gap:22px}.hero-actions .button{padding:16px 19px;gap:25px}.hero-bottom{bottom:28px;font-size:8px;max-width:100px;gap:8px}.hero-bottom .circle{flex-shrink:0}.hero-selector{bottom:26px}.hero-choice{width:48px;height:55px}.hero-count{display:none}.hero-caption{top:22px;font-size:8px}.hero .eyebrow{font-size:8px}.specialty-strip{align-items:start;flex-direction:column;gap:17px;padding-block:25px}.specialty-strip p{font-size:18px}.specialty-strip div{gap:18px;font-size:8px}.section-head{display:block}.section-head>p{margin-top:23px}.section-head .text-link{margin-top:25px}.work-grid{grid-template-columns:1fr;gap:32px}.work-grid .photo-card:nth-child(3n+2){padding-top:0}.photo-button img{height:auto;aspect-ratio:4/4.5;object-fit:cover}.photo-card.landscape .photo-button img{aspect-ratio:4/3}.section{padding-block:60px}.intro-layout{grid-template-columns:1fr;gap:40px}.intro-picture img{height:400px}.intro-copy .section-title{font-size:44px}.services{grid-template-columns:1fr}.service,.service+.service{padding:28px 0;border-left:0;border-bottom:1px solid var(--line)}.service h3{margin-top:15px}.service p{max-width:100%}.service .text-link{margin-bottom:5px}.wide-story{min-height:340px}.wide-story h2{font-size:48px}.cta{display:block;padding-block:60px}.cta .button{margin-top:30px}.footer-top{flex-wrap:wrap;gap:28px}.footer-top p{max-width:170px}.footer-links{width:100%;flex-wrap:wrap}.footer-bottom{flex-direction:column;gap:10px}.page-heading{padding-block:55px 35px}.page-heading h1{font-size:64px}.page-heading p{font-size:14px}.filters{gap:7px}.filter{font-size:10px;padding:11px 13px}.portfolio-status{width:100%;margin:8px 0 0}.portfolio-grid .photo-button img{height:auto;aspect-ratio:4/4.5}.portfolio-grid .landscape .photo-button img{aspect-ratio:4/3}.about-hero{grid-template-columns:1fr;padding-block:55px;gap:40px}.about-hero img{height:460px}.about-body{grid-template-columns:1fr;gap:30px;padding-block:55px}.about-body h2{font-size:40px}.contact-layout{grid-template-columns:1fr;gap:40px;padding-bottom:60px}.contact-aside img{height:180px}.form-row{grid-template-columns:1fr;gap:0}.contact-form{padding:25px 20px}.lightbox{padding:70px 10px 20px}.lightbox-image{height:calc(100svh - 180px)}.lightbox-bottom{padding-inline:12px}.lightbox-nav{top:auto;bottom:18px}.lightbox-bottom{align-items:start}.lightbox-bottom p{max-width:135px}.lightbox-prev{left:calc(50% - 50px)}.lightbox-next{right:calc(50% - 50px)}}
.hero-copy{width:90%;padding-top:clamp(45px,7vh,100px)}.hero-copy .eyebrow{margin:0;max-width:none;font-size:10px}.hero-copy h1{max-width:690px}
@media(min-width:701px) and (max-height:800px){.hero{min-height:600px}.hero-copy{padding-top:42px}.hero h1{font-size:clamp(65px,6.4vw,90px);margin:22px 0}.hero-copy p:not(.eyebrow){font-size:13px;margin:20px 0 24px}.hero-bottom,.hero-selector{bottom:25px}.hero-count{bottom:38px}}
@media(max-width:700px){.hero-copy{width:90%;padding-top:220px}.hero-copy .eyebrow{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Mobile layout is content-driven: short screens scroll naturally instead of clipping. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.wrap,.hero-copy,.contact-layout>* , .form-row>*{min-width:0}
.field input,.field select,.field textarea,.form-result textarea{min-width:0;max-width:100%;font-size:16px;line-height:1.45}
.button,.menu-toggle,.filter,.copy-message,.text-link{min-height:48px}
.button{white-space:normal;text-align:left}
.button span,.text-link span{flex-shrink:0}
.text-link{align-items:center;padding-block:10px}
.filter{min-width:48px}
.copy-message{padding-block:12px}
.footer-links a,.footer-bottom a{display:inline-flex;align-items:center;min-height:48px}
.brand{min-height:48px;justify-content:center}
.lightbox[open]{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:16px;height:100vh;height:100dvh;padding:calc(64px + env(safe-area-inset-top,0px)) max(72px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px));overflow:auto;overscroll-behavior:contain}
.lightbox-image{height:100%;max-height:100%;min-height:0;grid-row:1;touch-action:pinch-zoom}
.lightbox-bottom{grid-row:2;margin:0;min-width:0;align-items:flex-start}
.lightbox-bottom>div{min-width:0}
.lightbox-bottom h2{font-size:20px;line-height:1.3;overflow-wrap:anywhere}
.lightbox-bottom p{font-size:12px;line-height:1.5}
.lightbox-close{min-height:48px;min-width:48px;top:max(12px,env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px))}
.lightbox-nav{width:48px;height:48px;top:45%;z-index:1}
@media(min-width:701px) and (max-width:900px){
 .site-header{gap:20px}.nav{gap:18px;font-size:12px}.nav .nav-cta{padding:14px 16px;margin:0}.nav-cta span{margin-left:12px}
 .contact-layout{grid-template-columns:1fr;gap:36px}.contact-aside{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;align-items:start}.contact-aside>p{grid-column:1/-1;max-width:600px}.contact-aside img{display:none}
}
@media(max-width:700px){
 .wrap{width:calc(100% - 32px)}
 .site-header{height:calc(80px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px)}
 .menu-toggle{min-width:78px;padding:12px;font-size:14px}
 .nav{left:-16px;right:-16px;top:calc(79px + env(safe-area-inset-top,0px));padding:16px max(16px,env(safe-area-inset-right,0px)) 20px max(16px,env(safe-area-inset-left,0px));gap:4px;max-height:calc(100vh - 80px - env(safe-area-inset-top,0px));max-height:calc(100dvh - 80px - env(safe-area-inset-top,0px));overflow:auto}
 .nav>a{min-height:48px;display:flex;align-items:center;font-size:16px;padding:13px 8px}.nav .nav-cta{justify-content:space-between;margin-top:8px;padding:14px 16px}
 .hero{height:auto;min-height:0;max-height:none;padding-bottom:24px;overflow:visible}
 .hero-visual{height:clamp(390px,112vw,540px)}
 .hero-visual:after{background:linear-gradient(0deg,var(--bg) 0%,rgba(19,24,19,.5) 28%,rgba(19,24,19,.08) 75%),linear-gradient(90deg,rgba(19,24,19,.15),transparent)}
 .hero-copy{width:calc(100% - 32px);padding-top:clamp(170px,50vw,225px);padding-bottom:24px;text-align:center}
 .hero-copy .eyebrow{justify-content:center;font-size:10px;letter-spacing:.12em;line-height:1.6;gap:9px}.hero .eyebrow:before{width:20px;flex-shrink:0}
 .hero h1{font-size:clamp(48px,13vw,64px);line-height:1.02;margin:20px auto;letter-spacing:-.055em}
 .hero-copy p:not(.eyebrow){font-size:15px;line-height:1.65;max-width:360px;margin:20px auto 24px}
 .hero-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;max-width:410px;margin:auto}
 .hero-actions .button{padding:15px 12px;gap:10px;font-size:13px;justify-content:center;text-align:center}
 .hero-actions .text-link{font-size:13px;gap:10px;justify-content:center;min-height:52px;padding:12px 4px}
 .hero-selector{position:relative;bottom:auto;right:auto;justify-content:flex-end;width:max-content;margin:0 16px 0 auto}
 .hero-choice{width:52px;height:60px}.hero-bottom{left:16px;bottom:30px;min-height:48px;font-size:10px;letter-spacing:.08em;max-width:110px}.hero-bottom .circle{width:34px;height:34px}
 .hero-caption{right:16px;top:20px;font-size:10px;letter-spacing:.1em}
 .specialty-strip{gap:14px;align-items:center;text-align:center;padding-block:24px}.specialty-strip div{flex-wrap:wrap;justify-content:center;gap:12px;font-size:10px;letter-spacing:.12em}
 .section-head{text-align:center;margin-bottom:30px}.section-head>p{margin:18px auto 0;max-width:340px;font-size:15px}.section-head .text-link{margin-top:18px}
 .eyebrow{font-size:11px;letter-spacing:.13em}.section-head h2,.section-title{font-size:clamp(34px,9vw,44px)}
 .photo-meta h3{font-size:18px;line-height:1.3}.photo-meta p{font-size:11px;line-height:1.5}.photo-meta>span{font-size:12px}.photo-button .expand{width:44px;height:44px;right:12px;bottom:12px}
 .image-note{font-size:10px;letter-spacing:.1em;left:16px;right:16px;bottom:18px;line-height:1.6;text-shadow:0 1px 8px #000}
 .intro-picture img{height:auto;aspect-ratio:4/4.5}.intro-copy .section-title{font-size:clamp(34px,9vw,44px)}
 .intro-copy>p,.service p,.about-body p,.contact-aside>p,.page-heading p,.faq details p{font-size:16px;line-height:1.7}
 .service h3{font-size:32px}.service-num{font-size:11px}.service .text-link{font-size:14px}
 .text-link{font-size:14px;gap:18px}.section-end{margin-top:28px}.section-end .text-link{font-size:13px;gap:12px}
 .page-heading{text-align:center;padding-block:42px 32px}.page-heading h1{font-size:clamp(43px,13vw,60px);line-height:1.08;overflow-wrap:normal;letter-spacing:-.055em}.page-heading p{margin-inline:auto}
 .filters{gap:8px;justify-content:center;padding-block:16px;margin-bottom:28px}.filter{font-size:13px;padding:12px 14px}.portfolio-status{text-align:center;font-size:12px}
 .about-hero{padding-top:42px;gap:30px}.about-hero .page-heading{padding:0}.about-hero img{height:auto;aspect-ratio:4/4.5}.about-hero .personal-line{font-size:24px;line-height:1.5;margin:24px 0}
 .about-body h2{font-size:clamp(34px,9vw,42px)}
 .contact-layout{gap:32px}.contact-method small{font-size:11px}.contact-method span{font-size:16px;line-height:1.6}.contact-aside img{height:auto;aspect-ratio:16/8}
 .contact-form{padding:24px 12px;margin-inline:-12px;border-inline:0}.contact-form h2{font-size:31px;text-align:center}.form-note{font-size:14px;line-height:1.65;text-align:center}.field label{font-size:14px;line-height:1.45;letter-spacing:0}.field{gap:8px;margin-bottom:22px}
 .field input,.field select,.field textarea{font-size:16px;min-height:50px;padding:13px 12px}.field textarea{min-height:145px}.contact-form .button{font-size:15px;padding:17px 16px;gap:16px}.form-result p{font-size:14px}.form-result textarea{font-size:16px;min-height:230px}.copy-message{font-size:14px}
 .faq summary{font-size:18px;line-height:1.5;min-height:48px;display:list-item;align-content:center}.faq details{padding:16px 0}.faq .section-title{text-align:center}.faq>.eyebrow{text-align:center}
 .cta{text-align:center;padding-block:50px}.cta h2{font-size:clamp(34px,9vw,46px)}.cta .button{width:100%;max-width:400px;margin-top:26px;font-size:14px;padding:18px 16px;gap:15px;justify-content:space-between}
 .footer-top{gap:20px}.footer-top p{font-size:14px}.footer-links{gap:6px 20px;font-size:14px}.footer-bottom{font-size:12px;gap:6px}.footer-bottom a{font-size:12px;line-height:1.5}
 .lightbox[open]{padding:calc(64px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) calc(90px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));gap:14px}
 .lightbox-bottom{padding:0 4px;gap:14px}.lightbox-bottom h2{font-size:18px}.lightbox-bottom>p{max-width:115px;font-size:11px;flex-shrink:0}.lightbox-nav{top:auto;bottom:calc(20px + env(safe-area-inset-bottom,0px))}.lightbox-prev{left:calc(50% - 58px)}.lightbox-next{right:calc(50% - 58px)}
}
@media(max-width:360px){
 .hero-copy .eyebrow{font-size:9px}.hero-actions{grid-template-columns:1fr;gap:4px}.hero-actions .button{font-size:14px}.hero-actions .text-link{min-height:48px}.hero-bottom{font-size:9px;gap:5px;max-width:100px}.hero-choice{width:48px;height:56px}.hero-selector{gap:6px}
 .wide-story h2{font-size:42px}.contact-form h2{font-size:29px}.lightbox-bottom{display:block}.lightbox-bottom>p{margin-top:7px;max-width:none}.lightbox-bottom>p br{display:none}.lightbox-bottom #lightbox-count{margin-left:10px}
}
@media(orientation:landscape) and (max-height:500px){
 .hero{min-height:0;height:auto;max-height:none;padding-bottom:100px}.hero-copy{padding-top:36px;text-align:left}.hero h1{font-size:clamp(44px,7vw,64px)}.hero-copy .eyebrow{justify-content:flex-start}.hero-copy p:not(.eyebrow){margin:18px 0;max-width:420px}.hero-actions{display:flex;flex-wrap:wrap;max-width:none;margin:0;gap:18px}.hero-selector{position:absolute;right:16px;bottom:20px;margin:0}.hero-bottom{bottom:25px}.hero-visual{height:100%;width:60%}.hero-visual:after{background:linear-gradient(90deg,var(--bg),rgba(19,24,19,.55) 40%,rgba(19,24,19,.1)),linear-gradient(0deg,var(--bg),transparent 50%)}
 .lightbox[open]{padding:60px max(72px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px));gap:8px}.lightbox-bottom{display:flex;gap:20px}.lightbox-bottom>p{margin:0;max-width:180px}.lightbox-bottom h2{font-size:16px}.lightbox-bottom p{font-size:11px}.lightbox-nav{top:43%;bottom:auto}.lightbox-prev{left:max(12px,env(safe-area-inset-left,0px))}.lightbox-next{right:max(12px,env(safe-area-inset-right,0px))}
}

/* Compact phone composition: retain comfortable type while reducing vertical travel. */
@media(max-width:700px){
 .hero-copy{padding-top:clamp(120px,36vw,155px);padding-bottom:18px}
 .hero h1{font-size:clamp(45px,12.5vw,56px);margin-block:16px}
 .hero-copy p:not(.eyebrow){margin:16px auto 20px}
 .section{padding-block:38px}.section-head h2,.section-title{font-size:clamp(31px,8.5vw,38px)}
 #selected .section-head{margin-bottom:24px}#selected .section-head h2 br{display:none}
 #selected .work-grid{display:flex;width:100%;max-width:100%;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:var(--accent) var(--panel)}
 #selected .photo-card{flex:0 0 78%;width:78%;scroll-snap-align:start}#selected .photo-button img,#selected .landscape .photo-button img{height:250px;aspect-ratio:auto}
 .intro-layout{gap:0}.intro-layout>.intro-picture{display:none}.intro-copy .section-title{font-size:clamp(31px,8.5vw,38px);margin-top:12px;margin-bottom:16px}.intro-copy .section-title br{display:none}.intro-copy>p{margin-bottom:12px}.intro-copy .text-link{margin-top:0}
 .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 12px}.portfolio-grid .photo-button img,.portfolio-grid .landscape .photo-button img{height:auto;aspect-ratio:3/4}.portfolio-grid .photo-meta{margin-top:12px;gap:5px}.portfolio-grid .photo-meta h3{font-size:16px;line-height:1.35}.portfolio-grid .photo-meta p{font-size:10px}.portfolio-grid .photo-meta>span{display:none}.portfolio-grid .photo-button .expand{width:34px;height:34px;font-size:20px;right:8px;bottom:8px}
 .page-heading{padding-block:32px 24px}.page-heading h1{font-size:clamp(40px,11.5vw,50px);margin-block:16px}.page-heading .eyebrow{font-size:10px}.page-heading p{font-size:15px;line-height:1.6}
 .about-hero{padding-block:32px;gap:24px}.about-hero .personal-line{margin-block:18px;font-size:22px}.about-hero img{aspect-ratio:16/9}.about-body{padding-block:32px;gap:24px}.about-body h2{font-size:34px}.about-body p{font-size:15px;margin-bottom:16px}
 .contact-layout{padding-bottom:36px;gap:28px}.contact-aside img{display:none}.contact-method{padding-block:16px}.contact-method small{margin-bottom:8px}.contact-aside>p{font-size:15px;line-height:1.6}
 .contact-form{padding-block:20px}.contact-form h2{font-size:28px}.form-note{margin-bottom:22px}.field{margin-bottom:18px}.field textarea{min-height:120px}.faq h2{margin-bottom:20px}.faq details{padding-block:8px}
 .cta{padding-block:36px}.cta h2{font-size:36px;line-height:1.1}.cta .button{margin-top:22px}
 .site-footer{padding-block:28px 16px}.footer-top{margin-bottom:18px}.footer-bottom{padding-top:14px}.footer-top p{font-size:13px}.footer-links{gap:2px 18px}.footer-bottom>span:last-child{display:flex;flex-wrap:wrap;gap:0 6px;align-items:center}
}
@media(orientation:landscape) and (max-height:500px){.hero-copy{padding-top:30px}}
.nav>a{min-height:48px;display:flex;align-items:center}
.hero-bottom{min-height:48px}

/* A one-time invitation, sized to the visible screen with a reachable close control. */
.offer-dialog{width:calc(100% - 32px);width:calc(100% - max(16px,env(safe-area-inset-left,0px)) - max(16px,env(safe-area-inset-right,0px)));max-width:520px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:0;margin:auto;border:1px solid #e3b77b66;background:var(--panel);color:var(--paper);overflow:auto;overscroll-behavior:contain;box-shadow:0 28px 100px #0009}
.offer-dialog::backdrop{background:#070b09bf;backdrop-filter:blur(5px)}
.offer-topline{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--panel);padding:12px 12px 12px 28px}
.offer-topline .eyebrow{color:var(--accent);font-size:11px;letter-spacing:.12em}
.offer-close{display:grid;place-items:center;width:48px;height:48px;min-width:48px;padding:0;border:1px solid var(--line);background:none;color:var(--paper);font-size:28px;font-weight:400;line-height:1}
.offer-close:hover{border-color:var(--accent)}
.offer-content{padding:8px 28px 28px}
.offer-content h2{font-size:52px;line-height:1.07;letter-spacing:-.045em;max-width:390px}
.offer-content>p{font-size:17px;line-height:1.6;color:#cbd0c2;max-width:385px;margin:22px 0 26px}
.offer-content .button{width:100%;font-size:15px;min-height:52px;gap:16px;padding:17px 20px}
@media(max-width:500px){.offer-topline{padding-left:20px;gap:10px}.offer-topline .eyebrow{font-size:10px;letter-spacing:.08em}.offer-content{padding:4px 20px 20px}.offer-content h2{font-size:clamp(37px,10vw,46px)}.offer-content>p{font-size:16px;margin:18px 0 22px}.offer-content .button{padding-inline:16px}}
@media(orientation:landscape) and (max-height:500px){.offer-dialog{max-width:600px}.offer-topline{padding-block:8px}.offer-content{padding-top:0;padding-bottom:20px}.offer-content h2{font-size:36px;max-width:none}.offer-content>p{font-size:16px;margin:12px 0 16px;max-width:none}.offer-content .button{min-height:48px;padding-block:13px}}
