:root{--ink:#181412;--muted:#665f5a;--line:#dedad3;--paper:#fbfbf8;--white:#fff;--coral:#ef725f;--green:#2f7d68;--blue:#315f9d;--yellow:#f5c542;--shadow:0 24px 70px #18141224;--radius:8px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Inter,Arial,sans-serif;line-height:1.5;overflow-x:hidden}body.nav-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbfbf8e0;border-bottom:1px solid #18141214;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;min-height:76px;padding:14px clamp(18px,4vw,56px);display:grid;position:sticky;top:0}.brand{align-items:center;gap:12px;min-width:0;display:inline-flex}.brand-mark{background:var(--ink);width:44px;height:44px;color:var(--white);border-radius:var(--radius);letter-spacing:0;place-items:center;font-weight:800;display:grid}.brand-text{gap:1px;display:grid}.brand-text strong,.brand-text small{white-space:nowrap}.brand-text small{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:700}.main-nav{background:var(--white);border:1px solid var(--line);border-radius:999px;justify-self:center;align-items:center;gap:4px;padding:6px;display:flex}.main-nav a{color:var(--muted);border-radius:999px;padding:9px 14px;font-size:.92rem;font-weight:700;transition:background .2s,color .2s}.main-nav a:hover{background:var(--ink);color:var(--white)}.header-cta,.btn{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;min-height:44px;padding:12px 18px;font-weight:800;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.header-cta{background:var(--coral);color:var(--ink)}.btn:hover,.header-cta:hover{transform:translateY(-2px)}.btn-primary{background:var(--ink);color:var(--white);box-shadow:0 16px 36px #18141238}.btn-ghost{background:var(--white);color:var(--ink);border-color:var(--line)}.nav-toggle{border:1px solid var(--line);background:var(--white);border-radius:var(--radius);width:44px;height:44px;display:none}.nav-toggle span{background:var(--ink);width:18px;height:2px;margin:5px auto;display:block}.hero{grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);align-items:center;gap:clamp(32px,5vw,82px);min-height:calc(100vh - 76px);padding:clamp(48px,8vw,104px) clamp(18px,5vw,72px) 48px;display:grid;overflow:hidden}.hero-copy{min-width:0;max-width:720px}.eyebrow,.section-kicker,.work-card-content span{color:var(--green);letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;font-size:.78rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:0;font-family:Playfair Display,Georgia,serif;line-height:.98}h1{max-width:760px;margin-bottom:24px;font-size:clamp(3.3rem,8vw,7.7rem)}h2{margin-bottom:22px;font-size:clamp(2.3rem,5vw,5rem)}h3{margin-bottom:10px;font-size:1.25rem;line-height:1.12}.hero-text,.rich-text,.contact-copy p,.work-card-content p,.service-card p,.process-copy span{color:var(--muted)}.hero-text{max-width:610px;margin-bottom:30px;font-size:clamp(1.02rem,2vw,1.2rem)}.hero-actions{flex-wrap:wrap;gap:12px;margin-bottom:36px;display:flex}.hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:580px;margin:0;display:grid}.hero-stats div{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.hero-stats dt{font-size:clamp(1.7rem,3vw,2.35rem);font-weight:800;line-height:1}.hero-stats dd{color:var(--muted);margin:6px 0 0;font-size:.9rem;font-weight:700}.hero-visual{min-width:0;min-height:clamp(440px,62vw,650px);position:relative}.hero-visual:before{content:"";background:var(--yellow);border-radius:var(--radius);position:absolute;inset:34px -18px -18px 40px}.hero-image{border-radius:var(--radius);width:100%;height:100%;box-shadow:var(--shadow);object-fit:cover;border:1px solid #1814121f;position:absolute;inset:0}.hero-card{border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid #1814121f;gap:4px;max-width:230px;padding:16px;display:grid;position:absolute;box-shadow:0 18px 50px #18141229}.hero-card span{color:var(--muted);font-size:.82rem;font-weight:700}.hero-card-top{top:24px;right:-22px}.hero-card-bottom{bottom:36px;left:-24px}.intro-band{background:var(--ink);color:var(--white);gap:12px;padding:18px clamp(18px,5vw,72px);display:flex;overflow-x:auto}.intro-band span{border:1px solid #fff3;border-radius:999px;flex:none;padding:10px 16px;font-weight:800}.section{padding:clamp(64px,8vw,112px) clamp(18px,5vw,72px)}.split-grid,.section-heading,.process-section,.contact-section{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(28px,5vw,72px);display:grid}.split-grid>*,.section-heading>*,.process-section>*,.contact-section>*,.quote-section>*{min-width:0}.split-section{background:var(--white)}.rich-text{max-width:680px;font-size:1.08rem}.portfolio-section{background:#f2f6f4}.section-heading{align-items:end;margin-bottom:32px}.section-heading.compact{max-width:760px;display:block}.filter-bar{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.filter{border:1px solid var(--line);background:var(--white);min-height:40px;color:var(--muted);cursor:pointer;border-radius:999px;padding:9px 13px;font-size:.9rem;font-weight:800}.filter.active{background:var(--green);color:var(--white);border-color:var(--green)}.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.work-card{background:var(--white);border-radius:var(--radius);border:1px solid #1814121a;min-height:430px;display:grid;overflow:hidden}.work-card[hidden]{display:none}.work-card.featured{grid-column:span 2}.work-card img{object-fit:cover;width:100%;height:275px}.work-card.featured img{height:355px}.work-card-content{align-content:start;padding:22px;display:grid}.work-card-content span{color:var(--coral);margin-bottom:8px}.work-card-content p{margin-bottom:0}.services-section{background:var(--paper)}.services-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:32px;display:grid}.service-card{background:var(--ink);min-height:270px;color:var(--white);border-radius:var(--radius);padding:24px}.service-card p{color:#ffffffc7}.service-number{color:var(--yellow);margin-bottom:72px;font-size:.8rem;font-weight:800;display:inline-flex}.accent-coral{background:var(--coral);color:var(--ink)}.accent-blue{background:var(--blue)}.accent-green{background:var(--green)}.accent-coral p{color:#181412bd}.process-section{background:var(--white);align-items:center}.process-media img{border-radius:var(--radius);object-fit:cover;width:100%;min-height:520px}.timeline{gap:16px;margin:28px 0 0;padding:0;list-style:none;display:grid}.timeline li{border-top:1px solid var(--line);grid-template-columns:120px 1fr;gap:18px;padding:18px 0;display:grid}.timeline strong{font-size:1.05rem}.quote-section{background:var(--ink);color:var(--white);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,72px);padding:clamp(64px,8vw,104px) clamp(18px,5vw,72px);display:grid}.quote-section .eyebrow{color:var(--yellow)}.quote-grid{gap:16px;display:grid}blockquote{border-radius:var(--radius);background:#ffffff14;border:1px solid #ffffff29;margin:0;padding:24px;font-size:1.1rem}cite{color:#ffffff9e;margin-top:16px;font-size:.88rem;font-style:normal;font-weight:800;display:block}.contact-section{background:#eef3f8}.contact-copy{position:sticky;top:110px}.contact-list{gap:10px;margin-top:24px;display:grid}.contact-list a{color:var(--blue);font-weight:800}.contact-form{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #1814121a;gap:16px;padding:clamp(20px,4vw,34px);display:grid}label{color:var(--ink);gap:8px;font-size:.9rem;font-weight:800;display:grid}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius);width:100%;color:var(--ink);background:#fff;outline:none;padding:13px 14px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 4px #2f7d6824}.form-feedback{min-height:22px;color:var(--green);margin:0;font-weight:800}.site-footer{background:var(--white);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:28px clamp(18px,5vw,72px);display:flex}.site-footer p,.site-footer span{color:var(--muted);margin:0;font-size:.92rem;font-weight:700}@media (width<=1060px){.site-header{grid-template-columns:auto auto}.header-cta{display:none}.main-nav{justify-self:end}.hero,.split-grid,.section-heading,.process-section,.quote-section,.contact-section{grid-template-columns:1fr}.hero{min-height:auto}.hero-visual{min-height:540px}.services-grid,.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{justify-content:flex-start}.contact-copy{position:static}}@media (width<=720px){.site-header{grid-template-columns:minmax(0,1fr) auto;gap:12px;min-height:70px;padding:12px 16px}.brand-text strong{text-overflow:ellipsis;max-width:172px;overflow:hidden}.nav-toggle{justify-self:end;display:block}.main-nav{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:1fr;gap:0;padding:10px;display:none;position:fixed;top:70px;left:12px;right:12px}body.nav-open .main-nav{display:grid}.main-nav a{padding:14px}.hero{padding-top:42px}h1{overflow-wrap:break-word;max-width:100%;font-size:clamp(2.35rem,11vw,3rem)}h2{font-size:clamp(2.2rem,12vw,3.5rem)}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.hero-stats{grid-template-columns:1fr}.hero-visual{min-height:430px}.hero-visual:before{inset:24px -10px -12px 22px}.hero-card{max-width:205px;padding:13px}.hero-card-top{right:8px}.hero-card-bottom{bottom:20px;left:8px}.portfolio-grid,.services-grid{grid-template-columns:1fr}.work-card,.work-card.featured{grid-column:auto;min-height:auto}.work-card img,.work-card.featured img{height:245px}.process-media img{min-height:340px}.timeline li{grid-template-columns:1fr;gap:6px}.quote-section,.contact-section,.section{padding-left:16px;padding-right:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.page-loader{z-index:100;background:var(--paper);color:var(--muted);place-content:center;justify-items:center;gap:14px;transition:opacity .35s,visibility .35s;display:grid;position:fixed;inset:0}.loader-mark{border-radius:var(--radius);background:var(--ink);width:64px;height:64px;color:var(--white);place-items:center;font-weight:800;animation:1.2s ease-in-out infinite alternate loader-pulse;display:grid}body:not(.is-loading) .page-loader{visibility:hidden;opacity:0;pointer-events:none}@keyframes loader-pulse{to{transform:translateY(-6px);box-shadow:0 16px 30px #18141233}}.work-card-image{background:var(--ink);cursor:zoom-in;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.work-card-image img{transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .3s}.work-card-image>span{color:var(--ink);opacity:0;background:#ffffffe6;border-radius:999px;padding:8px 11px;font-size:.78rem;font-weight:800;transition:opacity .25s,transform .25s;position:absolute;bottom:14px;right:14px;transform:translateY(8px)}.work-card:hover .work-card-image img{opacity:.9;transform:scale(1.035)}.work-card:hover .work-card-image>span{opacity:1;transform:translateY(0)}.lightbox{background:var(--ink);width:min(92vw,960px);max-height:92vh;color:var(--white);border:0;border-radius:12px;padding:0;overflow:hidden auto;box-shadow:0 30px 90px #0000006b}.lightbox::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0807d1}.lightbox>img{object-fit:contain;background:#080706;width:100%;max-height:72vh}.lightbox-close{z-index:2;color:#fff;cursor:pointer;background:#000000a6;border:1px solid #ffffff4d;border-radius:50%;width:42px;height:42px;margin:14px;font-size:1.6rem;line-height:1;position:fixed}.lightbox-caption{gap:5px;padding:18px 22px 22px;display:grid}.lightbox-caption span{color:#ffffffb3}.site-footer>div{gap:3px;display:grid}.admin-link{color:var(--muted);opacity:.65;align-self:center;font-size:.76rem;font-weight:700}.admin-link:hover{opacity:1}@media (width<=720px){.work-card-image>span{opacity:1;transform:none}.lightbox{width:calc(100vw - 20px)}}
