@charset "UTF-8";
:root{--bg:#102e27;--ink:#f0f0e5;--gold:#d7ba77;--muted:#aabeb2;--line:#ffffff24;--paper:#ecece1;--black:#163a30}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}::selection{background:var(--gold);color:var(--bg)}.skip{position:absolute;left:20px;top:-70px;background:var(--gold);color:var(--bg);padding:15px;z-index:99}.skip:focus{top:15px}.header{height:104px;padding:0 5%;display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--line);position:relative;z-index:20}.brand{margin-right:auto;display:block}.brand img{object-fit:contain;width:108px;height:76px;display:block}.header nav{display:flex;gap:29px;font-size:13px}.header nav a:hover,.text-link:hover{color:var(--gold)}.header-cta{font-size:13px;border-bottom:1px solid #bfa770;padding:12px 0;display:flex;gap:25px}.menu{display:none}.mobile-nav[hidden]{display:none}.mobile-nav{position:absolute;top:80px;left:0;right:0;padding:20px 6%;background:var(--bg);z-index:21;display:grid;gap:20px;box-shadow:0 20px 30px #0003}.hero{min-height:790px;position:relative;padding:78px 5% 0;display:grid;grid-template-columns:1.02fr 1fr;gap:0;overflow:hidden;background:radial-gradient(ellipse at 78% 45%,#244d3c 0,transparent 53%)}.hero-copy{z-index:2;pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow,.section-label,.model-topline,.hero-bottom,.service-meta,.process article>span,footer{font-size:10px;letter-spacing:1.6px;line-height:1.6}.eyebrow{color:#c4cdbf;display:flex;align-items:center;gap:12px}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 15px #e3ca7580}h1,h2,h3,p{margin:0}h1{font-size:clamp(58px,6.25vw,96px);font-weight:400;line-height:.99;letter-spacing:-5px;margin:36px 0 30px;white-space:nowrap}em{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-style:italic;color:var(--gold)}.hero-lead{max-width:430px;font-size:17px;line-height:1.65;color:#bdcbbf}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:54px;padding:17px 22px;font-size:13px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.gold{background:var(--gold);color:#163328}.light{background:var(--paper);color:var(--black)}.dark{background:var(--bg);color:var(--paper)}.text-link{font-size:12px;display:flex;gap:15px}.model-wrap{position:relative;min-height:570px;margin-top:2px}.model-topline{display:flex;justify-content:space-between;position:absolute;top:3px;width:100%;color:#9db5a5;font-size:8px;letter-spacing:1.3px;z-index:2}.model-status{color:var(--gold)}#building{width:100%;height:560px;display:block;touch-action:pan-y;cursor:grab}.model-controls{display:flex;gap:5px;justify-content:center;position:absolute;bottom:42px;left:0;right:0}.model-controls button{background:#122d27cc;color:#b9c9ba;border:1px solid #56705c;min-height:38px;padding:9px 13px;font-size:10px}.model-controls button[aria-pressed=true]{color:#18392f;background:var(--gold);border-color:var(--gold)}#motion{width:38px;padding:5px}.model-caption{position:absolute;bottom:16px;width:100%;text-align:center;font-size:10px;color:#91aa99}.hero-bottom{grid-column:1/-1;align-self:end;display:flex;justify-content:space-between;align-items:center;margin-top:30px;padding:24px 0;border-top:1px solid var(--line);color:#a5b7a8}.hero-bottom a{display:flex;gap:36px;color:var(--ink)}.section{padding:96px 7%}.section-label{margin-bottom:48px;color:#90aa98}.intro{background:var(--paper);color:var(--black)}.intro .section-label,.audit .section-label{color:#557265}.intro-heading{display:grid;grid-template-columns:1.4fr 1fr;align-items:end;gap:60px;margin-bottom:50px}h2{font-size:clamp(38px,4.1vw,64px);font-weight:400;letter-spacing:-2.5px;line-height:1.08}h2>span{color:#718477}.intro-heading p{max-width:380px;font-size:15px;line-height:1.75;color:#52675b;padding-bottom:5px}.service-list{border-top:1px solid #203f3530}.service-list details{border-bottom:1px solid #203f3530}.service-list summary{list-style:none;display:flex;align-items:center;gap:35px;padding:26px 0;cursor:pointer}.service-list summary::-webkit-details-marker{display:none}.num{color:#7d8d80;font-size:11px;min-width:24px}.service-list h3{font-weight:400;font-size:27px;letter-spacing:-.8px}.service-meta{margin-left:auto;color:#718477;font-size:8px;letter-spacing:1px}.plus{width:22px;font-size:25px;font-weight:200;transition:transform .2s;text-align:center}.service-list details[open] .plus{transform:rotate(45deg)}.detail{padding:0 55px 30px 59px;display:flex;align-items:end;gap:45px}.detail p{font-size:15px;line-height:1.8;max-width:650px;color:#52675b}.detail a{white-space:nowrap;font-size:12px;border-bottom:1px solid #547261;padding-bottom:9px;margin-left:auto}.design{background:#143a30}.design-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:center}.design-grid h2{font-size:clamp(48px,5.4vw,79px)}.design-grid p{margin:30px 0;max-width:380px;font-size:16px;line-height:1.7;color:#b5c5b6}.blueprint{position:relative;border:1px solid #70927b45}.blueprint svg{width:100%;display:block}.drawing-caption{position:absolute;bottom:13px;width:100%;text-align:center;font-size:9px;color:#99b09d}.design-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:65px;border-top:1px solid var(--line);padding-top:30px}.design-steps span{font-size:10px;color:var(--gold)}.design-steps h3{font-size:19px;font-weight:400;margin:18px 0 12px}.design-steps p{font-size:14px;line-height:1.65;color:#a6bda9;max-width:280px}.audit{background:#deded0;color:var(--black)}.audit-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.audit h2{font-size:clamp(45px,5.1vw,74px)}.audit em{color:#7d6938}.large-copy{font-size:18px;line-height:1.55;margin-top:30px;max-width:370px;color:#506557}.audit-copy>p{font-size:15px;line-height:1.8;color:#506557}.audit-copy ol{padding:0;margin:30px 0;list-style:none}.audit-copy li{display:flex;gap:24px;padding:22px 0;border-top:1px solid #244b3b30}.audit-copy li>span{font-size:10px;color:#667b69;padding-top:3px}.audit-copy h3{font-size:18px;font-weight:400;margin-bottom:10px}.audit-copy li p{font-size:13px;line-height:1.7;color:#506557}.audit-note{font-size:11px;line-height:1.7;color:#687d6c;margin:20px 0 28px;border-left:2px solid #a38b50;padding-left:17px}.approach h2{max-width:850px}.approach h2 span{color:#92ad98}.process{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px;border-top:1px solid var(--line)}.process article{padding:28px 28px 0 0}.process article+article{border-left:1px solid var(--line);padding-left:28px}.process article>span{font-size:9px;color:var(--gold)}.process h3{font-size:24px;font-weight:400;line-height:1.2;letter-spacing:-.5px;margin:26px 0 20px}.process p{font-size:13px;line-height:1.7;color:#a6bda9}.contact{background:#194538;border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.contact h2{font-size:clamp(50px,5.7vw,84px)}.contact-grid>div>p{font-size:16px;line-height:1.7;color:#b6c8b6;margin-bottom:30px;max-width:420px}.contact-line{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #91a68770;font-size:clamp(22px,2.5vw,37px);letter-spacing:-1px;padding:20px 0;white-space:nowrap}.contact-line span{font-size:25px;color:var(--gold)}.contact-line:hover{color:var(--gold)}.contact-grid>div>p.contact-small{font-size:12px;margin:24px 0 0;color:#9db79f;max-width:340px}footer{padding:28px 5%;display:flex;justify-content:space-between;gap:20px;color:#92ad98;font-size:8px}.noscript-model{position:absolute;inset:100px 20px;display:grid;place-items:center;background:#214a39;line-height:1.8}
@media(min-width:1500px){.hero{padding-top:95px;min-height:900px}#building{height:650px}.model-wrap{min-height:650px}.section{padding-left:max(7%,calc((100vw - 1350px)/2));padding-right:max(7%,calc((100vw - 1350px)/2))}}@media(max-width:1050px){.header{gap:25px}.header nav{gap:17px;font-size:12px}.hero{min-height:710px;padding-top:65px}h1{font-size:65px;letter-spacing:-3px}.hero-actions{gap:20px;flex-wrap:wrap}.model-wrap{min-height:525px}#building{height:510px}.hero-lead{max-width:350px;font-size:15px}.service-meta{display:none}.detail{display:block}.detail a{display:inline-block;margin-top:18px}.section{padding:75px 6%}.design-grid,.audit-grid,.contact-grid{gap:45px}.process h3{font-size:21px}}
@media(max-width:760px){html{scroll-padding-top:20px}.header{height:80px;padding:0 6%;gap:20px}.brand img{width:88px;height:62px}.header nav,.header-cta{display:none}.menu{display:flex;background:none;border:0;color:var(--ink);gap:20px;align-items:center;font-size:12px;min-height:44px}.menu span{font-size:24px}.hero{display:block;padding:45px 6% 0;min-height:0}.eyebrow{font-size:8px;letter-spacing:1.2px}h1{font-size:clamp(44px,9.5vw,71px);letter-spacing:-2.4px;margin:25px 0 24px;line-height:1.04;white-space:normal}.hero-lead{max-width:470px;font-size:14px;line-height:1.7}.hero-actions{margin-top:26px;gap:20px}.button{min-height:50px;padding:16px 20px;font-size:12px}.text-link{font-size:11px}.model-wrap{height:420px;min-height:0;margin:40px -3% 0}.model-topline{padding:0 3%;font-size:7px}#building{height:420px}.model-controls{bottom:35px}.model-caption{bottom:9px;font-size:9px}.hero-bottom{font-size:7px;margin-top:15px;padding:19px 0;gap:20px}.hero-bottom>span{max-width:150px}.hero-bottom a{gap:15px;font-size:8px}.section{padding:62px 6%}.section-label{font-size:8px;margin-bottom:30px}h2{font-size:39px;letter-spacing:-1.6px}.intro-heading{display:block;margin-bottom:30px}.intro-heading p{margin-top:25px;font-size:14px}.service-list summary{gap:17px;padding:22px 0}.num{min-width:15px;font-size:9px}.service-list h3{font-size:20px;letter-spacing:-.5px}.plus{margin-left:auto}.detail{padding:0 0 25px 32px}.detail p{font-size:13px}.detail a{font-size:11px}.design-grid,.audit-grid,.contact-grid{display:block}.design-grid h2,.audit h2{font-size:48px}.design-grid p{font-size:14px;margin:25px 0}.blueprint{margin-top:40px}.design-steps{grid-template-columns:1fr;gap:0;margin-top:35px;padding-top:0}.design-steps>div{position:relative;padding:24px 0 24px 38px;border-bottom:1px solid var(--line)}.design-steps span{position:absolute;top:28px;left:0}.design-steps h3{margin:0 0 10px;font-size:18px}.design-steps p{max-width:none;font-size:13px}.large-copy{font-size:17px;margin:25px 0 35px}.audit-copy>p{font-size:14px}.process{grid-template-columns:1fr 1fr;margin-top:35px;gap:0}.process article{padding:25px 20px 25px 0}.process article+article{padding-left:20px}.process article:nth-child(3){border-left:0;padding-left:0}.process article:nth-child(n+3){border-top:1px solid var(--line)}.process h3{font-size:20px;margin:20px 0 15px}.process p{font-size:12px}.process article>span{font-size:8px}.contact h2{font-size:51px;margin-bottom:35px}.contact-grid>div>p{font-size:14px}.contact-line{font-size:27px;letter-spacing:-.5px}.contact-line.email{font-size:25px}footer{padding:25px 6%;flex-wrap:wrap;font-size:8px;gap:14px}footer>span:nth-child(2){order:3;width:100%;font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media(max-width:360px){h1{font-size:43px}.hero-actions{gap:17px}.text-link{font-size:10px}.model-wrap,#building{height:360px}.service-list h3{font-size:18px}.contact-line{font-size:24px}.contact-line.email{font-size:23px}}

.model-caption button{background:none;border:0;border-bottom:1px solid #91aa9966;color:inherit;font-size:inherit;padding:5px 2px;line-height:1.3}.model-caption button[hidden]{display:none}

@media(max-width:360px){.audit h2{font-size:42px}.process{grid-template-columns:1fr}.process article,.process article+article{border-left:0;border-top:1px solid var(--line);padding:25px 0}.process article:first-child{border-top:0}}

/* Font-independent icons and readable supporting copy. */
.arrow-icon{width:1.05em;height:1.05em;display:inline-block;vertical-align:-.12em;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
#motion{display:grid;place-items:center}#motion::before{content:"";width:7px;height:11px;border-left:2px solid currentColor;border-right:2px solid currentColor}#motion[data-paused="true"]::before{width:0;height:0;border-left:8px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:0}
.hero-lead,.intro-heading p,.detail p,.design-grid p,.design-steps p,.audit-copy>p,.audit-copy li p,.audit-note,.process p,.contact-grid>div>p,.contact-grid>div>p.contact-small{font-size:16px;line-height:1.7}
.detail a{font-size:14px}.text-link{font-size:13px}.model-controls button{font-size:11px;padding:9px}.model-controls #motion{padding:5px}
/* Team experience: compact, source-backed object groups and photo galleries. */
.portfolio{background:#e5e7dc;color:#173c30}
.portfolio-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:30px}
.portfolio-heading p{font-size:17px;line-height:1.7;max-width:460px;color:#536d5c}
.portfolio-index{display:flex;flex-wrap:wrap;gap:10px 26px;padding:0 0 30px;font-size:12px;line-height:1.6;color:#607467}
.portfolio-index span{display:inline-flex;align-items:center;gap:8px}
.portfolio-index strong{font-weight:400;color:#173c30}
.portfolio-groups{border-top:1px solid #173c3033}
.portfolio-group{border-bottom:1px solid #173c3033;min-width:0}
.portfolio-group>summary{list-style:none;display:grid;grid-template-columns:32px minmax(0,1fr) auto 26px;align-items:center;gap:20px;padding:27px 0;cursor:pointer}
.portfolio-group>summary::-webkit-details-marker,.portfolio-object>summary::-webkit-details-marker{display:none}
.portfolio-group-number{font-size:11px;color:#6a7e6c}
.portfolio-group h3{font-size:clamp(22px,2.5vw,32px);font-weight:400;line-height:1.2;letter-spacing:-.8px}
.portfolio-group-count{font-size:12px;line-height:1.5;color:#607467;text-align:right;max-width:155px}
.portfolio-toggle{font-size:27px;font-weight:400;line-height:1;text-align:center;transition:transform .2s}
.portfolio-group[open]>summary .portfolio-toggle,.portfolio-object[open]>summary .portfolio-toggle{transform:rotate(45deg)}
.portfolio-group-body{padding:0 0 35px 52px;min-width:0}
.portfolio-group-intro{font-size:14px;line-height:1.7;max-width:800px;color:#536d5c;margin-bottom:25px}
.portfolio-objects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;align-items:start}
.portfolio-object{min-width:0;border-top:1px solid #173c3025}
.portfolio-object>summary{list-style:none;display:grid;grid-template-columns:110px minmax(0,1fr) 20px;align-items:center;gap:18px;padding:20px 0;cursor:pointer;min-width:0}
.portfolio-cover{display:block;width:110px;max-width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#d4d9cd}
.portfolio-object-title{font-size:19px;font-weight:400;line-height:1.25;letter-spacing:-.35px;overflow-wrap:anywhere}
.portfolio-object-meta{display:block;font-size:12px;line-height:1.6;color:#607467;margin-top:7px}
.portfolio-object .portfolio-toggle{font-size:23px}
.portfolio-object-body{padding:0 0 22px;min-width:0}
.portfolio-object-scope{font-size:14px;line-height:1.7;color:#536d5c;margin-bottom:15px}
.portfolio-object-status{font-size:12px;line-height:1.6;color:#536d5c;margin:12px 0 0}
.portfolio-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}
.portfolio-gallery figure{margin:0;min-width:0}
.portfolio-photo{display:block;background:#d4d9cd;min-width:0;position:relative}
.portfolio-photo img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.portfolio-photo:hover{outline:1px solid #6b806d;outline-offset:3px}
.portfolio-photo:focus-visible,.portfolio-group>summary:focus-visible,.portfolio-object>summary:focus-visible{outline-color:#496b50;outline-offset:4px}
.portfolio-gallery figcaption{font-size:11px;line-height:1.5;color:#607467;margin-top:7px;overflow-wrap:anywhere}
.portfolio-gallery-hint{font-size:12px;line-height:1.6;color:#607467;margin-top:16px}
.portfolio-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 40px;min-width:0}
.portfolio-record{padding:23px 0 0;border-top:1px solid #173c3025;min-width:0}
.portfolio-record-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px}
.portfolio-record h4{font-size:21px;line-height:1.3;letter-spacing:-.4px;font-weight:400;margin:0;overflow-wrap:anywhere}
.portfolio-record-time{font-size:12px;line-height:1.6;color:#607467;flex-shrink:0;text-align:right;max-width:115px}
.portfolio-record p{font-size:15px;line-height:1.7;color:#536d5c}
.portfolio-record p.portfolio-record-kind{font-size:11px;line-height:1.5;letter-spacing:.6px;text-transform:uppercase;color:#5f745f;margin-bottom:12px}
.portfolio-record p.portfolio-record-status{font-size:12px;line-height:1.65;margin-top:12px;color:#607467}
.portfolio-note{font-size:13px;line-height:1.7;color:#607467;max-width:920px;margin-top:30px}
.portfolio-lightbox{color:#f0f0e5;background:#102e27;border:1px solid #56705c;border-radius:0;padding:20px;width:min(94vw,1320px);max-width:94vw;max-height:94vh;max-height:94dvh;overflow:auto}
.portfolio-lightbox::backdrop{background:#061c17ed}
.portfolio-lightbox:not([open]){display:none}
.portfolio-lightbox[open]{display:grid;grid-template-rows:64px minmax(0,1fr) 72px 44px;gap:14px;height:min(94vh,1000px);height:min(94dvh,1000px)}
.portfolio-lightbox-head{display:flex;justify-content:space-between;align-items:start;gap:20px;margin:0;min-height:0;overflow:hidden}
.portfolio-lightbox h2{font-family:Arial,Helvetica,sans-serif;font-size:21px;line-height:1.3;font-weight:400;letter-spacing:-.35px;max-height:64px;overflow:auto}
.portfolio-lightbox-close{background:none;border:1px solid #6b8571;color:#f0f0e5;min-width:44px;min-height:44px;padding:10px 14px;font-size:12px;flex-shrink:0}
.portfolio-lightbox-frame{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:#0b231d}
.portfolio-lightbox-image{display:block;flex:0 1 auto;width:auto;height:auto;max-width:100%;max-height:80vh;max-height:100%;margin:0;object-fit:contain}
.portfolio-lightbox-description{font-size:13px;line-height:1.65;color:#b6c8b6;margin:0;min-height:0;overflow:auto;overflow-wrap:anywhere}
.portfolio-lightbox-nav{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0;min-height:0}
.portfolio-lightbox-nav button{min-height:44px;min-width:44px;border:1px solid #6b8571;color:#f0f0e5;background:none;padding:10px 16px;font-size:12px}
.portfolio-lightbox-nav button:disabled{opacity:.4;cursor:default}
.portfolio-lightbox-count{font-size:12px;color:#b6c8b6;text-align:center}
body.portfolio-dialog-open{overflow:hidden}
@media(max-width:1050px){.portfolio-group-body{padding-left:0}.portfolio-objects{gap:0 22px}.portfolio-object>summary{grid-template-columns:88px minmax(0,1fr) 18px;gap:14px}.portfolio-cover{width:88px}.portfolio-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-record-heading{display:block}.portfolio-record-time{display:block;text-align:left;max-width:none;margin-top:8px}}
@media(max-width:760px){.portfolio-heading{display:block;margin-bottom:25px}.portfolio-heading p{margin-top:25px;font-size:16px}.portfolio-index{gap:6px 18px;padding-bottom:25px;font-size:12px}.portfolio-group>summary{grid-template-columns:22px minmax(0,1fr) 20px;gap:12px;padding:23px 0}.portfolio-group h3{font-size:24px;letter-spacing:-.5px}.portfolio-group-count{grid-column:2;grid-row:2;text-align:left;max-width:none;font-size:12px;margin-top:-3px}.portfolio-group>summary>.portfolio-toggle{grid-column:3;grid-row:1/3}.portfolio-group-number{align-self:start;padding-top:6px}.portfolio-group-body{padding-bottom:27px}.portfolio-group-intro{font-size:14px;margin-bottom:18px}.portfolio-objects,.portfolio-records{grid-template-columns:1fr;gap:0}.portfolio-object>summary{grid-template-columns:90px minmax(0,1fr) 20px;gap:15px;padding:17px 0}.portfolio-cover{width:90px}.portfolio-object-title{font-size:20px}.portfolio-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.portfolio-record{padding:22px 0}.portfolio-record:last-child{padding-bottom:0}.portfolio-record h4{font-size:21px}.portfolio-record p{font-size:15px}.portfolio-note{font-size:13px;margin-top:25px}.portfolio-lightbox{padding:14px;max-height:96dvh}.portfolio-lightbox h2{font-size:18px}.portfolio-lightbox-head{gap:14px;margin:0}.portfolio-lightbox-description{font-size:12px}.portfolio-lightbox-nav{gap:8px}.portfolio-lightbox-nav button{padding:10px 12px}}
@media(max-width:420px){.portfolio-object>summary{grid-template-columns:72px minmax(0,1fr) 18px;gap:12px}.portfolio-cover{width:72px}.portfolio-object-title{font-size:18px}.portfolio-object-meta{font-size:11px}.portfolio-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-group h3{font-size:22px}.portfolio-group-intro,.portfolio-object-scope{font-size:13px}.portfolio-record p{font-size:14px}.portfolio-lightbox-close{font-size:11px;padding:9px}.portfolio-lightbox-nav button{font-size:11px}.portfolio-lightbox-count{font-size:11px}}

.portfolio-photo-credit{display:block;margin-top:3px;overflow-wrap:anywhere}

/* Multilingual controls: compact flags are decorative; the names identify languages. */
.language-switcher{position:relative;flex:0 0 auto;font-size:12px}
.language-switcher[hidden],.language-options[hidden]{display:none}
.language-toggle{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 10px;color:var(--ink);background:transparent;border:1px solid #7d96735c;border-radius:2px;white-space:nowrap}
.language-toggle:hover,.language-toggle[aria-expanded=true]{border-color:#c8b16a;background:#204737}
.language-flag{display:block;width:21px;height:14px;object-fit:cover;border-radius:1px;box-shadow:0 0 0 1px #ffffff26;flex:0 0 auto}
.language-chevron{margin-left:3px;fill:none;stroke:currentColor;stroke-width:1.2;flex-shrink:0}
.language-options{position:absolute;right:0;top:calc(100% + 9px);z-index:40;width:178px;margin:0;padding:6px;list-style:none;background:#173d31;border:1px solid #6d876b;box-shadow:0 14px 35px #031c1766;border-radius:3px}
.language-options button{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:9px 10px;color:#f0f0e5;background:none;border:0;text-align:left;font-size:13px;border-radius:1px}
.language-options button:hover,.language-options button:focus-visible{background:#2c5340}
.language-options button[aria-pressed=true]{color:var(--gold);background:#284c3a}
.language-check{visibility:hidden;margin-left:auto;font-size:12px}
.language-options button[aria-pressed=true] .language-check{visibility:visible}
.contact-address{padding:23px 0 0;max-width:520px}
.contact-address-label{display:block;color:#d7ba77;font-size:11px;letter-spacing:.08em;margin-bottom:9px}
.contact-address address{font-style:normal;color:#c3d1bf;font-size:15px;line-height:1.65;overflow-wrap:anywhere}
/* Allow natural line lengths in every script, without changing the gallery or lightbox frame. */
.header{gap:24px}.header nav{gap:22px}.header nav a{white-space:nowrap}.header-cta{gap:15px;white-space:nowrap}
.hero-copy,.design-grid>div,.audit-grid>div,.contact-grid>div{min-width:0}
h1{white-space:normal;overflow-wrap:normal;font-size:clamp(55px,5.8vw,90px);letter-spacing:-.045em;max-width:100%}
html:not([lang=ru]) h1{font-size:clamp(48px,5.35vw,82px)}
.detail a{white-space:normal;max-width:230px;flex-shrink:0;line-height:1.5}
.model-topline>span{max-width:55%;line-height:1.5}.model-topline>span:last-child{text-align:right;max-width:42%}
.model-controls{bottom:56px}.model-caption{bottom:9px;line-height:1.5;min-height:28px;padding:0 5px}
.model-controls button{white-space:normal;line-height:1.25}
html[lang^=zh] body{font-family:Arial,"Noto Sans CJK SC","Microsoft YaHei",sans-serif}
html[lang=ja] body{font-family:Arial,"Noto Sans CJK JP","Yu Gothic",Meiryo,sans-serif}
html[lang^=zh] h1,html[lang=ja] h1,html[lang^=zh] h2,html[lang=ja] h2{letter-spacing:0;line-height:1.2}
html[lang^=zh] em,html[lang=ja] em{font-family:inherit;font-style:normal}
html[lang^=zh] .process h3,html[lang=ja] .process h3{line-height:1.4}
@media(max-width:1320px){.header nav,.header-cta{display:none}.menu{display:flex;background:none;border:0;color:var(--ink);gap:14px;align-items:center;font-size:12px;min-height:44px}.menu span{font-size:24px}.mobile-nav{top:104px}.header{gap:20px}}
@media(max-width:760px){.header{gap:13px;padding:0 5%}.mobile-nav{top:80px}.language-toggle{padding:7px 8px;gap:7px;font-size:11px}.language-chevron{margin-left:0}.menu{gap:10px}.brand img{width:80px}.hero h1,html:not([lang=ru]) .hero h1{font-size:clamp(41px,9.2vw,70px);line-height:1.08;letter-spacing:-.04em}.detail a{max-width:none}.contact-address address{font-size:14px}.contact-address-label{font-size:11px}.model-controls{bottom:58px;gap:4px}.model-controls button{max-width:30%;font-size:10px}.model-caption{bottom:10px;min-height:30px}.hero-bottom{align-items:flex-start}.hero-bottom a{max-width:50%}.hero-bottom>span{max-width:46%}html[lang^=zh] .hero h1,html[lang=ja] .hero h1{letter-spacing:0;line-height:1.25}}
@media(max-width:360px){.header{gap:9px}.brand img{width:70px}.language-toggle{padding:6px;gap:5px}.language-flag{width:19px;height:13px}.menu{font-size:11px;gap:7px}.hero h1,html:not([lang=ru]) .hero h1{font-size:40px}.contact h2{font-size:45px}.language-options{right:-40px}}
/* Fit the longest Uzbek contact word without breaking it across lines. */
@media(max-width:760px){html[lang^=uz] .contact h2{font-size:clamp(34px,11.8vw,47px)}}
@media(max-width:360px){.audit h2{font-size:40px}}
/* At narrow tablet widths, keep process columns wide enough for complete words. */
@media(min-width:761px) and (max-width:900px){.process{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.process article{min-width:0}.process article:nth-child(3){border-left:0;padding-left:0}.process article:nth-child(n+3){border-top:1px solid var(--line)}}
