:root{--ink:#171814;--paper:#f2f0e9;--paper-2:#e8e4da;--white:#fff;--muted:#6d6f68;--line:rgba(23,24,20,.16);--accent:#69f432;--accent-deep:#49d614;--max:1500px;--pad:clamp(18px,4.2vw,72px);--display:clamp(3.2rem,8.4vw,8.8rem);--h2:clamp(2.5rem,5.6vw,6.3rem);--h3:clamp(1.5rem,2.2vw,2.5rem)}*{box-sizing:border-box}html{scroll-behavior:smooth;width:100%;max-width:100%;overflow-x:clip}body{margin:0;width:100%;max-width:100%;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}.skip-link{position:fixed;left:16px;top:-80px;z-index:1000;background:#fff;padding:12px 16px;border-radius:4px}.skip-link:focus{top:16px}.site-header{position:fixed;inset:0 0 auto;z-index:70;color:#fff;transition:.3s}.site-header.scrolled{color:var(--ink);background:rgba(242,240,233,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(23,24,20,.08)}.header-inner{height:88px;max-width:var(--max);margin:auto;padding:0 var(--pad);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:40px}.brand{display:flex;align-items:center;gap:10px;font-weight:750;letter-spacing:-.02em}.brand img{width:58px;height:58px;object-fit:contain}.brand span{font-size:1rem}.desktop-nav{justify-self:center;display:flex;gap:clamp(18px,2.2vw,38px)}.desktop-nav a,.header-actions{font-size:.82rem;text-transform:uppercase;letter-spacing:.11em;font-weight:650}.desktop-nav a{position:relative;padding:8px 0}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:currentColor;transition:.28s}.desktop-nav a:hover:after{right:0}.header-actions{display:flex;align-items:center;gap:20px}.language-switcher{display:flex;gap:6px;align-items:center}.language-switcher a{opacity:.5}.language-switcher a.active{opacity:1}.header-cta{border-bottom:1px solid currentColor;padding-bottom:3px}.menu-toggle{display:none;border:0;background:transparent;width:44px;height:44px;padding:9px;position:relative;color:currentColor}.menu-toggle span{position:absolute;left:9px;right:9px;height:1px;background:currentColor}.menu-toggle span:first-child{top:17px}.menu-toggle span:last-child{top:26px}.mobile-menu{position:fixed;inset:0;z-index:90;background:var(--ink);color:#fff}.mobile-menu__inner{min-height:100%;padding:90px 24px 28px;display:flex;flex-direction:column}.mobile-menu__close{position:absolute;right:16px;top:18px;width:48px;height:48px;border:0;background:transparent;color:#fff;font-size:2.4rem}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{font-size:clamp(2.3rem,11vw,4.2rem);letter-spacing:-.055em;line-height:1.05;padding:8px 0}.mobile-menu__bottom{margin-top:auto;padding-top:24px;border-top:1px solid rgba(255,255,255,.2);display:flex;justify-content:space-between;gap:20px}.hero{height:min(100svh,1020px);min-height:680px;position:relative;color:#fff;overflow:hidden;background:#20211d}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.18) 56%,rgba(0,0,0,.12) 100%),linear-gradient(0deg,rgba(0,0,0,.3),transparent 45%)}.hero-content{position:absolute;left:var(--pad);right:var(--pad);bottom:clamp(76px,11vh,128px);max-width:1160px}.kicker,.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:750}.hero h1{font-size:var(--display);line-height:.84;letter-spacing:-.067em;font-weight:530;max-width:12ch;margin:18px 0 28px}.hero-lead{font-size:clamp(1.02rem,1.45vw,1.35rem);max-width:620px;margin:0 0 34px;line-height:1.55}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.button{min-height:52px;padding:0 22px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.84rem;letter-spacing:.03em;transition:.2s;border-radius:0}.button--light{background:#fff;color:#111}.button--light:hover{background:var(--accent)}.button--ghost-light{border-color:rgba(255,255,255,.6);color:#fff}.button--ghost-light:hover{background:#fff;color:#111}.button--dark{background:var(--ink);color:#fff}.button--dark:hover{background:#30322b}.hero-index{position:absolute;right:var(--pad);bottom:36px;left:var(--pad);padding-top:15px;border-top:1px solid rgba(255,255,255,.45);display:flex;justify-content:space-between;text-transform:uppercase;font-size:.68rem;letter-spacing:.12em}.editorial-section{max-width:var(--max);margin:0 auto;padding:clamp(88px,12vw,180px) var(--pad)}.intro-band{display:grid;grid-template-columns:80px 1.35fr .65fr;gap:clamp(20px,4vw,70px);align-items:start;border-bottom:1px solid var(--line)}.section-number{font-size:.74rem;font-weight:700;color:var(--muted)}.intro-copy h2,.section-head h2{font-size:var(--h2);line-height:.92;letter-spacing:-.06em;font-weight:520;margin:16px 0 0;max-width:12ch}.intro-note{align-self:end;max-width:520px;font-size:1.03rem;color:#4e504a}.section-head{display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:end;margin-bottom:clamp(46px,7vw,90px)}.section-head>p{max-width:560px;color:var(--muted);font-size:1rem}.portfolio-section{padding-top:130px}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}.filter-button{min-height:42px;padding:0 15px;border:1px solid var(--line);background:transparent;border-radius:99px;cursor:pointer;color:var(--ink)}.filter-button.active,.filter-button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(26px,4vw,70px) clamp(20px,3vw,48px)}.project-card{min-width:0}.project-card:nth-child(4n+2){padding-top:11vw}.project-card__image{aspect-ratio:4/3;overflow:hidden;background:#d9d5cc;position:relative}.project-card:nth-child(3n) .project-card__image{aspect-ratio:3/4}.project-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.65,.22,1)}.project-card:hover img{transform:scale(1.025)}.project-card__meta{display:flex;justify-content:space-between;gap:22px;padding-top:16px}.project-card h3{font-size:clamp(1.3rem,2vw,2.15rem);line-height:1.08;letter-spacing:-.035em;font-weight:520;margin:0}.project-card__category{font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);padding-top:4px;text-align:right}.demo-badge{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.9);padding:7px 10px;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.portfolio-demo-note{margin-top:48px;border-top:1px solid var(--line);padding-top:18px;display:grid;grid-template-columns:.35fr 1fr;gap:30px;color:var(--muted);font-size:.85rem}.services-section{background:#1a1b17;color:#f5f3ec;max-width:none;padding-left:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));padding-right:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)))}.services-section .section-head>p{color:#b9bbb3}.services-editorial{display:grid;grid-template-columns:1.25fr .75fr;gap:1px;background:rgba(255,255,255,.14)}.service-card{background:#1a1b17;min-height:560px;display:flex;flex-direction:column;position:relative;overflow:hidden}.service-card--featured{grid-row:span 2;min-height:820px}.service-card__media{position:absolute;inset:0}.service-card__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.68))}.service-card__media img{width:100%;height:100%;object-fit:cover}.service-card__content{position:relative;z-index:2;margin-top:auto;padding:clamp(22px,3vw,44px)}.service-number{font-size:.68rem;letter-spacing:.1em;opacity:.75}.service-card h3{font-size:clamp(1.8rem,3.2vw,4rem);line-height:.95;letter-spacing:-.05em;font-weight:520;margin:12px 0 14px;max-width:12ch}.service-card p{max-width:520px;color:#d2d2cb;margin:0 0 20px}.service-link{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid currentColor;padding-bottom:4px;align-self:flex-start}.process-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.process-item{display:grid;grid-template-columns:100px 1fr .7fr;gap:30px;padding:30px 0;border-bottom:1px solid var(--line);align-items:start}.process-item__num{font-size:.78rem;color:var(--muted)}.process-item h3{font-size:clamp(1.45rem,2.8vw,3.1rem);line-height:1;letter-spacing:-.04em;font-weight:520;margin:0}.process-item p{margin:0;color:var(--muted)}.team-section{padding-top:70px}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.team-card{min-width:0}.team-card__photo{aspect-ratio:4/5;background:#dfddd5;overflow:hidden}.team-card__photo img{width:100%;height:100%;object-fit:cover}.team-card h3{margin:16px 0 4px;font-size:1.5rem;letter-spacing:-.03em}.team-card__role{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.team-card__desc{color:#5d5f58;max-width:46ch}.team-placeholder{height:100%;display:grid;place-items:center;background:#d9d6cd}.team-placeholder span{width:86px;height:86px;border-radius:50%;background:#c8c5bc;display:grid;place-items:center;font-size:2rem}.advantages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.advantage{background:var(--paper);padding:34px;min-height:220px;display:flex;flex-direction:column}.advantage span{font-size:.72rem;color:var(--muted)}.advantage h3{font-size:clamp(1.6rem,2.5vw,3rem);line-height:1.02;letter-spacing:-.045em;font-weight:520;margin:auto 0 0}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;border:0;background:none;padding:26px 0;display:grid;grid-template-columns:1fr auto;gap:20px;text-align:left;font-size:clamp(1.15rem,2vw,1.8rem);letter-spacing:-.025em;cursor:pointer;color:var(--ink)}.faq-question span:last-child{font-size:1.4rem}.faq-answer{display:none;max-width:780px;padding:0 0 26px;color:var(--muted)}.faq-item.open .faq-answer{display:block}.custom-section{max-width:var(--max);margin:auto;padding:90px var(--pad);border-top:1px solid var(--line)}.custom-section--image{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.custom-section img{width:100%;max-height:720px;object-fit:cover}.contact-section{background:var(--accent);padding:clamp(70px,10vw,150px) max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,130px)}.contact-intro h2{font-size:clamp(3rem,6vw,7rem);line-height:.88;letter-spacing:-.065em;font-weight:540;margin:18px 0 24px}.contact-intro>p{max-width:540px}.direct-contacts{margin-top:42px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.direct-contacts a,.direct-contacts button{border:0;background:none;padding:3px 0;border-bottom:1px solid currentColor;font-weight:700;cursor:pointer}.lead-form{background:var(--paper);padding:clamp(24px,4vw,54px);align-self:start}.lead-form label,.lead-form fieldset{display:block;margin:0 0 20px}.lead-form label>span,.lead-form legend{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:760;margin-bottom:8px}.lead-form input,.lead-form select,.lead-form textarea{width:100%;border:0;border-bottom:1px solid #a6a69f;background:transparent;border-radius:0;min-height:48px;padding:10px 0;outline:none}.lead-form textarea{resize:vertical}.lead-form input:focus,.lead-form textarea:focus,.lead-form select:focus{border-color:var(--ink)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.lead-form fieldset{border:0;padding:0}.contact-methods{display:flex;flex-wrap:wrap;gap:8px}.contact-methods label{margin:0}.contact-methods input{position:absolute;opacity:0;pointer-events:none}.contact-methods span{min-height:42px!important;padding:10px 14px;border:1px solid var(--line);border-radius:99px;margin:0!important;display:flex!important;align-items:center;cursor:pointer}.contact-methods input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}.file-field{padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.file-field input{border:0;padding:0;min-height:auto}.consent{display:flex!important;gap:10px;align-items:flex-start}.consent input{width:20px;min-height:20px;flex:0 0 auto}.consent span{font-size:.78rem!important;text-transform:none!important;letter-spacing:0!important;font-weight:500!important;margin:2px 0!important}.form-submit{display:flex;gap:20px;align-items:center}.form-submit p{font-size:.85rem;min-height:20px}.honeypot{position:absolute!important;left:-9999px!important}.site-footer{background:#171814;color:#f2f0e9;padding:70px var(--pad) 28px;display:grid;grid-template-columns:1.5fr .7fr .7fr;gap:50px}.site-footer>div:not(.footer-bottom){display:flex;flex-direction:column;align-items:flex-start;gap:8px}.footer-brand img{width:84px;height:84px;object-fit:contain}.footer-brand strong{font-size:1.5rem}.footer-brand p{color:#a8aaa3;max-width:320px}.footer-label{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;color:#a8aaa3}.social-links{display:flex!important;flex-direction:row!important;gap:12px!important;align-items:center!important;flex-wrap:wrap}.social-icon{width:46px;height:46px;border:1px solid rgba(255,255,255,.28);display:grid;place-items:center;transition:.25s}.social-icon:hover{background:#fff;color:#171814}.social-icon svg{width:22px;height:22px}.social-icon span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.footer-bottom{grid-column:1/-1;margin-top:50px;border-top:1px solid rgba(255,255,255,.18);padding-top:18px;display:flex;justify-content:space-between;color:#a8aaa3;font-size:.78rem}.project-view{background:var(--paper)}.project-hero{height:85svh;min-height:620px;position:relative;color:#fff}.project-hero>img{width:100%;height:100%;object-fit:cover}.project-hero__shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.62),transparent 65%)}.project-hero__copy{position:absolute;left:var(--pad);right:var(--pad);bottom:70px;max-width:1100px}.project-back{display:inline-block;margin-bottom:38px;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.project-hero h1{font-size:clamp(3.2rem,8vw,8rem);line-height:.9;letter-spacing:-.06em;font-weight:520;margin:14px 0 18px}.project-hero__copy>p:last-child{max-width:720px;font-size:1.15rem}.project-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);padding-top:0;padding-bottom:0}.project-meta__item{background:var(--paper);padding:32px 0}.project-meta__item span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.project-meta__item strong{display:block;margin-top:8px;font-size:1.2rem;font-weight:550}.project-description{display:grid;grid-template-columns:.5fr 1fr;gap:60px}.project-description h2{font-size:clamp(2.5rem,4vw,5rem);line-height:.95;letter-spacing:-.05em;font-weight:520;margin:0}.project-description p{font-size:1.15rem;line-height:1.75;color:#555750;margin:0;white-space:pre-line}.project-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.project-gallery-grid button{border:0;padding:0;background:none;cursor:zoom-in;overflow:hidden}.project-gallery-grid button:nth-child(5n+1){grid-column:1/-1}.project-gallery-grid img{width:100%;height:100%;max-height:900px;object-fit:cover}.project-cta{background:#171814;color:#fff;padding:110px var(--pad);text-align:center}.project-cta h2{font-size:clamp(3rem,6vw,7rem);line-height:.9;letter-spacing:-.06em;font-weight:520;margin:18px auto 36px}.lightbox{border:0;padding:0;background:rgba(11,12,10,.96);width:100vw;height:100vh;max-width:none;max-height:none;color:#fff}.lightbox::backdrop{background:#111}.lightbox img{width:100%;height:100%;object-fit:contain;padding:50px}.lightbox button{position:absolute;z-index:2;border:0;background:rgba(255,255,255,.08);color:#fff;width:48px;height:48px;cursor:pointer}.lightbox-close{right:18px;top:18px;font-size:2rem}.lightbox-prev{left:18px;top:50%}.lightbox-next{right:18px;top:50%}
@media(max-width:980px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:block}.header-inner{grid-template-columns:1fr auto;height:72px}.team-grid,.advantages-grid{grid-template-columns:repeat(2,1fr)}.section-head{grid-template-columns:1fr;gap:24px}.contact-section{grid-template-columns:1fr}.project-meta{grid-template-columns:repeat(2,1fr)}.project-description{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:720px){:root{--pad:18px}.hero{min-height:640px;height:100svh}.hero-content{bottom:78px}.hero h1{font-size:clamp(3.4rem,16vw,5.5rem);max-width:9.5ch;margin:14px 0 20px}.hero-lead{font-size:.98rem;max-width:38ch}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{width:100%}.hero-index{bottom:18px}.editorial-section{padding-top:92px;padding-bottom:92px}.intro-band{grid-template-columns:1fr}.section-number{display:none}.intro-copy h2,.section-head h2{font-size:clamp(2.75rem,13vw,4.7rem)}.portfolio-grid{grid-template-columns:1fr;gap:48px}.project-card:nth-child(4n+2){padding-top:0}.project-card:nth-child(3n) .project-card__image,.project-card__image{aspect-ratio:4/3}.project-card__meta{align-items:start}.project-card__category{max-width:35%;font-size:.66rem}.portfolio-demo-note{grid-template-columns:1fr}.services-editorial{grid-template-columns:1fr}.service-card,.service-card--featured{min-height:530px;grid-row:auto}.service-card h3{font-size:2.5rem}.process-item{grid-template-columns:48px 1fr}.process-item p{grid-column:2}.team-grid,.advantages-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr;gap:0}.lead-form{padding:26px 18px}.form-submit{flex-direction:column;align-items:stretch}.contact-section{padding-top:80px;padding-bottom:80px}.contact-intro h2{font-size:clamp(3.2rem,15vw,5rem)}.site-footer{grid-template-columns:1fr;padding-left:18px;padding-right:18px}.footer-brand{grid-column:auto}.footer-bottom{grid-column:1}.project-hero{height:78svh;min-height:580px}.project-hero__copy{bottom:44px}.project-hero h1{font-size:clamp(3.2rem,15vw,5.2rem)}.project-meta{grid-template-columns:1fr 1fr;gap:0}.project-meta__item{padding:22px 0}.project-gallery-grid{grid-template-columns:1fr}.project-gallery-grid button:nth-child(5n+1){grid-column:auto}.lightbox img{padding:72px 12px}.filter-row{gap:6px}.filter-button{font-size:.78rem;padding:0 12px}.language-switcher{font-size:.76rem}}
@media(max-width:380px){.brand span{display:none}.header-actions{gap:10px}.hero h1{font-size:3.25rem}.hero-lead{font-size:.92rem}.button{padding:0 16px}.project-card h3{font-size:1.45rem}.contact-methods span{padding-inline:11px;font-size:.78rem}.project-meta{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.project-card:hover img{transform:none}}

/* 2026-09-26 mobile overflow and logo corrections */
html,body,#homeView,#projectView,main,section,header,footer{max-width:100%;overflow-wrap:anywhere} .editorial-section,.intro-band,.contact-section,.site-footer,.header-inner,.project-hero__copy{min-width:0}.portfolio-grid,.services-editorial,.team-grid,.advantages-grid,.project-gallery-grid{min-width:0}.project-card,.service-card,.team-card,.lead-form,.section-head>*{min-width:0}.filter-row{display:flex;flex-wrap:wrap;max-width:100%;overflow:visible}.filter-button{max-width:100%;white-space:normal}.hero-content,.intro-copy,.section-head,.contact-intro{min-width:0}.hero h1,.section-head h2,.intro-copy h2,.contact-intro h2,.project-hero h1{overflow-wrap:break-word;word-break:normal}.lightbox{max-width:100vw;overflow:hidden}
@media(max-width:720px){body{overflow-x:clip}.header-inner{width:100%;gap:12px}.brand{min-width:0}.brand img{width:52px;height:52px;flex:0 0 52px}.brand span{white-space:nowrap}.header-actions{min-width:0}.language-switcher{flex:0 0 auto}.mobile-menu,.mobile-menu__inner{width:100%;max-width:100vw}.hero,.hero-media,.hero-shade{max-width:100vw}.project-card__meta{grid-template-columns:minmax(0,1fr) auto;gap:12px}.project-card__category{max-width:42vw;text-align:right;overflow-wrap:anywhere}.contact-section{width:100%;padding-left:18px;padding-right:18px}.lead-form{width:100%;min-width:0}.site-footer{width:100%;gap:32px}.footer-brand img{width:76px;height:76px}.custom-section--image{grid-template-columns:1fr}.project-hero__copy{left:18px;right:18px}.project-description,.project-meta,.project-gallery-grid{width:100%;min-width:0}.lightbox img{max-width:100vw}}
@media(max-width:380px){.brand img{width:48px;height:48px}.header-inner{padding-left:14px;padding-right:14px}.project-card__category{max-width:38vw}}


/* ===== Luxury editorial upgrade v4 ===== */
:root{--display:clamp(4rem,9.2vw,10rem);--h2:clamp(3rem,6.1vw,7rem);--max:1580px;--luxury-ease:cubic-bezier(.22,.7,.22,1)}
body{font-family:"Helvetica Neue",Helvetica,Arial,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.006em}
.brand img{width:70px;height:70px}.header-inner{height:96px}.brand span{font-weight:600;letter-spacing:.01em}
.hero{min-height:760px;height:100svh}.hero-media img{transform:scale(1.015);animation:heroReveal 1.4s var(--luxury-ease) both}.hero-shade{background:linear-gradient(90deg,rgba(11,12,10,.68) 0%,rgba(11,12,10,.24) 52%,rgba(11,12,10,.08) 100%),linear-gradient(0deg,rgba(0,0,0,.42),transparent 52%)}
.hero-content{bottom:clamp(105px,13vh,160px);max-width:1280px}.hero h1{font-weight:430;line-height:.82;letter-spacing:-.075em;max-width:10.8ch;text-wrap:balance}.hero-lead{font-weight:400;max-width:560px;color:rgba(255,255,255,.84)}
.hero-actions .button{min-height:58px;padding-inline:26px}.hero-index{bottom:30px}.kicker,.eyebrow{letter-spacing:.18em;font-size:.66rem;font-weight:650}
@keyframes heroReveal{from{opacity:.7;transform:scale(1.07)}to{opacity:1;transform:scale(1.015)}}

.intro-copy h2,.section-head h2{font-weight:430;letter-spacing:-.067em}.intro-note,.section-head>p{font-size:1.04rem;line-height:1.7}

.portfolio-section{padding-top:clamp(110px,10vw,170px)}
.portfolio-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(54px,7vw,118px) clamp(18px,2.5vw,40px);align-items:start}
.project-card{grid-column:span 6;padding:0!important;position:relative}
.project-card:nth-child(6n+1){grid-column:1/span 8}
.project-card:nth-child(6n+2){grid-column:9/span 4;margin-top:12vw}
.project-card:nth-child(6n+3){grid-column:2/span 5}
.project-card:nth-child(6n+4){grid-column:8/span 5;margin-top:7vw}
.project-card:nth-child(6n+5){grid-column:1/span 4;margin-top:5vw}
.project-card:nth-child(6n+6){grid-column:5/span 8}
.project-card__image,.project-card:nth-child(3n) .project-card__image{aspect-ratio:4/3}
.project-card:nth-child(6n+2) .project-card__image,.project-card:nth-child(6n+3) .project-card__image,.project-card:nth-child(6n+5) .project-card__image{aspect-ratio:3/4}
.project-card__image:after{content:"View";position:absolute;right:18px;bottom:18px;width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:rgba(244,242,235,.92);color:var(--ink);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;opacity:0;transform:translateY(10px);transition:.35s var(--luxury-ease)}
.project-card:hover .project-card__image:after{opacity:1;transform:none}.project-card__meta{padding-top:20px;border-top:1px solid transparent}.project-card h3{font-size:clamp(1.45rem,2.25vw,2.8rem);font-weight:450;letter-spacing:-.045em}.project-card__category{letter-spacing:.14em}

.mobile-menu{background:#131410}.mobile-menu__inner{height:100dvh;min-height:100dvh;padding:112px max(22px,5vw) 30px;overflow:auto}.mobile-menu__brand{position:absolute;left:max(22px,5vw);top:18px;display:flex;align-items:center;gap:10px}.mobile-menu__brand img{width:62px;height:62px;object-fit:contain}.mobile-menu__brand span{font-size:.9rem;letter-spacing:.05em}.mobile-menu nav{counter-reset:luxnav;gap:0;border-top:1px solid rgba(255,255,255,.16)}.mobile-menu nav a{counter-increment:luxnav;display:grid;grid-template-columns:42px 1fr;align-items:baseline;border-bottom:1px solid rgba(255,255,255,.16);padding:14px 0;font-size:clamp(2.65rem,12vw,5.4rem);font-weight:420}.mobile-menu nav a:before{content:"0" counter(luxnav);font-size:.62rem;letter-spacing:.12em;opacity:.48}.mobile-menu__bottom{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}

.project-hero{height:92svh;min-height:720px}.project-hero__shade{background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 68%),linear-gradient(90deg,rgba(0,0,0,.22),transparent 55%)}.project-hero__copy{bottom:clamp(56px,8vh,100px);max-width:1320px}.project-hero h1{font-size:clamp(4rem,9.5vw,10rem);font-weight:420;line-height:.82;max-width:10ch;text-wrap:balance}.project-hero__copy>p:last-child{font-size:clamp(1rem,1.45vw,1.3rem);max-width:620px;line-height:1.55;color:rgba(255,255,255,.86)}.project-back{margin-bottom:50px}
.project-meta{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);background:transparent;border-bottom:1px solid var(--line)}.project-meta__item{padding:34px 16px 34px 0;background:transparent}.project-meta__item strong{font-size:1.05rem;font-weight:500}.project-description{grid-template-columns:.72fr 1.28fr;gap:clamp(60px,10vw,170px);align-items:start;padding-top:clamp(100px,12vw,180px)}.project-description h2{font-size:clamp(3.1rem,6vw,7rem);font-weight:420;max-width:8ch}.project-description p{font-size:clamp(1.08rem,1.45vw,1.32rem);line-height:1.85;max-width:760px}
.project-gallery{padding-top:40px}.project-gallery .section-head{margin-bottom:48px}.project-gallery-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(14px,2vw,28px)}.project-gallery-grid button{grid-column:span 6;min-height:0}.project-gallery-grid button:nth-child(5n+1){grid-column:1/-1}.project-gallery-grid button:nth-child(5n+2){grid-column:1/span 5}.project-gallery-grid button:nth-child(5n+3){grid-column:7/span 6;margin-top:8vw}.project-gallery-grid button:nth-child(5n+4){grid-column:2/span 7}.project-gallery-grid button:nth-child(5n+5){grid-column:9/span 4}.project-gallery-grid img{width:100%;height:auto;max-height:none;object-fit:cover;transition:transform .7s var(--luxury-ease)}.project-gallery-grid button:hover img{transform:scale(1.015)}

.lightbox{background:#0e0f0c;width:100vw;height:100dvh;overflow:hidden}.lightbox::backdrop{background:#0e0f0c}.lightbox-top{position:absolute;left:24px;right:24px;top:20px;z-index:4;display:flex;justify-content:space-between;padding-right:64px;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}.lightbox-brand{opacity:.72}.lightbox-counter{opacity:.72}.lightbox-stage{margin:0;width:100%;height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:center;padding:64px 86px 28px}.lightbox img{width:100%;height:100%;object-fit:contain;padding:0;min-height:0}.lightbox figcaption{min-height:30px;padding-top:12px;text-align:center;color:rgba(255,255,255,.65);font-size:.78rem;letter-spacing:.03em}.lightbox button{background:transparent;border:1px solid rgba(255,255,255,.22);border-radius:50%;width:52px;height:52px}.lightbox button:hover{background:#fff;color:#111}.lightbox-close{right:22px;top:18px}.lightbox-prev{left:20px;top:calc(50% - 26px)}.lightbox-next{right:20px;top:calc(50% - 26px)}

@media(max-width:980px){.brand img{width:62px;height:62px}.header-inner{height:80px}.portfolio-grid{gap:64px 18px}.project-card:nth-child(n){grid-column:span 6;margin-top:0}.project-card:nth-child(4n+2){margin-top:10vw}.project-gallery-grid button:nth-child(n){grid-column:span 6;margin-top:0}.project-gallery-grid button:nth-child(4n+1){grid-column:1/-1}}
@media(max-width:720px){:root{--display:clamp(3.7rem,16vw,6.2rem)}.brand img{width:58px;height:58px}.hero{min-height:690px}.hero-content{bottom:92px}.hero h1{font-size:var(--display);line-height:.84;max-width:9ch}.hero-index span:last-child{display:none}.portfolio-grid{display:block}.project-card:nth-child(n){display:block;margin:0 0 62px;padding:0}.project-card__image,.project-card:nth-child(n) .project-card__image{aspect-ratio:4/5}.project-card:nth-child(3n+1) .project-card__image{aspect-ratio:4/3}.project-card__image:after{display:none}.project-card__meta{gap:14px}.project-card__category{max-width:43%;font-size:.61rem}.mobile-menu__inner{padding-top:102px}.mobile-menu__brand img{width:54px;height:54px}.mobile-menu nav a{font-size:clamp(2.45rem,11vw,4.2rem);grid-template-columns:34px 1fr}.project-hero{height:86svh;min-height:640px}.project-hero__copy{bottom:50px}.project-hero h1{font-size:clamp(3.6rem,16vw,6rem)}.project-meta{grid-template-columns:1fr 1fr;padding-left:18px;padding-right:18px}.project-description{gap:34px}.project-description h2{max-width:10ch}.project-gallery-grid{display:block}.project-gallery-grid button:nth-child(n){display:block;width:100%;margin:0 0 18px}.project-gallery-grid img{width:100%;height:auto}.lightbox-stage{padding:72px 12px 74px}.lightbox-prev,.lightbox-next{top:auto;bottom:16px}.lightbox-prev{left:16px}.lightbox-next{right:16px}.lightbox-close{right:16px;top:14px}.lightbox-top{left:16px;right:16px;top:22px;padding-right:56px}.lightbox figcaption{font-size:.72rem;padding:9px 52px 0}.lightbox button{width:46px;height:46px}}
@media(max-width:380px){.brand img{width:52px;height:52px}.hero h1{font-size:3.55rem}.mobile-menu nav a{font-size:2.45rem}.project-meta{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.hero-media img{animation:none}.project-gallery-grid button:hover img{transform:none}}

/* ===== Mobile polish v5: viewport, project text, navigation & social ===== */
:root{
  --accent:#a8b79a;
  --accent-deep:#7f9272;
  --contact-surface:#dfe4d7;
}
html,body{width:100%;max-width:100%;overflow-x:hidden!important;overscroll-behavior-x:none}
body{position:relative}
main,#homeView,#projectView{width:100%;max-width:100%;overflow-x:clip}
.site-header,.header-inner,.hero,.editorial-section,.contact-section,.site-footer,.project-view,.project-hero,.project-meta,.project-description,.project-gallery,.project-cta{max-width:100%;min-width:0}
img,svg,video,canvas{max-width:100%}
.contact-section{background:var(--contact-surface);color:var(--ink)}
.contact-section .eyebrow{color:#596350}
.contact-section .lead-form{background:#f4f1e9}
.contact-section .button--dark{background:#171814;color:#fff}
.button--light:hover{background:#dde3d5}
.social-links{min-height:46px}
.social-icon,.social-icon-placeholder{width:46px;height:46px;border:1px solid rgba(255,255,255,.32);display:grid;place-items:center;position:relative;flex:0 0 46px;color:#f2f0e9}
.social-icon svg,.social-icon-placeholder svg{width:21px;height:21px;display:block;fill:currentColor}
.social-icon-placeholder{opacity:.42;cursor:default}

@media(max-width:720px){
  html,body{overflow-x:hidden!important;width:100%!important;max-width:100%!important}
  main,#homeView,#projectView,.site-header,.mobile-menu{width:100%!important;max-width:100%!important;overflow-x:clip!important}
  .header-inner{grid-template-columns:minmax(0,1fr) auto;width:100%;padding-left:18px;padding-right:14px;gap:10px}
  .header-actions{justify-self:end;gap:9px;max-width:100%}
  .header-cta{display:none}
  .brand{min-width:0;overflow:hidden}
  .brand span{font-size:.96rem;white-space:nowrap}
  .language-switcher{font-size:.78rem;white-space:nowrap}
  .menu-toggle{flex:0 0 44px}
  .mobile-menu__inner{width:100%;max-width:100%;overflow-x:hidden;padding-left:20px;padding-right:20px}
  .mobile-menu nav a{min-width:0;overflow-wrap:normal;word-break:normal}

  .editorial-section{width:100%;padding-left:18px;padding-right:18px}
  .services-section,.contact-section{width:100%;max-width:100%;padding-left:18px!important;padding-right:18px!important}
  .section-head,.intro-band,.services-editorial,.team-grid,.advantages-grid,.process-item,.form-row{width:100%;min-width:0}
  .lead-form{width:100%;max-width:100%;overflow:hidden;padding:28px 20px}
  .contact-methods{display:flex;flex-wrap:wrap;gap:8px;width:100%;max-width:100%}
  .contact-methods label,.contact-methods span{max-width:100%}
  .contact-methods span{white-space:normal;text-align:center;line-height:1.15;padding:12px 17px}
  input,select,textarea{max-width:100%;min-width:0}

  /* Project case study becomes a clean single-column mobile layout. */
  .project-hero{height:auto;min-height:0;padding-top:80px;background:var(--paper);color:var(--ink);display:flex;flex-direction:column}
  .project-hero>img{position:relative;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;order:1}
  .project-hero__shade{display:none}
  .project-hero__copy{position:relative;inset:auto!important;order:2;width:100%;max-width:none;padding:28px 18px 22px;background:var(--paper);color:var(--ink)}
  .project-back{margin:0 0 22px;font-size:.7rem;color:var(--muted)}
  .project-hero__copy .eyebrow{color:#697063;margin:0 0 10px}
  .project-hero h1{font-size:clamp(2.7rem,12vw,4.25rem)!important;line-height:.92!important;letter-spacing:-.055em;max-width:none!important;margin:0 0 18px;overflow-wrap:normal!important;word-break:normal!important;hyphens:none}
  .project-hero__copy>p:last-child{font-size:1rem;line-height:1.6;color:#555a52;max-width:none;margin:0}
  .project-meta{display:flex;flex-wrap:wrap;gap:0;padding:0 18px 24px;border-bottom:1px solid var(--line)}
  .project-meta__item{width:50%;padding:18px 14px 12px 0;border-top:1px solid var(--line)}
  .project-meta__item strong{font-size:.98rem;overflow-wrap:anywhere}
  .project-description{display:block!important;width:100%;padding:58px 18px 72px!important}
  .project-description h2{font-size:clamp(2rem,9vw,3rem)!important;line-height:1!important;max-width:none!important;margin:0 0 24px!important;overflow-wrap:normal!important;word-break:normal!important}
  .project-description p{font-size:1rem!important;line-height:1.72!important;max-width:none!important;margin:0!important}
  .project-gallery{padding-left:18px;padding-right:18px;padding-top:18px}
  .project-gallery .section-head{margin-bottom:30px}
  .project-gallery .section-head h2{font-size:clamp(2.5rem,11vw,3.8rem)}
  .project-cta{padding:74px 18px}

  .site-footer{width:100%;max-width:100%;padding-left:18px;padding-right:18px;overflow:hidden}
  .footer-bottom{width:100%;min-width:0}
}
@media(max-width:380px){
  .project-meta__item{width:100%}
  .brand span{font-size:.9rem}
}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.custom-section--gallery{display:grid;gap:clamp(28px,5vw,72px)}
.custom-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,2vw,22px)}
.custom-gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
@media(max-width:640px){.custom-gallery{grid-template-columns:1fr}.custom-gallery img{aspect-ratio:auto;max-height:none}}
