:root{--cream:#f5efe6;--cream-2:#ece3d6;--paper:#fbf8f3;--ink:#1f1b17;--ink-2:#4a433c;--muted:#7d746b;--line:rgba(31,27,23,0.12);--clay:#b5563a;--clay-deep:#93422b;--sage:#6e7f6a;--gold:#c9a35b;--gold-soft:#e6c08a;--hero-em:#f0d9b5;--on-ink:#f5efe6;--ink-hover:#2a2520;--on-accent:#fff;--field:#fff;--grain:0.35;--scrim:20,16,12;--accent-ring:rgba(181,86,58,0.15);--font-display:var(--font-fraunces),Georgia,"Times New Roman",serif;--font-text:var(--font-manrope),"Helvetica Neue",Arial,sans-serif;--display-weight:400;--display-tracking:-0.01em;--em-style:italic;--wrap:1240px;--gutter:clamp(16px,4vw,48px);--radius:4px;--ease:cubic-bezier(0.22,1,0.36,1);--shadow:0 30px 60px -30px rgba(31,27,23,0.35)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-text);font-size:1.0625rem;line-height:1.65;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:var(--grain);mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.06 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}ol,ul{margin:0;padding:0;list-style:none}address,blockquote,figure{margin:0;font-style:normal}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:var(--display-weight);line-height:1.05;letter-spacing:var(--display-tracking)}h2{font-size:clamp(2rem,4.2vw,3.4rem)}h1 em,h2 em{font-style:var(--em-style);font-weight:300;color:var(--clay)}h3{font-size:1.45rem}p{margin:0 0 1rem}.wrap{width:min(var(--wrap),100% - 2 * var(--gutter));margin-inline:auto;position:relative;z-index:1}.section{padding-block:clamp(5rem,10vw,8.5rem)}.center{text-align:center}.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--on-ink);padding:8px 14px;z-index:100}.skip:focus{left:8px}.hp{position:absolute;left:-9999px;opacity:0}.eyebrow{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--clay);margin-bottom:1.1rem}.eyebrow:before{content:"";display:inline-block;width:28px;height:1px;background:var(--clay);vertical-align:middle;margin-right:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.95rem 1.6rem;font-weight:600;font-size:.9rem;letter-spacing:.04em;border-radius:var(--radius);border:1px solid transparent;transition:transform .35s var(--ease),background .35s,color .35s,border-color .35s;cursor:pointer;font-family:var(--font-text)}.btn:hover{transform:translateY(-2px)}.btn-solid{background:var(--clay);color:var(--on-accent)}.btn-solid:hover{background:var(--clay-deep)}.btn-light{background:var(--cream);color:var(--ink)}.btn-light:hover{background:var(--paper)}.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff}.btn-outline{border-color:var(--ink);color:var(--ink)}.btn-outline:hover{background:var(--ink);color:var(--on-ink)}.btn-block{width:100%;padding-block:1.1rem}.site-header{position:fixed;inset:0 0 auto 0;z-index:50;color:#fff;transition:background .4s,color .4s,box-shadow .4s}.site-header.scrolled{background:color-mix(in srgb,var(--cream) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--ink);box-shadow:0 1px 0 var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;height:84px}.site-header.scrolled .header-inner{height:70px}.brand{display:flex;align-items:center;gap:.7rem}.brand-mark{width:34px;height:34px;flex:none}.brand-text{font-family:var(--font-display);font-size:1.25rem;line-height:1;letter-spacing:.01em;display:flex;flex-direction:column}.brand-text span{font-family:var(--font-text);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;opacity:.8;margin-top:4px}.nav{display:flex;gap:2.2rem;font-size:.92rem;font-weight:500}.nav a{position:relative;padding-block:6px}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:currentColor;transition:right .35s var(--ease)}.nav a:hover:after{right:0}.header-actions{display:flex;align-items:center;gap:1.4rem}.phone{font-weight:600;font-size:.95rem;letter-spacing:.02em}.menu-toggle{display:none;background:none;border:0;width:40px;height:40px;padding:8px;cursor:pointer;color:inherit}.menu-toggle span{display:block;height:2px;background:currentColor;margin:7px 0;transition:transform .35s var(--ease),opacity .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.mobile-nav{display:none;flex-direction:column;gap:.5rem;padding:1rem var(--gutter) 2rem;background:var(--cream);color:var(--ink);border-top:1px solid var(--line)}.mobile-nav a{padding:.8rem 0;font-size:1.15rem;font-family:var(--font-display);border-bottom:1px solid var(--line)}.mobile-nav .btn{margin-top:1rem;font-size:.9rem}.mobile-nav .btn,.mobile-nav .mobile-phone{border-bottom:0;font-family:var(--font-text)}.mobile-nav .mobile-phone{text-align:center;font-size:.95rem;font-weight:600}.site-header.open .mobile-nav{display:flex}.site-header.open{background:var(--cream);color:var(--ink)}.hero{position:relative;min-height:100svh;display:grid;align-items:end;color:#fff;isolation:isolate;overflow:hidden}.hero-media{position:absolute;inset:0;z-index:-2}.hero-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);animation:heroZoom 2.4s var(--ease) forwards}@keyframes heroZoom{to{transform:scale(1)}}.hero-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(var(--scrim),.5) 0,rgba(var(--scrim),.25) 35%,rgba(var(--scrim),.78) 100%),linear-gradient(90deg,rgba(var(--scrim),.5),rgba(var(--scrim),.2) 55%,transparent 80%)}.hero-content{padding-block:clamp(6rem,12vw,9rem) clamp(5rem,10vw,8rem);max-width:820px}.hero .eyebrow{color:rgba(255,255,255,.85)}.hero .eyebrow:before{background:var(--gold)}.hero h1{font-size:clamp(2.8rem,7vw,5.6rem);letter-spacing:-.02em;margin-bottom:1.4rem}.hero h1 em{color:var(--hero-em)}.lede{font-size:clamp(1.05rem,1.5vw,1.25rem);max-width:600px;color:rgba(255,255,255,.86);margin-bottom:2.2rem}.hero-cta{display:flex;flex-wrap:wrap;gap:.9rem}.hero-scroll{position:absolute;right:var(--gutter);bottom:2rem;writing-mode:vertical-rl;font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;opacity:.75;display:flex;align-items:center;gap:.8rem}.hero-scroll span{width:1px;height:56px;background:linear-gradient(#fff,transparent);animation:drip 2s infinite}@keyframes drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.grid-why{display:grid;grid-template-columns:1.15fr 1fr;grid-gap:clamp(2.5rem,6vw,6rem);gap:clamp(2.5rem,6vw,6rem);align-items:center}.why h2{margin-bottom:1.4rem}.why-copy p{color:var(--ink-2);max-width:56ch}.checks{margin-top:1.5rem;display:grid;grid-gap:.7rem;gap:.7rem}.checks li{padding-left:2rem;position:relative;font-weight:500}.checks li:before{content:"";position:absolute;left:0;top:.55em;width:14px;height:8px;border-left:2px solid var(--sage);border-bottom:2px solid var(--sage);transform:rotate(-45deg)}.why-photos{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.why-photos figure{margin:0;aspect-ratio:4/5;overflow:hidden;background:var(--line)}.why-photos figure:nth-child(2),.why-photos figure:nth-child(3){transform:translateY(1.5rem)}.why-photos img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}.why-photos figure:hover img{transform:scale(1.04)}.why-photos-caption{grid-column:1/-1;margin:2rem 0 0;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}.lang-switch{font-size:.78rem;font-weight:700;letter-spacing:.08em;padding:.35rem .6rem;border:1px solid;border-radius:999px;opacity:.85}.lang-switch:hover{opacity:1}html[lang=zh-CN]{--font-display:"Noto Serif SC","Songti SC","Noto Serif CJK SC",serif;--font-text:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}html[lang=zh-CN] h1,html[lang=zh-CN] h2,html[lang=zh-CN] h3{letter-spacing:.01em;line-height:1.25;font-weight:500}html[lang=zh-CN] em{font-style:normal}html[lang=zh-CN] .hero h1{font-size:clamp(2.2rem,6.2vw,5.2rem);letter-spacing:0}html[lang=zh-CN] .eyebrow,html[lang=zh-CN] .stat>span,html[lang=zh-CN] .why-photos-caption{letter-spacing:.2em}html[lang=zh-CN] .brand-text{font-family:var(--font-fraunces),Georgia,serif}.section-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:clamp(2.5rem,5vw,4rem)}.section-note{max-width:36ch;color:var(--ink-2);margin:0;font-size:.98rem}.section-note a{border-bottom:1px solid var(--clay);color:var(--clay)}.work{background:var(--paper)}.work-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:clamp(1rem,2vw,1.75rem);gap:clamp(1rem,2vw,1.75rem)}.project{grid-column:span 3;display:block}.project.large{grid-column:span 4}.project.tall{grid-column:span 2}.project figure{overflow:hidden;aspect-ratio:16/11;background:var(--cream-2)}.project.tall figure{aspect-ratio:4/5}.project.large figure{aspect-ratio:16/10}.project img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .6s}.project:hover img{transform:scale(1.04)}.project-meta{padding-top:1rem;display:grid;grid-template-columns:auto 1fr;grid-gap:.2rem 1rem;gap:.2rem 1rem;align-items:baseline}.project-meta .num{font-size:.72rem;letter-spacing:.16em;color:var(--clay);font-weight:600;grid-row:span 2;padding-top:.5rem}.project-meta h3{font-size:1.35rem}.project-meta p{color:var(--ink-2);font-size:.95rem;margin:0}.project.tall .project-meta p{display:none}.work .center{margin-top:3.5rem}.services{background:var(--ink);color:var(--on-ink)}.services .eyebrow{color:var(--gold)}.services .eyebrow:before{background:var(--gold)}.services h2 em{color:var(--gold-soft)}.services .section-note{color:color-mix(in srgb,var(--on-ink) 70%,transparent)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:color-mix(in srgb,var(--on-ink) 14%,transparent);border:1px solid color-mix(in srgb,var(--on-ink) 14%,transparent)}.service{background:var(--ink);padding:clamp(1.6rem,3vw,2.6rem);position:relative;transition:background .4s}.service:hover{background:var(--ink-hover)}.service .num{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:1.1rem;color:var(--gold);display:block;margin-bottom:2.2rem}.service h3{font-size:1.4rem;margin-bottom:.8rem}.service p{color:color-mix(in srgb,var(--on-ink) 72%,transparent);font-size:.97rem;margin:0}.service:after{content:"→";position:absolute;right:1.6rem;top:1.6rem;color:var(--gold);opacity:0;transform:translateX(-8px);transition:opacity .35s,transform .35s var(--ease)}.service:hover:after{opacity:1;transform:none}.grid-process{display:grid;grid-template-columns:1fr 1.1fr;grid-gap:clamp(2.5rem,6vw,6rem);gap:clamp(2.5rem,6vw,6rem);align-items:start}.grid-about>*,.grid-contact>*,.grid-process>*,.grid-why>*{min-width:0}.process-media{position:-webkit-sticky;position:sticky;top:110px}.process-media img{width:100%;aspect-ratio:7/5;object-fit:cover;box-shadow:var(--shadow)}.process-media blockquote{margin:-2.2rem 0 0 auto;width:max-content;max-width:90%;background:var(--clay);color:var(--on-accent);padding:1.1rem 1.6rem;position:relative;font-family:var(--font-display);font-style:italic;font-size:1.2rem}.process-media blockquote p{margin:0}.process h2{margin-bottom:2.4rem}.steps,.steps li{display:grid}.steps li{grid-template-columns:72px 1fr;grid-gap:1rem;gap:1rem;padding:1.6rem 0;border-top:1px solid var(--line)}.steps li:last-child{border-bottom:1px solid var(--line)}.roman{font-family:var(--font-display);font-weight:300;font-size:2rem;line-height:1;color:var(--clay)}.steps h3{font-size:1.3rem;margin-bottom:.4rem}.steps p{margin:0;color:var(--ink-2);font-size:.98rem}.grid-about{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:clamp(2.5rem,6vw,6rem);gap:clamp(2.5rem,6vw,6rem);align-items:center}.about h2{margin-bottom:1.4rem}.about-copy p{color:var(--ink-2);max-width:58ch}.about-media{position:relative}.about-media img{width:100%;aspect-ratio:4/5;object-fit:cover;box-shadow:var(--shadow)}.about-media:before{content:"";position:absolute;inset:1.4rem -1.4rem -1.4rem 1.4rem;border:1px solid var(--clay);z-index:-1}.about-media figcaption{margin-top:1rem;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}.contact{background:var(--paper)}.grid-contact{display:grid;grid-template-columns:1fr 1.1fr;grid-gap:clamp(2.5rem,6vw,6rem);gap:clamp(2.5rem,6vw,6rem);align-items:start}.contact h2{margin-bottom:1.4rem}.contact-copy p{color:var(--ink-2);max-width:50ch}.contact-points{margin-top:2rem;display:grid;grid-gap:.9rem;gap:.9rem}.contact-points li{display:grid;grid-template-columns:110px 1fr;grid-gap:1rem;gap:1rem;font-weight:500;padding-bottom:.9rem;border-bottom:1px solid var(--line)}.contact-points span{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;padding-top:.25em}.contact-points a{color:var(--clay)}.contact-form{background:var(--cream);padding:clamp(1.6rem,3vw,2.6rem);border:1px solid var(--line);display:grid;grid-gap:1.1rem;gap:1.1rem}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.1rem;gap:1.1rem}.contact-form label{display:grid;grid-gap:.4rem;gap:.4rem;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--ink-2)}.contact-form input,.contact-form select,.contact-form textarea{font:inherit;font-family:var(--font-text);font-size:1rem;letter-spacing:0;text-transform:none;font-weight:400;padding:.85rem 1rem;border:1px solid var(--line);background:var(--field);color:var(--ink);border-radius:var(--radius);width:100%;transition:border-color .3s,box-shadow .3s}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-color:var(--clay);box-shadow:0 0 0 3px var(--accent-ring)}.contact-form textarea{resize:vertical}.contact-form .invalid{border-color:var(--clay)}.form-note{font-size:.82rem;color:var(--muted)}.form-note,.form-status{margin:0;text-align:center}.form-status{font-size:.95rem;color:var(--sage);font-weight:600;min-height:1.4em}.form-status.error{color:var(--clay)}.site-footer{background:var(--ink);color:var(--on-ink);padding-top:clamp(3.5rem,7vw,5.5rem);position:relative;z-index:1}.grid-footer{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;grid-gap:2.5rem;gap:2.5rem;padding-bottom:3rem}.footer-brand p{color:color-mix(in srgb,var(--on-ink) 70%,transparent);max-width:34ch;margin-top:1.4rem;font-size:.95rem}.footer-col{display:flex;flex-direction:column;gap:.55rem;font-size:.95rem;color:color-mix(in srgb,var(--on-ink) 78%,transparent)}.footer-col h4{font-family:var(--font-text);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem}.footer-col a:hover{color:var(--on-ink)}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 2rem;padding-block:1.4rem;border-top:1px solid color-mix(in srgb,var(--on-ink) 14%,transparent);font-size:.8rem;color:color-mix(in srgb,var(--on-ink) 60%,transparent)}.sticky-call{display:none;position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:40;background:var(--clay);color:var(--on-accent);text-align:center;padding:1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;box-shadow:0 10px 30px rgba(0,0,0,.25);border-radius:var(--radius)}.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.in{opacity:1;transform:none}.hero .reveal{transform:translateY(18px)}.hero .reveal:first-child{transition-delay:.15s}.hero .reveal:nth-child(2){transition-delay:.3s}.hero .reveal:nth-child(3){transition-delay:.45s}.hero .reveal:nth-child(4){transition-delay:.6s}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero-media img{animation:none;transform:none}html{scroll-behavior:auto}}html[data-theme=noir]{--cream:#141311;--cream-2:#1d1b18;--paper:#191714;--ink:#f2ede4;--ink-2:#c9c1b4;--muted:#8f877b;--line:rgba(242,237,228,0.14);--clay:#d9a441;--clay-deep:#b8882f;--sage:#9fb39a;--gold:#d9a441;--gold-soft:#b8882f;--hero-em:#e9c572;--on-ink:#141311;--ink-hover:#e6dfd3;--on-accent:#141311;--field:#1f1d19;--grain:0.18;--scrim:10,9,8;--accent-ring:rgba(217,164,65,0.25);--shadow:0 30px 60px -30px rgba(0,0,0,0.8);--radius:0;--font-display:var(--font-bricolage),"Helvetica Neue",Arial,sans-serif;--display-weight:600;--display-tracking:-0.035em;--em-style:normal}html[data-theme=noir] body:before{mix-blend-mode:screen}html[data-theme=noir] h1 em,html[data-theme=noir] h2 em{font-weight:300}html[data-theme=noir] .site-header.scrolled{box-shadow:0 1px 0 var(--line)}html[data-theme=noir] .services{border-top:1px solid var(--line)}html[data-theme=noir] .service .num{font-style:normal;font-weight:500;letter-spacing:.1em;font-size:.8rem}html[data-theme=noir] .roman{font-weight:500;font-size:1.6rem}html[data-theme=noir] .process-media blockquote{font-style:normal;font-weight:500;font-size:1.05rem}html[data-theme=noir] .about-media:before{border-color:var(--line)}html[data-theme=noir] .project figure,html[data-theme=noir] .why-photos figure{outline:1px solid var(--line);outline-offset:-1px}html[data-theme=noir] .eyebrow{font-weight:500}html[data-theme=nordic]{--cream:#f6f5f1;--cream-2:#ebe9e2;--paper:#fdfdfb;--ink:#1b2a24;--ink-2:#4b5852;--muted:#7d8882;--line:rgba(27,42,36,0.12);--clay:#44685a;--clay-deep:#334f44;--sage:#44685a;--gold:#b7a77e;--gold-soft:#d8cfb5;--hero-em:#d8cfb5;--on-ink:#f6f5f1;--ink-hover:#26382f;--on-accent:#fff;--field:#fff;--grain:0.12;--scrim:14,24,20;--accent-ring:rgba(68,104,90,0.18);--radius:999px;--font-display:var(--font-cormorant),Georgia,serif;--font-text:var(--font-jost),"Helvetica Neue",Arial,sans-serif;--display-weight:500;--display-tracking:-0.005em;--em-style:italic}html[data-theme=nordic] h2{font-size:clamp(2.3rem,4.8vw,3.9rem)}html[data-theme=nordic] .hero h1{font-size:clamp(3rem,7.6vw,6.2rem)}html[data-theme=nordic] h3{font-size:1.6rem}html[data-theme=nordic] .project-meta h3,html[data-theme=nordic] .service h3,html[data-theme=nordic] .steps h3{font-size:1.55rem}html[data-theme=nordic] .eyebrow:before{display:none}html[data-theme=nordic] .eyebrow{letter-spacing:.26em;font-weight:500}html[data-theme=nordic] .btn{padding-inline:1.9rem}html[data-theme=nordic] .about-media img,html[data-theme=nordic] .contact-form,html[data-theme=nordic] .contact-form input,html[data-theme=nordic] .contact-form select,html[data-theme=nordic] .contact-form textarea,html[data-theme=nordic] .process-media img,html[data-theme=nordic] .project figure,html[data-theme=nordic] .sticky-call,html[data-theme=nordic] .why-photos figure{border-radius:18px}html[data-theme=nordic] .process-media blockquote{border-radius:18px 18px 18px 4px}html[data-theme=nordic] .about-media:before{border-radius:18px}html[data-theme=nordic] .service-grid{gap:1rem;background:none;border:0}html[data-theme=nordic] .service{border:1px solid var(--line);border-radius:18px}html[data-theme=nordic] .services{background:var(--cream-2);color:var(--ink)}html[data-theme=nordic] .services .eyebrow,html[data-theme=nordic] .services h2 em{color:var(--clay)}html[data-theme=nordic] .services .section-note{color:var(--ink-2)}html[data-theme=nordic] .service{background:var(--paper)}html[data-theme=nordic] .service:hover{background:#fff}html[data-theme=nordic] .service p{color:var(--ink-2)}html[data-theme=nordic] .service .num,html[data-theme=nordic] .service:after{color:var(--clay)}html[data-theme=nordic] .footer-col h4{color:var(--gold-soft)}.theme-switch{position:fixed;right:1.1rem;bottom:1.1rem;z-index:45;font-family:var(--font-text)}.theme-switch-btn{display:inline-flex;align-items:center;gap:.55rem;padding:.7rem 1rem .7rem .8rem;background:var(--ink);color:var(--on-ink);border:1px solid var(--line);border-radius:999px;font:600 .78rem/1 var(--font-text);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;box-shadow:0 12px 30px -10px rgba(0,0,0,.45);transition:transform .3s var(--ease)}.theme-switch-btn:hover{transform:translateY(-2px)}.theme-dots{display:inline-flex;gap:3px}.theme-dots i,.theme-opt i{width:10px;height:10px;border-radius:50%;display:inline-block;border:1px solid rgba(0,0,0,.15)}.theme-menu{position:absolute;right:0;bottom:calc(100% + .6rem);min-width:230px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:.5rem;box-shadow:0 24px 50px -20px rgba(0,0,0,.45);display:grid;grid-gap:2px;gap:2px;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .25s,transform .3s var(--ease)}.theme-switch.open .theme-menu{opacity:1;transform:none;pointer-events:auto}.theme-menu-title{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding:.5rem .7rem .3rem;font-weight:600}.theme-opt{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:.7rem;gap:.7rem;text-align:left;padding:.65rem .7rem;border:0;background:none;color:inherit;border-radius:10px;cursor:pointer;font:inherit}.theme-opt:hover,.theme-opt[aria-checked=true]{background:var(--cream-2)}.theme-opt[aria-checked=true]:after{content:"✓";font-size:.85rem;color:var(--clay)}.theme-opt strong{display:block;font-size:.92rem;font-weight:600}.theme-opt small{display:block;font-size:.75rem;color:var(--muted)}.theme-opt .swatch{display:inline-grid;grid-template-columns:1fr 1fr;width:26px;height:26px;border-radius:7px;overflow:hidden;border:1px solid var(--line)}.theme-opt .swatch b{display:block}@media (max-width:860px){.theme-switch{bottom:5.2rem;right:1rem}.theme-switch-btn span.label{display:none}.theme-switch-btn{padding:.75rem .85rem}}@media (max-width:1024px){.work-grid{grid-template-columns:repeat(2,1fr)}.project,.project.large,.project.tall{grid-column:span 1}.project.large figure,.project.tall figure{aspect-ratio:16/11}.project.tall .project-meta p{display:block}.service-grid{grid-template-columns:repeat(2,1fr)}.grid-footer{grid-template-columns:1fr 1fr}}@media (max-width:860px){.header-actions .btn,.nav,.phone{display:none}.menu-toggle{display:block}.header-inner{height:70px}.grid-about,.grid-contact,.grid-process,.grid-why{grid-template-columns:1fr}.process-media{position:static}.section-head{flex-direction:column;align-items:start}.about-media{order:-1;margin-inline:0 1.4rem}.sticky-call{display:block}body{padding-bottom:4.5rem}.hero-scroll{display:none}}@media (max-width:560px){.work-grid{grid-template-columns:1fr}.why-photos figure:nth-child(2),.why-photos figure:nth-child(3){transform:none}.contact-points li,.field-row,.grid-footer,.service-grid{grid-template-columns:1fr}.contact-points li{gap:.2rem}.steps li{grid-template-columns:48px 1fr}.roman{font-size:1.5rem}}