@font-face{font-family:"Geist";src:url("../asset/fonts/geist-variable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --bg:#f7f7f4;
  --surface:#eceeeb;
  --surface-strong:#dfe2de;
  --text:#191b19;
  --muted:#5b605c;
  --line:#ced2ce;
  --accent:#36845e;
  --accent-hover:#2c704f;
  --accent-soft:#d8e8df;
  --on-accent:#ffffff;
  --nav-bg:rgba(247,247,244,.9);
  --shadow:0 24px 70px rgba(22,27,24,.12);
  --radius:16px;
  --max:100%;
  --nav-height:72px;
  --ease:cubic-bezier(.16,1,.3,1);
  --font-title:'Lato',sans-serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + 20px)}
body{background-color:var(--bg);background-image:radial-gradient(circle at 1px 1px,rgba(54,132,94,.075) 1px,transparent 0);background-size:32px 32px;color:var(--text);font-family:"Geist",Arial,sans-serif;font-size:16px;line-height:1.55;overflow-x:hidden;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6,.hero h1,.hero-title,.section-title,.title,.hero-copy h1,.hero-inner h1,.services-hero h1,.service-detail-card h2{font-family:var(--font-title)!important}
body.menu-open{overflow:hidden}
img{display:block;height:auto;max-width:100%;object-fit:cover;width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{color:inherit;font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button:active,.button:active{transform:translateY(1px) scale(.99)}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.page-shell{overflow:hidden;width:100%;max-width:100%}
.skip-link{background:var(--text);color:var(--bg);left:1rem;padding:.75rem 1rem;position:fixed;top:-100px;z-index:1000}
.skip-link:focus{top:1rem}

.navbar{background:transparent;border-bottom:1px solid transparent;left:0;position:fixed;right:0;top:0;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .4s var(--ease);z-index:100}
.navbar.scrolled{background:rgba(255,255,255,.98);border-color:rgba(0,0,0,.08);box-shadow:0 8px 30px rgba(0,0,0,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.nav-shell,.navbar-inner{align-items:center;display:grid;grid-template-columns:1fr auto 1fr;height:var(--nav-height);margin:0;max-width:100%;padding:0 clamp(2rem,5vw,5rem);width:100%}
.logo{align-items:center;display:inline-flex;font-size:.78rem;gap:.65rem;letter-spacing:.07em;line-height:1;text-transform:uppercase;width:max-content}
.logo img,.logo-mark{height:44px;width:44px}
.logo img{object-fit:contain}
.logo span{display:flex;flex-direction:column;gap:3px}
.logo strong{font-size:.94rem;font-weight:700}
.nav-links{align-items:center;display:flex;gap:clamp(1rem,2vw,2.15rem);justify-content:center;white-space:nowrap}
.nav-links a{color:rgba(255,255,255,.85);font-size:.78rem;font-weight:550;position:relative;transition:color .25s}
.navbar:not(.scrolled) .logo{color:#fff}
body.ceo-page .navbar:not(.scrolled) .logo{color:var(--text)}
.navbar.scrolled .logo{color:var(--text)}
.navbar:not(.scrolled) .nav-button.button-secondary{border-color:rgba(255,255,255,.65);color:#fff}
body.ceo-page .navbar:not(.scrolled) .nav-button.button-secondary{border-color:var(--text);color:var(--text)}
.navbar.scrolled .nav-button.button-secondary{border-color:var(--text);color:var(--text)}
body.ceo-page .navbar:not(.scrolled) .menu-toggle span{background:var(--text)}
.navbar.scrolled .menu-toggle span{background:var(--text)}
.nav-links a::after{background:var(--accent);bottom:-8px;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease);width:100%}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:#fff}
body.ceo-page .navbar:not(.scrolled) .nav-links a{color:var(--muted)}
body.ceo-page .navbar:not(.scrolled) .nav-links a:hover,body.ceo-page .navbar:not(.scrolled) .nav-links a[aria-current="page"]{color:var(--text)}
.navbar.scrolled .nav-links a{color:var(--muted)}
.navbar.scrolled .nav-links a:hover,.navbar.scrolled .nav-links a[aria-current="page"]{color:var(--text)}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
.button{align-items:center;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-size:.76rem;font-weight:680;justify-content:center;letter-spacing:.045em;min-height:50px;padding:0 1.45rem;text-transform:uppercase;transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease),box-shadow .3s;white-space:nowrap}
.button-primary{background:var(--accent);color:var(--on-accent)}
.button-primary:hover{background:var(--accent-hover);box-shadow:0 12px 30px rgba(39,115,84,.22);transform:translateY(-2px)}
.button-secondary{background:transparent;border-color:var(--text);color:var(--text)}
.button-secondary:hover{background:var(--text);color:var(--bg);transform:translateY(-2px)}
.nav-button{justify-self:end;min-height:46px}
.menu-toggle{background:transparent;border:0;cursor:pointer;display:none;height:48px;justify-self:end;padding:12px;width:48px}
.menu-toggle span{background:var(--text);display:block;height:2px;margin:7px 0;transition:transform .3s var(--ease);width:100%}
.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{background:var(--bg);display:none;inset:var(--nav-height) 0 0;overflow:auto;padding:2.5rem 28px;position:fixed}
.mobile-nav.open{display:flex;flex-direction:column}
.mobile-nav a{border-bottom:1px solid var(--line);font-size:clamp(1.55rem,7vw,2.5rem);font-weight:480;padding:1rem 0}

.hero{align-items:flex-end;color:#fff;display:flex;margin:0;max-width:100%;min-height:100dvh;overflow:hidden;padding:calc(var(--nav-height) + 3rem) clamp(2rem,5vw,5rem) clamp(7.5rem,12vh,9rem);position:relative;width:100%}
.hero-video-layer{inset:0;position:absolute}.hero-video-layer::after{background:linear-gradient(90deg,rgba(12,14,13,.76) 0%,rgba(12,14,13,.48) 42%,rgba(12,14,13,.12) 75%),linear-gradient(0deg,rgba(12,14,13,.52),transparent 48%);content:"";inset:0;position:absolute}.hero-video-layer video{height:100%;object-fit:cover;transition:opacity .35s ease;width:100%}.hero-video-layer video.is-switching{opacity:.15}
.hero-copy{max-width:960px;position:relative;z-index:2}
.eyebrow,.section-kicker{color:var(--accent);font-size:.69rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.hero .eyebrow{color:#a7d2ba}
.hero h1{font-size:clamp(4.5rem,7.2vw,7.3rem);font-weight:510;letter-spacing:-.075em;line-height:.84;margin:1.4rem 0 1.7rem;text-wrap:balance}
.hero h1 em{color:#a7d2ba;display:block;font-family:inherit;font-style:normal;font-weight:430;line-height:1}
.hero-summary{color:rgba(255,255,255,.8);font-size:clamp(1rem,1.2vw,1.16rem);line-height:1.6;max-width:620px}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.hero .button-secondary{border-color:rgba(255,255,255,.72);color:#fff}.hero .button-secondary:hover{background:#fff;color:var(--text)}
.hero-reel{align-items:center;bottom:24px;display:flex;gap:2rem;justify-content:space-between;left:clamp(2rem,5vw,5rem);position:absolute;right:clamp(2rem,5vw,5rem);z-index:3}.hero-reel-label{display:flex;flex-direction:column}.hero-reel-label span{color:rgba(255,255,255,.6);font-size:.6rem;font-weight:650;letter-spacing:.11em;text-transform:uppercase}.hero-reel-label strong{font-size:.82rem;margin-top:.2rem}.hero-reel-controls{align-items:center;display:flex;gap:.45rem}.hero-reel-controls button{background:rgba(12,14,13,.28);border:1px solid rgba(255,255,255,.45);border-radius:999px;color:#fff;cursor:pointer;font-size:.66rem;font-weight:700;height:38px;min-width:38px;padding:0 .65rem;transition:background .25s,border-color .25s}.hero-reel-controls button:hover,.hero-reel-controls button.active{background:var(--accent);border-color:var(--accent)}.hero-reel-controls .hero-video-toggle{margin-left:.3rem;min-width:66px;text-transform:uppercase}

.proof{border-bottom:1px solid var(--line);border-top:1px solid var(--line);margin:0;max-width:100%;padding:1.8rem clamp(2rem,5vw,5rem);width:100%}
.proof-track{display:grid;grid-template-columns:repeat(4,1fr)}
.proof p{display:flex;flex-direction:column;gap:.2rem;padding-right:1.5rem}
.proof p+p{border-left:1px solid var(--line);padding-left:1.5rem}
.proof strong{font-size:1.05rem;font-weight:650}.proof span{color:var(--muted);font-size:.78rem}

.section{margin:0;max-width:100%;padding:clamp(3.5rem,5vw,5.5rem) clamp(2rem,5vw,5rem);width:100%}
.services{background-color:rgba(247,247,244,.9);background-image:linear-gradient(rgba(54,132,94,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(54,132,94,.075) 1px,transparent 1px),radial-gradient(circle at 82% 12%,rgba(216,232,223,.9),transparent 28%);background-size:46px 46px,46px 46px,100% 100%;border:1px solid rgba(54,132,94,.09);border-radius:calc(var(--radius) * 1.5);margin-top:clamp(2rem,4vw,4rem)}
.section-heading,.process-heading,.brands-heading,.faq-heading{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:clamp(3rem,6vw,6rem);max-width:100%}
.section-heading h2,.process-heading h2,.brands-heading h2,.faq-heading h2,.portfolio-intro h2,.contact-copy h2{font-size:clamp(2.7rem,5.3vw,6rem);font-weight:510;letter-spacing:-.06em;line-height:.95;text-wrap:balance}
.section-heading p,.process-heading p,.brands-heading p,.faq-heading p,.portfolio-intro>p:not(.section-kicker),.contact-copy>p:not(.section-kicker){color:var(--muted);font-size:1.05rem;max-width:850px}

.service-showcase{display:grid;gap:16px;grid-template-columns:repeat(12,1fr);grid-template-rows:minmax(520px,64vh) minmax(360px,48vh)}
.service-feature{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:grid;overflow:hidden;position:relative}
.service-feature-large{grid-column:span 8;grid-template-rows:minmax(0,1fr) auto}
.service-feature-compact{grid-column:span 4;grid-template-rows:minmax(0,1fr) auto}
.service-feature-text{background:var(--accent-soft);grid-column:span 12;grid-template-columns:1.2fr .8fr;min-height:360px}
.service-image{min-height:0;overflow:hidden}
.service-image img{height:100%;transition:transform .9s var(--ease)}
.service-feature:hover .service-image img{transform:scale(1.045)}
.service-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(1.5rem,3vw,2.6rem)}
.service-copy h3{font-size:clamp(1.65rem,3vw,3rem);font-weight:510;letter-spacing:-.045em;line-height:1;margin-bottom:.7rem}
.service-copy p{color:var(--muted);max-width:620px}
.service-copy a{align-self:flex-start;border-bottom:1px solid currentColor;color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.07em;margin-top:1.5rem;padding-bottom:.2rem;text-transform:uppercase}
.material-swatch{background:linear-gradient(135deg,var(--accent) 0 33%,var(--surface-strong) 33% 66%,var(--text) 66%);margin:clamp(1.5rem,3vw,2.6rem);mask-image:linear-gradient(to left,#000,transparent);opacity:.9}

.portfolio{background:var(--surface);border-radius:var(--radius);isolation:isolate;margin-bottom:clamp(3.5rem,5vw,5.5rem);margin-top:clamp(3.5rem,5vw,5.5rem);max-width:100%;overflow:hidden;padding:clamp(3rem,5vw,5rem);position:relative;width:100%;z-index:5}
.portfolio-intro{align-items:center;display:flex;flex-direction:column;gap:1.25rem;margin:0 auto;max-width:100%;text-align:center}
.portfolio-filters{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0 2rem}
.filter-btn{background:transparent;border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);cursor:pointer;font-size:.73rem;font-weight:620;min-height:42px;padding:0 1rem;transition:background .25s,border-color .25s,color .25s}
.filter-btn:hover,.filter-btn.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.portfolio-stage{margin:clamp(2.5rem,5vw,5rem) auto 0;max-width:100%}
.portfolio-stage-media{background:var(--surface-strong);border-radius:var(--radius);height:clamp(390px,56vw,680px);overflow:hidden;position:relative}
.portfolio-stage-media img{height:100%;object-position:center;transition:transform .9s var(--ease)}
.portfolio-stage:hover .portfolio-stage-media img{transform:scale(1.025)}
.portfolio-stage-copy{align-items:flex-start;display:flex;justify-content:space-between;padding:1.4rem .15rem 0}
.portfolio-stage-copy h3{font-size:clamp(1.6rem,3vw,3rem);font-weight:530;letter-spacing:-.045em;line-height:1}
.portfolio-stage-copy p{color:var(--muted);margin-top:.45rem}
.portfolio-stage-copy>span{color:var(--accent);font-size:.72rem;font-weight:700;text-transform:uppercase}
.portfolio-browser{align-items:center;display:grid;gap:1rem;grid-template-columns:auto 1fr auto;margin:2rem auto 0;max-width:100%}
.portfolio-arrow{background:transparent;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;font-size:.7rem;font-weight:680;min-height:46px;padding:0 1.1rem;text-transform:uppercase;transition:background .25s,color .25s}
.portfolio-arrow:hover{background:var(--accent);color:var(--on-accent)}
.portfolio-arrow:disabled{cursor:not-allowed;opacity:.42}.portfolio-arrow:disabled:hover{background:transparent;color:inherit}
.portfolio-project-tabs{display:flex;gap:.65rem;justify-content:center}
.project-tab{background:transparent;border:2px solid transparent;border-radius:var(--radius);cursor:pointer;height:62px;overflow:hidden;padding:3px;transition:border-color .25s,transform .25s;width:90px}
.project-tab img{border-radius:calc(var(--radius) - 5px);height:100%}
.project-tab:hover{transform:translateY(-3px)}.project-tab[aria-current="true"]{border-color:var(--accent)}
.portfolio-empty{align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);display:flex;height:420px;justify-content:center;text-align:center}.portfolio-empty p{color:var(--muted);max-width:360px}
.portfolio-link{display:flex;margin:2.5rem auto 0;width:max-content}

.process-layout{display:grid;gap:clamp(3rem,7vw,8rem);grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)}
.process{background-image:linear-gradient(90deg,rgba(247,247,244,.98) 0%,rgba(247,247,244,.9) 48%,rgba(247,247,244,.8) 100%),url("../asset/mosaic-3.jpg");background-position:center;background-size:cover;border:1px solid rgba(54,132,94,.1);border-radius:calc(var(--radius) * 1.5);padding-bottom:3rem}
.process-visual{border-radius:var(--radius);height:min(72vh,720px);overflow:hidden;position:sticky;top:calc(var(--nav-height) + 24px)}
.process-visual img{height:100%}
.process-shutter{background:var(--accent);inset:0;position:absolute;transform-origin:bottom}
.process-steps{display:flex;flex-direction:column;justify-content:center}
.process-steps article{padding:2.2rem 0}
.process-steps article+article{border-top:1px solid var(--line)}
.process-steps span{color:var(--accent);display:block;font-size:.75rem;font-weight:700;margin-bottom:.65rem}
.process-steps h3{font-size:clamp(1.55rem,2.4vw,2.5rem);font-weight:520;letter-spacing:-.04em;margin-bottom:.5rem}
.process-steps p{color:var(--muted);max-width:440px}

.about{align-items:center;background-image:radial-gradient(circle at 92% 26%,rgba(216,232,223,.92),transparent 31%),repeating-linear-gradient(135deg,transparent 0 18px,rgba(54,132,94,.035) 18px 19px);border-radius:calc(var(--radius) * 1.5);display:grid;gap:clamp(3rem,8vw,9rem);grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr)}
.about{padding-top:3rem}
.about-gallery{height:min(78vh,760px);position:relative}
.about-image{border-radius:var(--radius);overflow:hidden;position:absolute}
.about-image img{height:100%}
.about-image-main{height:82%;left:0;top:0;width:78%}
.about-image-small{bottom:0;height:48%;right:0;width:48%}
.about-copy h2,.ceo-copy h2,.testimonial-shell h2{font-size:clamp(2.5rem,4.8vw,5.4rem);font-weight:510;letter-spacing:-.055em;line-height:.95;margin-bottom:1.5rem}
.about-copy p,.ceo-copy p{color:var(--muted);margin-bottom:1.2rem;max-width:570px}
.about-copy .button{margin-top:1rem}

.ceo-spotlight{align-items:center;background:var(--surface);border-radius:var(--radius);display:grid;gap:clamp(3rem,7vw,8rem);grid-template-columns:1.2fr .8fr;padding:clamp(3rem,7vw,7rem)}
.ceo-copy .text-link{border-bottom:1px solid currentColor;color:var(--accent);display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.07em;margin-top:1rem;padding-bottom:.25rem;text-transform:uppercase}
.ceo-portrait{border-radius:var(--radius);height:min(62vh,620px);overflow:hidden}
.ceo-portrait img{height:100%;object-position:center top}

.testimonials{align-items:stretch;display:grid;gap:16px;grid-template-columns:1.15fr .85fr}
.testimonial-shell,.testimonial-image{background:var(--surface);border-radius:var(--radius);min-height:620px;overflow:hidden}
.testimonial-shell{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(2rem,5vw,5rem)}
.testimonial-stage blockquote{font-size:clamp(1.7rem,3.25vw,3.5rem);font-weight:440;letter-spacing:-.04em;line-height:1.15;max-width:820px}
.testimonial-author{display:flex;flex-direction:column;margin-top:2rem}.testimonial-author strong{font-size:.9rem}.testimonial-author span{color:var(--muted);font-size:.78rem}
.testimonial-controls{align-items:center;display:flex;gap:1rem}
.testimonial-controls button{background:transparent;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;font-size:.7rem;font-weight:650;min-height:44px;padding:0 1rem;text-transform:uppercase;transition:background .25s,color .25s}
.testimonial-controls button:hover{background:var(--text);color:var(--bg)}
.testimonial-count{color:var(--muted);font-size:.75rem}
.testimonial-image img{height:100%}

.brands-grid{display:grid;gap:16px;grid-template-columns:1.25fr .75fr;grid-template-rows:repeat(2,minmax(300px,1fr))}
.brand-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:grid;grid-template-columns:1fr .9fr;overflow:hidden;position:relative;transition:transform .4s var(--ease),box-shadow .4s}
.brand-panel:hover{box-shadow:var(--shadow);transform:translateY(-5px)}
.brand-panel-large{grid-row:span 2;grid-template-columns:1fr;grid-template-rows:auto 1fr}
.brand-panel>div{display:flex;flex-direction:column;padding:clamp(1.5rem,3vw,3rem)}
.brand-panel h3{font-size:clamp(1.8rem,3vw,3.3rem);font-weight:520;letter-spacing:-.045em;line-height:1;margin-bottom:.8rem}
.brand-panel p{color:var(--muted);max-width:420px}
.brand-panel span{color:var(--accent);font-size:.72rem;font-weight:700;margin-top:auto;padding-top:2rem;text-transform:uppercase}
.brand-panel img{height:100%;min-height:230px}
.brand-panel-accent{background:var(--accent-soft)}

.cta-section{display:grid;gap:clamp(3rem,8vw,9rem);grid-template-columns:.82fr 1.18fr}
.contact-copy{align-self:start;position:sticky;top:calc(var(--nav-height) + 40px)}
.contact-copy h2{margin:1.3rem 0}.contact-details{display:flex;flex-direction:column;font-size:.88rem;gap:.5rem;margin-top:2rem}.contact-details a:hover{color:var(--accent)}
.cta-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.5rem,4vw,4rem)}
.form-row{display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column;margin-bottom:1.25rem}
.form-group label{font-size:.73rem;font-weight:650;margin-bottom:.5rem}
.form-group input,.form-group select,.form-group textarea{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font-size:1rem;min-height:52px;padding:.8rem 1rem;transition:border-color .2s,box-shadow .2s;width:100%}
.form-group textarea{min-height:130px;resize:vertical}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent);outline:0}
.form-group input[aria-invalid="true"]{border-color:#a4473f}
.form-error{color:#a4473f;font-size:.74rem;min-height:1.1rem;padding-top:.3rem}
.form-submit{width:100%}.form-status{color:var(--muted);font-size:.8rem;min-height:1.3rem;margin-top:1rem;text-align:center}

.faq{background-color:rgba(247,247,244,.88);background-image:linear-gradient(120deg,rgba(216,232,223,.62),transparent 36%),repeating-linear-gradient(90deg,transparent 0 64px,rgba(54,132,94,.045) 64px 65px);border:1px solid rgba(54,132,94,.08);border-radius:calc(var(--radius) * 1.5);display:grid;gap:clamp(3rem,8vw,9rem);grid-template-columns:.75fr 1.25fr}
.faq-heading{position:sticky;top:calc(var(--nav-height) + 40px)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{align-items:center;background:transparent;border:0;cursor:pointer;display:flex;font-size:clamp(1.1rem,1.6vw,1.45rem);font-weight:530;gap:1.5rem;justify-content:space-between;padding:1.6rem 0;text-align:left;width:100%}
.faq-symbol{align-items:center;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex:0 0 42px;font-size:1.2rem;height:42px;justify-content:center;transition:transform .35s var(--ease),background .25s}
.faq-q[aria-expanded="true"] .faq-symbol{background:var(--accent);color:var(--on-accent);transform:rotate(45deg)}
.faq-a{overflow:hidden}.faq-a p{color:var(--muted);max-width:650px;padding:0 4rem 1.6rem 0}

.footer{color:#fff;isolation:isolate;margin-top:4rem;overflow:hidden;padding:clamp(4rem,8vw,7rem) clamp(2rem,5vw,5rem) 2rem;position:relative;width:100%}
.footer::before{background-image:linear-gradient(180deg,rgba(15,25,19,.75),rgba(10,18,13,.82)),url("../asset/living-room.jpg");background-position:center;background-size:cover;content:"";filter:blur(14px) brightness(.9);inset:-20px;position:absolute;transform:scale(1.08);z-index:-1}
.footer-main{display:grid;gap:clamp(2rem,6vw,6rem);grid-template-columns:1.6fr repeat(3,1fr);padding-bottom:clamp(3rem,6vw,6rem)}
.footer-brand p{color:rgba(255,255,255,.78);margin-top:1.5rem;max-width:300px}
.footer-col{align-content:start;display:grid;gap:.65rem}.footer-col h2{color:#fff;font-size:.75rem;font-weight:700;margin-bottom:.7rem;text-transform:uppercase}.footer-col a,.footer-col p{color:rgba(255,255,255,.78);font-size:.84rem}.footer-col a:hover{color:#a7d2ba}
.footer-bottom{align-items:center;border-top:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.78);display:grid;font-size:.7rem;grid-template-columns:1fr auto 1fr;padding-top:1.5rem}.footer-bottom>a{justify-self:end}.footer-socials{display:flex;gap:1.2rem}.footer-socials a:hover{color:#a7d2ba}
.wa-float{position:fixed;bottom:24px;right:24px;z-index:999;display:inline-flex;align-items:center;gap:10px;background:#25D366;color:#ffffff!important;padding:12px 20px 12px 16px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.02em;text-decoration:none;box-shadow:0 10px 30px rgba(37,211,102,.45);transition:transform .3s ease,background .3s ease,box-shadow .3s ease}
.wa-float svg{width:22px;height:22px;fill:currentColor;flex-shrink:0}
.wa-float:hover{background:#20ba5a;color:#ffffff!important;transform:translateY(-3px) scale(1.03);box-shadow:0 14px 36px rgba(37,211,102,.6)}

/* Shared legacy CEO page support */
.topbar{display:none}
.container{margin:0;max-width:100%;padding:0 clamp(2rem,5vw,5rem);width:100%}
.navbar-inner .logo-text{display:flex;flex-direction:column}.navbar-inner .logo-name{font-size:.86rem;font-weight:700}.navbar-inner .logo-tagline{color:var(--muted);font-size:.61rem;margin-top:.2rem}.navbar-inner .nav-cta{display:flex;justify-self:end}.navbar-inner .nav-phone{display:none}.navbar-inner .hamburger{display:none}
.hamburger{background:transparent;border:0;cursor:pointer;height:48px;justify-self:end;padding:12px;width:48px}.hamburger span{background:var(--text);display:block;height:2px;margin:5px 0;width:100%}
.btn{align-items:center;border:1px solid transparent;border-radius:var(--radius);display:inline-flex;font-size:.76rem;font-weight:680;justify-content:center;min-height:50px;padding:0 1.45rem;text-transform:uppercase;white-space:nowrap}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-outline{border-color:var(--text);color:var(--text)}
.ceo-page-hero{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh;padding-top:var(--nav-height)}
.ceo-page-copy{align-self:center;padding:5rem clamp(2rem,5vw,5rem)}.ceo-page-copy-inner{max-width:850px}.ceo-page-copy h1{font-size:clamp(3rem,5vw,6rem);font-weight:520;letter-spacing:-.06em;line-height:.95;margin:1.5rem 0}.ceo-page-copy h1 strong{color:var(--accent);display:block;font-weight:420}.ceo-page-copy p{color:var(--muted);max-width:720px}.ceo-page-actions{display:flex;gap:.75rem;margin-top:2rem}.ceo-page-visual{border-radius:0 0 0 var(--radius);overflow:hidden}.ceo-page-visual img{height:100%}
.section-label{color:var(--accent);font-size:.69rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.section-title{font-size:clamp(2.3rem,4vw,4.8rem);font-weight:520;letter-spacing:-.05em;line-height:1}.section-title em{color:var(--accent);font-family:inherit;font-weight:420}
.ceo-bio,.ceo-expertise{padding:8rem 0}.ceo-bio-grid{display:grid;gap:clamp(3rem,7vw,7rem);grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr)}.ceo-bio-card{align-self:start;background:var(--surface);border-radius:var(--radius);overflow:hidden;padding:1.25rem}.ceo-bio-card img{border-radius:var(--radius);max-height:520px}.ceo-bio-card h2{font-size:2rem;margin-top:1.5rem}.ceo-bio-card>p,.ceo-story p{color:var(--muted);margin-bottom:1rem}.ceo-fact-list{margin-top:2rem}.ceo-fact{display:flex;flex-direction:column;padding:1rem 0}.ceo-fact+.ceo-fact{border-top:1px solid var(--line)}.ceo-fact span{color:var(--accent);font-size:.7rem;font-weight:700;text-transform:uppercase}.ceo-fact strong{font-size:.9rem;margin-top:.25rem}.ceo-story .section-title{margin:1.4rem 0 2rem}.ceo-quote{background:var(--accent-soft);border-radius:var(--radius);font-size:1.35rem;margin-top:2rem;padding:2rem}
.ceo-expertise{background:var(--surface)}.ceo-expertise h2{font-size:clamp(2.3rem,4vw,4.8rem);font-weight:520;letter-spacing:-.05em;margin:1rem 0 3rem;max-width:850px}.ceo-expertise-grid{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.ceo-expertise-card{background:var(--bg);border-radius:var(--radius);padding:2rem}.ceo-expertise-card>span{color:var(--accent);font-size:.72rem;font-weight:700}.ceo-expertise-card h3{font-size:1.7rem;margin:.8rem 0}.ceo-expertise-card p{color:var(--muted)}
.footer-col ul{display:grid;gap:.65rem;list-style:none}.footer-col h5{font-size:.75rem;font-weight:700;margin-bottom:.7rem;text-transform:uppercase}.footer-contact-item{color:var(--muted);font-size:.84rem;margin-bottom:.6rem}.social-btn{color:var(--muted);font-size:.76rem}

.services-detail-grid{display:grid;gap:24px;grid-template-columns:repeat(2,1fr);margin-top:3rem}
.service-detail-card{background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--radius) * 1.2);display:flex;flex-direction:column;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.service-detail-card:hover{box-shadow:var(--shadow);transform:translateY(-6px)}
.card-media{height:280px;overflow:hidden;position:relative}
.card-media img{height:100%;object-fit:cover;transition:transform .7s var(--ease);width:100%}
.service-detail-card:hover .card-media img{transform:scale(1.05)}
.card-badge{background:var(--accent);border-radius:999px;color:var(--on-accent);font-size:.65rem;font-weight:800;letter-spacing:.12em;padding:.4rem .85rem;position:absolute;right:1rem;text-transform:uppercase;top:1rem;z-index:2}
.card-body{display:flex;flex:1;flex-direction:column;padding:clamp(1.5rem,3vw,2.4rem)}
.card-body h3{font-size:clamp(1.4rem,2.2vw,2.1rem);font-weight:550;letter-spacing:-.03em;margin-bottom:.8rem}
.card-body p{color:var(--muted);font-size:.95rem;line-height:1.65;margin-bottom:1.4rem}
.service-feature-list{display:grid;gap:.5rem;list-style:none;margin-bottom:2rem;margin-top:auto;padding:0}
.service-feature-list li{align-items:center;color:var(--text);display:flex;font-size:.84rem;font-weight:550;gap:.6rem}
.service-feature-list li::before{background:var(--accent);border-radius:50%;content:"";flex-shrink:0;height:6px;width:6px}
.card-action{margin-top:auto;padding-top:1rem}
.card-action .button{width:100%}

@media(max-width:900px){
  .services-detail-grid{grid-template-columns:1fr}
}

@media(max-width:1100px){
  .nav-links{gap:1rem}.nav-links a{font-size:.72rem}.nav-button{padding:0 1rem}
  .hero h1{font-size:clamp(4.2rem,7.5vw,6.2rem)}
}

@media(max-width:900px){
  :root{--nav-height:68px}
  .nav-shell,.navbar-inner{grid-template-columns:1fr auto;padding:0 20px}.nav-links,.nav-button,.navbar-inner .nav-cta{display:none}.menu-toggle,.navbar-inner .hamburger{display:block}
  .section{padding:4rem 20px}.hero{min-height:100svh;padding:calc(var(--nav-height) + 2.5rem) 20px 8.5rem}.hero-copy{max-width:680px}.hero h1{font-size:clamp(3.8rem,11vw,5.5rem)}.hero-reel{bottom:20px;left:20px;right:20px}
  .proof{padding:1.5rem 20px}.proof-track{grid-template-columns:1fr 1fr;row-gap:1.5rem}.proof p:nth-child(3){border-left:0;padding-left:0}.proof p:nth-child(n+3){border-top:1px solid var(--line);padding-top:1.5rem}
  .service-showcase{display:flex;flex-direction:column}.service-feature-large,.service-feature-compact,.service-feature-text{display:grid;grid-template-columns:1fr;grid-template-rows:320px auto;min-height:0}.service-feature-text{grid-template-rows:auto 170px}.material-swatch{margin-top:0}
  .portfolio{margin:3rem 20px;max-width:none;padding:4rem 20px}.portfolio-stage-media{height:clamp(360px,70vw,560px)}
  .process-layout{grid-template-columns:1fr}.process-visual{height:52vh;min-height:380px;position:relative;top:auto}
  .about{grid-template-columns:1fr}.about-gallery{height:560px}.about-copy{max-width:680px}
  .ceo-spotlight{grid-template-columns:1fr}.ceo-portrait{height:520px;max-width:520px}
  .testimonials{grid-template-columns:1fr}.testimonial-shell{min-height:540px}.testimonial-image{height:480px;min-height:0}
  .brands-grid{display:flex;flex-direction:column}.brand-panel,.brand-panel-large{grid-template-columns:1fr;grid-template-rows:auto 260px}.brand-panel-accent{min-height:300px}
  .cta-section,.faq{grid-template-columns:1fr}.contact-copy,.faq-heading{position:relative;top:auto}.faq-heading{margin-bottom:1rem}
  .footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{gap:1.2rem;grid-template-columns:1fr}.footer-bottom>a{justify-self:start}
  .ceo-page-hero,.ceo-bio-grid{grid-template-columns:1fr}.ceo-page-copy{padding:5rem 20px}.ceo-page-visual{height:65vh}.ceo-expertise-grid{grid-template-columns:1fr}
}

@media(max-width:560px){
  .logo span{font-size:.67rem}.logo strong{font-size:.82rem}
  .hero{padding:calc(var(--nav-height) + 2rem) 20px 9.5rem}.hero-video-layer::after{background:linear-gradient(0deg,rgba(12,14,13,.78) 0%,rgba(12,14,13,.35) 70%,rgba(12,14,13,.2))}.hero h1{font-size:clamp(3.45rem,15vw,4.25rem);letter-spacing:-.07em}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{width:100%}.hero-reel{align-items:flex-start;flex-direction:column;gap:.75rem}.hero-reel-controls{width:100%}.hero-reel-controls button{flex:1}.hero-reel-controls .hero-video-toggle{flex:1.5}
  .proof-track{grid-template-columns:1fr}.proof p+p,.proof p:nth-child(3){border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:1.25rem}
  .section-heading h2,.process-heading h2,.brands-heading h2,.faq-heading h2,.portfolio-intro h2,.contact-copy h2{font-size:clamp(2.5rem,13vw,4.2rem)}
  .portfolio{margin:2rem 12px;padding:3rem 12px}.portfolio-stage-media{height:68vw;min-height:300px}.portfolio-stage-copy{align-items:flex-start;flex-direction:column;gap:.8rem}.portfolio-browser{grid-template-columns:1fr 1fr}.portfolio-project-tabs{grid-column:1/-1;grid-row:1;overflow-x:auto;padding:.25rem;justify-content:flex-start}.portfolio-arrow{grid-row:2}.project-tab{flex:0 0 76px}
  .about-gallery{height:430px}.ceo-spotlight{margin-left:12px;margin-right:12px;padding:2rem}.ceo-portrait{height:420px}
  .testimonial-shell{min-height:520px;padding:2rem}.testimonial-image{height:360px}
  .form-row{grid-template-columns:1fr}.cta-form{padding:1.25rem}.footer-main{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-socials{flex-wrap:wrap}.wa-float span{display:none}.wa-float{bottom:16px;right:16px;padding:0;width:52px;height:52px;border-radius:50%;justify-content:center}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
  .process-shutter{display:none}
}

@media(prefers-reduced-transparency:reduce){.navbar{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}}

/* Mobile navigation: readable contrast, comfortable targets and a scrollable menu. */
@media(max-width:1100px){
  :root{--nav-height:68px}
  .nav-shell,.navbar-inner{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding-inline:max(20px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-right))}
  .nav-links,.nav-button,.navbar-inner .nav-cta{display:none}
  .menu-toggle{display:block;border:1px solid #dbe1d8;border-radius:6px;background:#fff;color:var(--text);width:46px;height:46px}
  .navbar,.navbar.scrolled{background:#fff;border-bottom:1px solid var(--line);backdrop-filter:none;-webkit-backdrop-filter:none}
  .navbar:not(.scrolled) .logo{color:var(--text)}
  .navbar .menu-toggle span{background:var(--text)}
  .navbar .logo{min-width:0;gap:8px;font-size:16px}
  .navbar .logo img{width:40px;height:40px;object-fit:contain}
  .mobile-nav{top:var(--nav-height);bottom:auto;height:calc(100dvh - var(--nav-height));padding:18px 24px max(32px,env(safe-area-inset-bottom));overscroll-behavior:contain;background:#fff}
  .mobile-nav a{font-size:clamp(18px,4vw,24px);padding:17px 4px;min-height:52px;line-height:1.4;color:var(--text)}
  .mobile-nav a[aria-current=page]{color:var(--accent);font-weight:650}
  .mobile-nav a:last-child{margin-top:20px;padding:15px 18px;background:var(--accent);color:#fff;border-radius:5px;text-align:center}
}
@media(max-width:767px){
  input,select,textarea{font-size:16px!important}
  .hero h1{font-size:clamp(38px,11vw,64px);line-height:1.08;letter-spacing:-.04em;overflow-wrap:break-word}
  .hero{padding-bottom:11rem}
  .footer-col a,.footer-socials a{min-height:44px;display:inline-flex;align-items:center}
  .contact-grid>*,.footer-grid>*,.nav-shell>*{min-width:0}
  .button{min-height:48px;white-space:normal;text-align:center}
}
@media(max-width:767px){
 .ceo-page-hero{grid-template-columns:minmax(0,1fr)}
 .ceo-page-copy,.ceo-page-visual{min-width:0;max-width:100%}
 .ceo-page-copy h1{overflow-wrap:break-word;font-size:clamp(38px,12vw,64px)}
}
@media(max-width:767px){.ceo-page-copy .btn{max-width:100%;white-space:normal;text-align:center;min-height:48px;padding-inline:18px}}
