:root { color-scheme: light; --bg:#f8f6f0; --paper:#fffdfa; --ink:#121313; --muted:#5a5d57; --line:#d9d4c8; --teal:#004c4c; --teal-deep:#003a3b; --gold:#a97f2e; --focus:#0757a7; --shadow:0 26px 70px rgba(18,19,19,.14); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
*{box-sizing:border-box} [hidden]{display:none!important} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.6} body,button,input,select,textarea{font:inherit} img{display:block;max-width:100%} a{color:inherit;text-underline-offset:.22em} a:hover{color:var(--teal)} a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,#main:focus-visible{outline:3px solid var(--focus);outline-offset:4px} h1,h2,h3,p{margin-top:0} h1,h2,h3{text-wrap:balance} h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.055em;line-height:.98} h1{font-size:clamp(3.8rem,7vw,7.5rem)} h2{font-size:clamp(2.3rem,4.2vw,4.6rem)} h3{font-size:clamp(1.45rem,2vw,2rem)}
.container{width:min(1240px,calc(100% - 64px));margin-inline:auto}.skip-link{position:fixed;top:12px;left:12px;z-index:50;padding:10px 14px;background:var(--ink);color:#fff;transform:translateY(-150%);transition:transform 180ms ease}.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;top:0;z-index:40;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(16px)}.nav-shell{width:min(1440px,calc(100% - 48px));min-height:88px;margin:auto;display:flex;align-items:center;gap:22px}.brand{display:inline-flex;flex:0 0 auto;text-decoration:none}.brand-logo{width:132px;height:auto;max-height:55px;object-fit:contain}.nav-list,.footer-links{display:flex;align-items:center;gap:8px;padding:0;margin:0;list-style:none}.nav-list{margin-left:auto}.nav-list a,.footer-links a{display:inline-flex;align-items:center;min-height:42px;padding:8px 11px;color:var(--muted);font-size:.88rem;font-weight:720;text-decoration:none}.nav-list a[aria-current=page]{color:var(--teal);box-shadow:inset 0 -2px var(--teal)}.nav-contact,.button,.contact-action,.text-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:.9rem;font-weight:760;text-decoration:none}.nav-contact{min-height:46px;margin-left:18px;padding:12px 18px;background:var(--teal);color:#fff}.nav-contact:hover{background:var(--teal-deep);color:#fff}.nav-contact svg,.button svg,.contact-action svg,.text-action svg,.service-row svg,.project-card svg{width:19px;height:19px;flex:0 0 auto}.menu-button{display:none}
.hero{padding:76px 0 90px}.hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);gap:clamp(46px,8vw,130px);align-items:center}.hero-copy p{max-width:580px;margin:28px 0 34px;color:var(--muted);font-size:clamp(1.06rem,1.55vw,1.26rem)}.button{min-height:52px;padding:14px 21px;border:1px solid var(--ink);background:transparent;cursor:pointer}.button.primary{background:var(--teal);border-color:var(--teal);color:#fff}.button.primary:hover{background:var(--teal-deep);border-color:var(--teal-deep);color:#fff}.hero-media,.teaser-media,.process-media{margin:0;overflow:hidden;background:#242a29;box-shadow:var(--shadow)}.hero-media img{width:100%;aspect-ratio:4/3;object-fit:cover}.intro-band{padding:34px 0;border-block:1px solid var(--line);background:var(--paper)}.intro-grid{display:grid;grid-template-columns:.9fr 1fr;gap:clamp(42px,9vw,150px);align-items:start}.intro-grid h2{margin:0;font-size:clamp(1.8rem,3vw,3rem)}.intro-grid p{max-width:560px;margin:0;color:var(--muted);font-size:1.08rem}.section{padding:120px 0}.section-label{margin-bottom:16px;color:var(--gold);font-family:Inter,ui-sans-serif,sans-serif;font-size:.72rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.service-layout{display:grid;grid-template-columns:minmax(290px,.85fr) minmax(0,1.15fr);gap:clamp(42px,8vw,140px)}.service-layout h2{margin:0}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:minmax(170px,.62fr) minmax(0,1fr) 24px;gap:28px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);text-decoration:none}.service-row:hover{color:var(--teal)}.service-row h3,.service-row p{margin:0}.service-row p{color:var(--muted)}.project-teaser{background:#ece9df}.teaser-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(360px,1.12fr);gap:clamp(42px,8vw,132px);align-items:center}.teaser-grid p:not(.section-label){max-width:530px;color:var(--muted);font-size:1.07rem}.teaser-media img{width:100%;aspect-ratio:3/2;object-fit:cover}.text-action{margin-top:28px;padding-bottom:8px;border-bottom:1px solid var(--gold);color:var(--teal)}.method-teaser{background:var(--paper)}.method-teaser-grid{display:grid;grid-template-columns:1fr .75fr;gap:clamp(42px,10vw,170px);align-items:end}.method-teaser-grid h2{margin:0}.method-teaser-grid p{color:var(--muted);font-size:1.07rem}.contact-band{padding:82px 0;background:var(--teal-deep);color:#fff}.contact-band .section-label{color:#d7ad59}.contact-band h2{margin:0;max-width:720px}.contact-band-grid{display:flex;align-items:end;justify-content:space-between;gap:48px}.contact-action{min-height:54px;padding:14px 0;border-bottom:1px solid #d7ad59;color:#fff;font-size:1.05rem;white-space:nowrap}.contact-action:hover{color:#f2d48d}
.page-section{padding:82px 0 132px}.page-intro{max-width:940px;margin-bottom:64px}.page-intro h1{margin-bottom:30px}.page-intro p{max-width:630px;color:var(--muted);font-size:1.1rem}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.project-card{padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);text-align:left;cursor:pointer;transition:transform 180ms ease,border-color 180ms ease,box-shadow 180ms ease}.project-card:hover{border-color:var(--gold);box-shadow:var(--shadow);transform:translateY(-4px)}.project-image{display:block;overflow:hidden;background:#17201f}.project-image img{width:100%;aspect-ratio:1.45/1;object-fit:cover;transition:transform 350ms ease}.project-card:hover .project-image img{transform:scale(1.03)}.project-card-copy{display:grid;gap:12px;padding:25px}.project-card-copy small{color:var(--gold);font-size:.72rem;font-weight:840;letter-spacing:.1em;text-transform:uppercase}.project-card-copy strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,3vw,2.7rem);font-weight:400;letter-spacing:-.045em}.project-card-copy>span{color:var(--muted)}.project-card-copy i{display:flex;align-items:center;gap:10px;margin-top:7px;color:var(--teal);font-style:normal;font-weight:760}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.55)}.project-modal{position:relative;width:min(610px,100%);padding:52px;background:var(--paper);box-shadow:var(--shadow)}.project-modal h2{margin-bottom:20px}.project-modal p:last-child{margin:0;color:var(--muted);font-size:1.08rem}.modal-close{position:absolute;top:12px;right:16px;width:42px;height:42px;border:0;background:transparent;color:var(--ink);font-size:2rem;line-height:1;cursor:pointer}
.process-intro{max-width:1000px}.process-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);gap:clamp(48px,9vw,140px);align-items:start}.process-list{display:grid;gap:0;padding:0;margin:0;list-style:none;border-top:1px solid var(--line)}.process-list li{display:grid;grid-template-columns:76px 1fr;gap:26px;padding:30px 0;border-bottom:1px solid var(--line)}.process-list li>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--teal);color:#fff;font-family:Georgia,serif;font-size:1.25rem}.process-list h2{margin:0 0 8px;font-size:clamp(1.7rem,2.5vw,2.5rem)}.process-list p{max-width:600px;margin:0;color:var(--muted)}.process-media{position:sticky;top:120px}.process-media img{width:100%;min-height:680px;object-fit:cover}
.contact-page-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1fr);gap:clamp(46px,9vw,140px);align-items:start}.contact-page-copy h1{margin-bottom:30px}.contact-page-copy>p:not(.section-label){max-width:540px;color:var(--muted);font-size:1.1rem}.direct-contact{display:grid;gap:8px;margin-top:72px;padding-top:28px;border-top:1px solid var(--line)}.direct-contact span{color:var(--teal);font-size:.74rem;font-weight:840;letter-spacing:.1em;text-transform:uppercase}.direct-contact a{font-size:1.15rem;font-weight:740}.contact-form{display:grid;gap:21px;padding:34px;border:1px solid var(--line);background:var(--paper)}.contact-form label{display:grid;gap:8px;font-weight:720}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #aaa69d;border-radius:0;background:#fff;padding:13px 14px;color:var(--ink);font:inherit}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--teal);outline:2px solid color-mix(in srgb,var(--teal) 25%,transparent)}.form-status{margin:0;padding:12px 14px}.form-status.error{border-left:3px solid #ba2525;background:#fff2f1;color:#8a1717}.form-status.success{border-left:3px solid #18793c;background:#eef9f0;color:#12652f}.contact-form .button{width:100%}
.site-footer{padding:54px 0 28px;background:#101515;color:#fff}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:36px}.footer-brand{margin-bottom:8px;font-family:Georgia,serif;font-size:1.55rem}.site-footer p{max-width:430px;color:rgba(255,255,255,.68)}.footer-links{flex-wrap:wrap;justify-content:flex-end}.footer-links a{color:rgba(255,255,255,.8)}.footer-note{grid-column:1/-1;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.55);font-size:.85rem}
@media (prefers-reduced-motion:no-preference){.hero-copy{animation:rise .65s .08s ease both}.hero-media{animation:rise .65s .18s ease both}.button,.nav-contact,.contact-action,.text-action,.nav-list a{transition:color 180ms ease,background-color 180ms ease,border-color 180ms ease,transform 180ms ease}.button:hover,.nav-contact:hover{transform:translateY(-2px)}@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media(max-width:960px){.nav-shell{min-height:72px}.nav-contact{display:none}.menu-button{display:inline-flex;flex:0 0 44px;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;margin-left:auto;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}.menu-button span,.menu-button::before,.menu-button::after{content:"";display:block;width:20px;height:2px;background:currentColor;transition:transform 180ms ease,opacity 180ms ease}.menu-button[aria-expanded=true]::before{transform:translateY(7px) rotate(45deg)}.menu-button[aria-expanded=true] span{opacity:0}.menu-button[aria-expanded=true]::after{transform:translateY(-7px) rotate(-45deg)}.nav-list{display:none}.nav-list.is-open{position:absolute;top:72px;right:0;left:0;display:grid;grid-template-columns:1fr;gap:3px;padding:14px max(24px,calc((100% - 1240px)/2));border-bottom:1px solid var(--line);background:var(--bg);box-shadow:0 18px 40px rgba(0,0,0,.1)}.hero-grid,.intro-grid,.service-layout,.teaser-grid,.method-teaser-grid,.process-layout,.contact-page-grid{grid-template-columns:1fr;gap:44px}.hero-media{max-width:760px}.process-media{position:static;max-width:680px}.process-media img{min-height:400px}.contact-band-grid{display:grid;align-items:start}.footer-grid{grid-template-columns:1fr}.footer-links{justify-content:flex-start}}
@media(max-width:640px){.container{width:min(100% - 40px,1240px)}.nav-shell{width:min(100% - 32px,1440px)}.brand-logo{width:112px;max-height:45px}h1{font-size:clamp(3.05rem,14vw,4.4rem)}.hero{padding:44px 0 58px}.hero-copy p{margin:22px 0 28px}.hero-media img{aspect-ratio:1.1/1;object-position:65% center}.section,.page-section{padding:78px 0}.intro-band{padding:27px 0}.service-row{grid-template-columns:1fr 24px;gap:10px 16px}.service-row p{grid-column:1/-1}.project-grid{grid-template-columns:1fr}.page-intro{margin-bottom:42px}.project-card-copy{padding:22px}.contact-band{padding:62px 0}.contact-action{width:max-content}.process-list li{grid-template-columns:48px 1fr;gap:17px}.process-list li>span{width:40px;height:40px}.contact-form{padding:22px}.direct-contact{margin-top:46px}.modal-backdrop{padding:16px}.project-modal{padding:42px 26px}.footer-links{gap:2px}.footer-links a{padding-inline:6px}}
