:root{--ink:#171a18;--muted:#6d716c;--paper:#f6f3ed;--white:#fff;--teal:#0b7d7f;--teal-dark:#075f60;--orange:#ca6b1d;--line:rgba(23,26,24,.14);--dark:#172524;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;--radius:2px;--shell:min(1240px,calc(100% - 36px))}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fbfaf7;font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}body.nav-open{overflow:hidden}img,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.shell{width:var(--shell);margin-inline:auto}.narrow{max-width:880px}.skip-link{position:fixed;left:14px;top:-80px;z-index:1000;background:#fff;padding:12px 16px}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.site-header{position:absolute;top:0;left:0;right:0;z-index:50;color:#fff}.site-header:after{content:'';position:absolute;inset:auto 0 0;height:1px;background:rgba(255,255,255,.24)}.nav-shell{height:86px;display:flex;align-items:center;justify-content:space-between}.brand img{width:205px;filter:brightness(0) invert(1)}.site-nav{display:none;position:fixed;inset:0;background:var(--paper);color:var(--ink);padding:120px 28px 40px;flex-direction:column;gap:0}.site-nav.is-open{display:flex}.site-nav>a{font-family:var(--serif);font-size:28px;padding:16px 0;border-bottom:1px solid var(--line)}.site-nav .nav-cta{font-family:var(--sans);font-size:16px;margin-top:22px;border:1px solid var(--ink);padding:15px 18px;text-align:center}.menu-toggle{z-index:60;width:46px;height:46px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.4);display:grid;place-content:center;gap:5px}.menu-toggle span:not(.sr-only){display:block;width:20px;height:1px;background:#fff}.nav-open .menu-toggle{background:var(--ink);border-color:var(--ink)}
.hero{position:relative;min-height:760px;height:100svh;max-height:980px;color:#fff;overflow:hidden}.hero-media,.hero-media img,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-media img{object-fit:cover;object-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(8,18,17,.78) 0%,rgba(8,18,17,.46) 45%,rgba(8,18,17,.05) 78%)}.hero-inner{position:relative;height:100%;display:flex;align-items:flex-end;padding-bottom:108px}.hero-copy{max-width:730px}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700}.eyebrow{margin:0 0 20px;color:rgba(255,255,255,.86)}.hero h1,.page-hero h1,.page-title h1,.contact-page h1,.error-page h1{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:.92;margin:0}.hero h1{font-size:clamp(54px,10vw,118px)}.hero-lead{max-width:650px;font-size:18px;color:rgba(255,255,255,.88);margin:26px 0 28px}.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.btn{min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border:1px solid transparent;font-weight:700;font-size:14px;letter-spacing:.02em;transition:.25s ease}.btn-primary{background:var(--teal);color:#fff}.btn-primary:hover{background:var(--teal-dark);transform:translateY(-2px)}.btn-outline{border-color:var(--ink)}.btn-outline:hover{background:var(--ink);color:#fff}.btn-light{background:#fff;color:var(--ink)}.text-link{font-weight:700;padding:12px 0;border-bottom:1px solid currentColor}.text-link span{margin-left:6px}.hero-proof{display:flex;gap:22px;margin-top:38px;font-size:13px;text-transform:uppercase;letter-spacing:.13em;color:rgba(255,255,255,.72)}.hero-scroll{display:none;position:absolute;right:24px;bottom:38px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;transform:rotate(90deg);transform-origin:right bottom}.hero-scroll span{margin-left:10px}
.section{padding:96px 0}.section-tight{padding:72px 0}.split-intro{display:grid;gap:32px}.kicker{color:var(--teal);margin:0 0 18px}.kicker.light{color:#9ed8d7}.split-intro h2,.section-head h2,.services-top h2,.project-copy h2,.faq h2,.closing-inner h2,.video-copy h2,.pair-copy h2,.center-copy h2,.about-columns h2{font-family:var(--serif);font-size:clamp(38px,7vw,76px);font-weight:400;letter-spacing:-.04em;line-height:1;margin:0}.split-intro p:not(.kicker){font-size:18px;color:var(--muted);max-width:680px}.section-head{max-width:820px;margin-bottom:34px}.section-head h2{font-size:clamp(40px,6vw,70px)}
.editorial-grid{display:grid;gap:18px}.feature-card{position:relative;min-height:480px;overflow:hidden;background:#ddd;color:#fff}.feature-card img,.feature-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.feature-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.72) 100%)}.card-label{position:absolute;z-index:2;left:22px;right:22px;bottom:22px}.card-label span{font-size:11px;letter-spacing:.16em}.card-label h3{font-family:var(--serif);font-weight:400;font-size:32px;margin:6px 0}.card-label p{margin:0;color:rgba(255,255,255,.78);max-width:390px}.feature-card:hover img,.feature-card:hover video{transform:scale(1.025)}.feature-card img,.feature-card video{transition:transform .7s ease}
.services-dark{background:var(--dark);color:#fff}.services-top{max-width:810px;margin-bottom:48px}.services-top p:last-child{color:rgba(255,255,255,.68);max-width:620px;font-size:18px}.service-row{display:grid;grid-template-columns:46px 1fr auto;gap:14px;align-items:start;border-top:1px solid rgba(255,255,255,.17);padding:26px 0}.service-row:last-child{border-bottom:1px solid rgba(255,255,255,.17)}.service-row .num{font-size:11px;color:#9ed8d7}.service-row h3{font-family:var(--serif);font-size:30px;font-weight:400;margin:0}.service-row p{display:none;color:rgba(255,255,255,.62);margin:4px 0 0}.service-row .arrow{font-size:24px;color:#9ed8d7}.project-story-grid{display:grid;gap:38px}.project-image{min-height:540px}.project-image img{width:100%;height:100%;object-fit:cover}.project-copy{align-self:center}.project-copy>p:not(.kicker){color:var(--muted);font-size:18px}.steps{border-top:1px solid var(--line);margin:34px 0}.steps>div{display:grid;grid-template-columns:45px 1fr;border-bottom:1px solid var(--line);padding:16px 0}.steps b{color:var(--teal);font-size:12px}.steps span{font-weight:600}
.row-head{display:flex;flex-direction:column;gap:12px;justify-content:space-between;max-width:none}.masonry{display:grid;grid-template-columns:1fr;gap:14px}.masonry figure{margin:0;overflow:hidden;min-height:380px;background:#eee}.masonry img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.masonry figure:hover img{transform:scale(1.02)}.faq{background:#f0ede6}.faq-grid{display:grid;gap:38px}.accordion details{border-top:1px solid var(--line)}.accordion details:last-child{border-bottom:1px solid var(--line)}.accordion summary{list-style:none;cursor:pointer;font-family:var(--serif);font-size:24px;padding:22px 42px 22px 0;position:relative}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{position:absolute;right:0}.accordion details[open] summary span{transform:rotate(45deg)}.accordion details p{color:var(--muted);margin:0;padding:0 42px 22px 0}.closing-cta{position:relative;min-height:620px;display:flex;align-items:flex-end;color:#fff}.closing-media,.closing-media:after,.closing-media img{position:absolute;inset:0;width:100%;height:100%}.closing-media img{object-fit:cover}.closing-media:after{content:'';background:linear-gradient(0deg,rgba(5,13,12,.78),rgba(5,13,12,.12))}.closing-inner{position:relative;padding-bottom:72px}.closing-inner h2{max-width:850px;margin-bottom:26px}
.page-hero{min-height:660px;padding-top:160px}.page-hero-image{position:relative;color:#fff;display:flex;align-items:flex-end;padding-bottom:70px}.page-bg,.page-bg:after,.page-bg img{position:absolute;inset:0;width:100%;height:100%}.page-bg img{object-fit:cover}.page-bg:after{content:'';background:linear-gradient(90deg,rgba(5,13,12,.82),rgba(5,13,12,.15))}.page-hero-inner{position:relative;max-width:800px;margin-left:auto;margin-right:auto}.page-hero h1{font-size:clamp(50px,8vw,96px);margin-bottom:22px}.page-hero p:not(.eyebrow){font-size:18px;max-width:650px;color:rgba(255,255,255,.85);margin-bottom:26px}.cards-3{display:grid;gap:14px}.info-card{border:1px solid var(--line);padding:28px;min-height:230px;background:#fff}.info-card span{font-size:11px;color:var(--teal);letter-spacing:.15em}.info-card h3{font-family:var(--serif);font-size:30px;font-weight:400;margin:18px 0 10px}.info-card p{color:var(--muted);margin:0}.video-feature{background:#efebe3}.video-feature-grid{display:grid;gap:38px;align-items:center}.video-feature video{width:100%;max-height:720px;object-fit:cover;background:#111}.video-copy p:not(.kicker){color:var(--muted);font-size:18px}.center-copy{text-align:center;max-width:800px}.center-copy p:not(.kicker){color:var(--muted);margin:18px auto 28px;max-width:620px}.editorial-page{background:var(--paper);color:var(--ink);padding-bottom:70px}.editorial-hero-grid{display:grid;gap:38px;align-items:center}.editorial-page .eyebrow{color:var(--teal)}.editorial-page h1{font-size:clamp(50px,8vw,94px)}.editorial-page p:not(.eyebrow){color:var(--muted)}.editorial-hero-grid img{width:100%;max-height:720px;object-fit:cover}.editorial-pairs{display:grid;gap:20px}.pair-image img{width:100%;height:100%;min-height:420px;object-fit:cover}.pair-copy{padding:28px 0;align-self:center}.pair-copy p:not(.kicker){color:var(--muted);font-size:18px}.tone-strip{background:var(--teal);color:#fff;padding:22px 0}.tone-strip .shell{display:flex;justify-content:space-between;gap:10px;overflow:hidden}.tone-strip p{font-family:var(--serif);font-size:22px;white-space:nowrap;margin:0}.page-title{padding-top:160px;padding-bottom:66px;background:var(--paper)}.page-title .eyebrow,.contact-page .eyebrow{color:var(--teal)}.page-title h1,.contact-page h1{font-size:clamp(52px,8vw,102px)}.page-title p:not(.eyebrow){font-size:20px;color:var(--muted);max-width:720px}.work-grid-section{padding-bottom:90px}.work-grid{display:grid;gap:14px}.work-item{margin:0;background:#e8e5de;overflow:hidden}.work-item img,.work-item video{width:100%;height:520px;object-fit:cover}.work-item figcaption{padding:12px 2px 20px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);background:#fbfaf7}.about-image{width:min(1460px,100%);margin:auto}.about-image img{width:100%;max-height:820px;object-fit:cover}.about-columns{display:grid;gap:34px}.about-columns p{font-size:18px;color:var(--muted)}.contact-page{padding-top:160px;background:var(--paper)}.contact-grid{display:grid;gap:50px}.contact-page h1{margin-bottom:24px}.contact-page>div>div>p:not(.eyebrow){font-size:18px;color:var(--muted)}.contact-direct{margin-top:36px;border-top:1px solid var(--line)}.contact-direct a{display:block;border-bottom:1px solid var(--line);padding:18px 0}.contact-direct small{display:block;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-size:10px}.contact-direct strong{font-size:18px}.brief-card{background:#fff;padding:26px;border:1px solid var(--line)}.brief-card h2{font-family:var(--serif);font-size:34px;font-weight:400;margin:0 0 10px}.brief-card>p{color:var(--muted)}.brief-card label{display:block;margin-top:18px;font-weight:700;font-size:13px}.brief-card select,.brief-card textarea{width:100%;margin-top:8px;border:1px solid #cbc9c3;background:#fff;padding:13px;min-height:48px;border-radius:0}.brief-card .btn{width:100%;margin-top:18px}.error-page{min-height:80vh;padding:180px 0 90px}.error-page h1{font-size:clamp(50px,10vw,100px)}
.site-footer{background:#101817;color:#fff;padding:62px 0 26px}.footer-grid{display:grid;gap:38px}.footer-brand img{width:220px;filter:brightness(0) invert(1)}.footer-brand p{max-width:390px;color:rgba(255,255,255,.65)}.footer-grid h2{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#9ed8d7}.footer-grid>div:not(.footer-brand) a{display:block;padding:7px 0;color:rgba(255,255,255,.82)}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:44px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.45);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.floating-wa{position:fixed;right:14px;bottom:14px;z-index:40;background:#1f8f76;color:#fff;border-radius:999px;min-height:50px;padding:0 18px;display:flex;align-items:center;box-shadow:0 12px 36px rgba(0,0,0,.18);font-size:13px;font-weight:800}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}
@media (min-width:620px){:root{--shell:min(1240px,calc(100% - 60px))}.masonry{grid-template-columns:repeat(2,1fr)}.masonry .wide{grid-column:span 2}.cards-3{grid-template-columns:repeat(2,1fr)}.work-grid{grid-template-columns:repeat(2,1fr)}.work-item.wide{grid-column:span 2}.footer-grid{grid-template-columns:2fr 1fr 1.2fr}.row-head{flex-direction:row;align-items:flex-end}.hero-proof{gap:30px}}
@media (min-width:860px){.nav-shell{height:96px}.brand img{width:230px}.menu-toggle{display:none}.site-nav{display:flex;position:static;inset:auto;background:none;color:#fff;padding:0;flex-direction:row;align-items:center;gap:22px}.site-nav>a{font-family:var(--sans);font-size:13px;border:0;padding:12px 0}.site-nav .nav-cta{font-size:13px;margin:0;border:1px solid rgba(255,255,255,.72);padding:12px 16px}.split-intro{grid-template-columns:1fr 2fr}.editorial-grid{grid-template-columns:1.18fr 1fr;grid-template-rows:1fr 1fr}.feature-tall{grid-row:1/3;min-height:790px}.feature-card:not(.feature-tall){min-height:386px}.service-row{grid-template-columns:64px 1.15fr 1fr 32px;align-items:center;padding:30px 0}.service-row p{display:block}.project-story-grid{grid-template-columns:1.05fr .95fr}.project-image{min-height:760px}.masonry{grid-template-columns:1.1fr .9fr 1fr}.masonry figure{min-height:420px}.masonry .wide{grid-column:span 2}.faq-grid{grid-template-columns:.82fr 1.18fr}.closing-cta{min-height:760px}.cards-3{grid-template-columns:repeat(3,1fr)}.video-feature-grid{grid-template-columns:.8fr 1.2fr}.video-feature video{max-height:760px}.editorial-hero-grid{grid-template-columns:.9fr 1.1fr}.editorial-pairs{grid-template-columns:1.1fr .9fr}.pair-copy{padding:50px}.work-grid{grid-template-columns:repeat(12,1fr);align-items:start}.work-item{grid-column:span 4}.work-item.tall{grid-column:span 4}.work-item.wide{grid-column:span 8}.work-item.tall img,.work-item.tall video{height:700px}.work-item.wide img{height:520px}.about-columns{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr .9fr}.brief-card{padding:38px}.hero-scroll{display:block}}
@media (min-width:1080px){.section{padding:126px 0}.section-tight{padding:92px 0}.hero-inner{padding-bottom:120px}.hero-lead{font-size:20px}.editorial-grid{gap:24px}.feature-card{border-radius:var(--radius)}.service-row h3{font-size:38px}.masonry{gap:20px}.work-grid{gap:20px}.floating-wa{right:24px;bottom:22px}}
@media (max-width:430px){:root{--shell:calc(100% - 28px)}.nav-shell{height:78px}.brand img{width:180px}.hero{min-height:720px}.hero-inner{padding-bottom:78px}.hero-media img{object-position:62% center}.hero h1{font-size:58px}.hero-lead{font-size:16px}.hero-proof{gap:14px;flex-wrap:wrap;font-size:10px}.actions{align-items:stretch}.actions .btn{width:100%}.feature-card{min-height:430px}.project-image{min-height:480px}.section{padding:78px 0}.section-tight{padding:58px 0}.footer-bottom{flex-direction:column}.floating-wa span{font-size:0}.floating-wa:after{content:'WA';font-size:12px}.floating-wa{width:52px;padding:0;justify-content:center}.work-item img,.work-item video{height:460px}.page-hero{min-height:620px;padding-top:130px}.page-title,.contact-page{padding-top:132px}.tone-strip p:nth-child(even){display:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}video[autoplay]{display:none}}

/* v1.1 visual refinement: readable navigation, tighter pacing, sharper first impression */
.site-header{position:fixed;transition:background-color .28s ease,box-shadow .28s ease,color .28s ease;backdrop-filter:saturate(120%) blur(0);-webkit-backdrop-filter:saturate(120%) blur(0)}
.site-header.header-on-light,.site-header.is-scrolled,body.nav-open .site-header{color:var(--ink);background:rgba(251,250,247,.94);box-shadow:0 1px 0 rgba(23,26,24,.10);backdrop-filter:saturate(130%) blur(14px);-webkit-backdrop-filter:saturate(130%) blur(14px)}
.site-header.header-on-light:after,.site-header.is-scrolled:after,body.nav-open .site-header:after{background:rgba(23,26,24,.09)}
.site-header.header-on-light .brand img,.site-header.is-scrolled .brand img,body.nav-open .site-header .brand img{filter:none}
.site-header.header-on-light .site-nav,.site-header.is-scrolled .site-nav,body.nav-open .site-header .site-nav{color:var(--ink)}
.site-header.header-on-light .site-nav .nav-cta,.site-header.is-scrolled .site-nav .nav-cta,body.nav-open .site-header .site-nav .nav-cta{border-color:rgba(23,26,24,.42)}
.site-header.header-on-light .menu-toggle,.site-header.is-scrolled .menu-toggle,body.nav-open .site-header .menu-toggle{background:rgba(23,26,24,.04);border-color:rgba(23,26,24,.24)}
.site-header.header-on-light .menu-toggle span:not(.sr-only),.site-header.is-scrolled .menu-toggle span:not(.sr-only),body.nav-open .site-header .menu-toggle span:not(.sr-only){background:var(--ink)}
.site-header.header-on-dark:not(.is-scrolled) .brand img{filter:brightness(0) invert(1)}
.site-header.header-on-dark:not(.is-scrolled) .site-nav{color:#fff}
.site-header.header-on-dark:not(.is-scrolled) .site-nav .nav-cta{border-color:rgba(255,255,255,.72)}
.site-header.header-on-dark:not(.is-scrolled) .menu-toggle{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4)}
.site-header.header-on-dark:not(.is-scrolled) .menu-toggle span:not(.sr-only){background:#fff}

.hero-media img{object-position:center 48%;filter:none}
.hero-shade{background:linear-gradient(90deg,rgba(8,18,17,.83) 0%,rgba(8,18,17,.58) 34%,rgba(8,18,17,.22) 60%,rgba(8,18,17,.04) 82%)}
.hero-copy{max-width:760px}
.hero h1{text-shadow:0 2px 24px rgba(0,0,0,.10)}

.intro.section{padding:90px 0 82px}
.intro .split-intro{align-items:start}
.intro .split-intro h2{max-width:760px}
.intro .split-intro p:not(.kicker){margin-bottom:0}
.page-title.section{padding:156px 0 72px}
.contact-page.section{padding:156px 0 96px}
.closing-plain.section{padding:90px 0}
.work-grid-section{padding-top:18px;padding-bottom:84px}
.editorial-page.page-hero{min-height:0;padding:156px 0 86px}
.editorial-hero-grid{align-items:center}
.editorial-hero-grid img{max-height:610px}

.floating-wa{min-height:48px;padding:0 16px;font-size:12px;right:20px;bottom:18px}

@media (min-width:860px){
  .site-header.header-on-light .site-nav,.site-header.is-scrolled .site-nav,body.nav-open .site-header .site-nav{background:none}
  .page-title.section .narrow{max-width:1160px;margin-left:auto;margin-right:auto}
  .page-title.section h1{max-width:1080px}
  .page-title.section p:not(.eyebrow){margin-bottom:0}
}
@media (min-width:1080px){
  .section{padding:108px 0}
  .section-tight{padding:80px 0}
  .intro.section{padding:96px 0 90px}
  .page-title.section{padding:164px 0 76px}
  .contact-page.section{padding:164px 0 100px}
  .closing-plain.section{padding:96px 0}
  .work-grid-section{padding-top:14px;padding-bottom:94px}
  .editorial-page.page-hero{padding:164px 0 92px}
}
@media (max-width:859px){
  .site-nav{background:var(--paper);color:var(--ink)}
  .site-nav .nav-cta{border-color:var(--ink)}
  .hero{height:auto;min-height:760px;max-height:none}
  .hero-media img{object-position:58% center}
  .hero-shade{background:linear-gradient(90deg,rgba(8,18,17,.82),rgba(8,18,17,.35) 70%,rgba(8,18,17,.12))}
  .page-title.section{padding-top:132px;padding-bottom:58px}
  .contact-page.section{padding-top:132px;padding-bottom:76px}
  .editorial-page.page-hero{padding-top:132px;padding-bottom:68px}
}
@media (max-width:430px){
  .hero-media img{object-position:54% center}
  .intro.section{padding:68px 0 64px}
  .page-title.section{padding-top:116px;padding-bottom:48px}
  .contact-page.section{padding-top:116px;padding-bottom:66px}
  .editorial-page.page-hero{padding-top:116px;padding-bottom:60px}
  .floating-wa{right:12px;bottom:12px}
}


/* v1.2 social integration */
.social-showcase{background:#f3f0e9;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.social-showcase-grid{display:grid;gap:34px;align-items:center}
.social-showcase h2,.work-social h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:1.02;margin:10px 0 16px;font-size:clamp(38px,6vw,68px)}
.social-showcase p:not(.kicker),.work-social p{color:var(--muted);max-width:670px;font-size:17px}
.social-cards{display:grid;gap:12px}
.social-card{display:flex;align-items:center;gap:18px;padding:22px;border:1px solid var(--line);background:#fff;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.social-card:hover{transform:translateY(-3px);border-color:rgba(11,125,127,.4);box-shadow:0 16px 40px rgba(20,26,25,.07)}
.social-card-mark,.social-icon{display:grid;place-items:center;flex:0 0 auto;border:1px solid currentColor;border-radius:50%;font-family:var(--sans);font-weight:800}
.social-card-mark{width:52px;height:52px;color:var(--teal);font-size:14px}
.social-card.facebook .social-card-mark{text-transform:lowercase;font-family:Arial,sans-serif;font-size:25px}
.social-card-copy{display:flex;flex-direction:column;min-width:0}
.social-card-copy small,.footer-socials small{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:9px;color:var(--muted);margin-bottom:3px}
.social-card-copy strong{font-size:15px;overflow-wrap:anywhere}
.social-card-copy em{font-style:normal;font-size:12px;color:var(--teal);margin-top:6px;font-weight:700}
.footer-socials{display:grid;gap:8px;margin-top:14px}
.footer-socials .social-link{display:flex!important;align-items:center;gap:11px;padding:9px 0!important}
.footer-socials .social-icon{width:31px;height:31px;font-size:10px;color:#9ed8d7}
.footer-socials .social-link:last-child .social-icon{font-family:Arial,sans-serif;font-size:18px;text-transform:lowercase}
.footer-socials small{color:rgba(255,255,255,.45);margin:0}
.footer-socials .social-link span:last-child{display:block;font-size:12px;line-height:1.35}
.contact-direct a{transition:padding-left .2s ease,color .2s ease}
.contact-direct a:hover{padding-left:8px;color:var(--teal)}
.social-note{font-size:13px!important;color:var(--muted);margin-top:16px;max-width:560px}
.work-social{background:#f0ede6;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.work-social-inner{display:grid;gap:26px;align-items:end}
.work-social-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
@media (min-width:720px){.social-showcase-grid{grid-template-columns:1.05fr .95fr}.social-cards{grid-template-columns:1fr 1fr}.work-social-inner{grid-template-columns:1fr auto}.work-social-actions{justify-content:flex-end}}
@media (max-width:430px){.social-card{padding:18px}.social-card-mark{width:46px;height:46px}.social-showcase h2,.work-social h2{font-size:42px}.work-social-actions{align-items:stretch}.work-social-actions .btn{width:100%}}


/* v1.3 customer-feedback release: robust mobile navigation, Carmar brand emphasis, swipeable visual galleries */
:root{
  --teal:#0b7d7f;
  --teal-dark:#075f60;
  --orange:#ca6b1d;
  --orange-soft:#f2dfcf;
  --paper:#f6f3ed;
  --header-bg:rgba(251,250,247,.97);
}

/* Brand-forward fixed header. Keep the real teal/orange logo visible on every background. */
.site-header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:100;
  color:var(--ink);
  background:var(--header-bg);
  box-shadow:0 1px 0 rgba(23,26,24,.10);
  backdrop-filter:saturate(125%) blur(14px);
  -webkit-backdrop-filter:saturate(125%) blur(14px);
}
.site-header:after{display:none}
.brand-stripe{
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg,var(--teal) 0 68%,var(--orange) 68% 100%);
}
.nav-shell{height:88px}
.brand{position:relative;z-index:120;display:flex;align-items:center;min-width:0}
.brand img{
  width:218px;
  max-height:72px;
  object-fit:contain;
  filter:none!important;
}
.menu-toggle{
  position:relative;
  z-index:120;
  background:#fff;
  border:1px solid rgba(23,26,24,.20);
  color:var(--ink);
}
.menu-toggle span:not(.sr-only){
  background:var(--ink)!important;
  transition:transform .2s ease,opacity .2s ease;
}
body.nav-open .menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
body.nav-open .menu-toggle span:nth-child(2){opacity:0}
body.nav-open .menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.site-nav .nav-cta{
  background:var(--teal);
  color:#fff;
  border-color:var(--teal);
}
.site-nav .nav-cta:hover{background:var(--teal-dark);color:#fff}
.btn-primary{background:var(--teal)}
.btn-primary:hover{background:var(--teal-dark)}
.kicker{position:relative;padding-left:20px}
.kicker:before{
  content:'';
  position:absolute;
  left:0;top:.7em;
  width:11px;height:2px;
  background:var(--orange);
}
.kicker.light:before{background:#f0a45f}
.hero-copy:before{
  content:'';
  display:block;
  width:68px;height:3px;
  background:var(--orange);
  margin-bottom:22px;
}
.site-footer{border-top:3px solid var(--orange)}
.footer-brand img{filter:none!important;background:#fff;padding:5px 7px;width:220px}

/* New swipeable galleries: touch-first, no auto-rotation. */
.media-gallery{overflow:hidden}
.media-gallery + .media-gallery{padding-top:14px}
.rail-shell{position:relative}
.rail-heading{
  display:flex;
  flex-direction:column;
  gap:20px;
  margin-bottom:26px;
}
.rail-heading h2{
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-.04em;
  line-height:1;
  margin:0;
  font-size:clamp(38px,6vw,70px);
  max-width:850px;
}
.rail-intro{color:var(--muted);font-size:17px;max-width:670px;margin:16px 0 0}
.rail-tools{display:flex;align-items:center;justify-content:space-between;gap:16px}
.rail-hint{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--teal);font-weight:800}
.rail-buttons{display:flex;gap:8px}
.rail-button{
  width:46px;height:46px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  cursor:pointer;
}
.rail-button:hover,.rail-button:focus-visible{border-color:var(--teal);color:var(--teal)}
.media-rail{
  display:flex;
  gap:14px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:0;
  -webkit-overflow-scrolling:touch;
  padding:0 0 10px;
  scrollbar-width:none;
}
.media-rail::-webkit-scrollbar{display:none}
.media-slide{
  position:relative;
  flex:0 0 min(82vw,430px);
  aspect-ratio:4/5;
  margin:0;
  overflow:hidden;
  scroll-snap-align:start;
  background:#ebe8e1;
}
.media-slide img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .55s ease;
}
.media-slide:hover img{transform:scale(1.02)}
.media-slide figcaption{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:48px 18px 18px;
  color:#fff;
  background:linear-gradient(180deg,transparent,rgba(7,18,17,.74));
  display:flex;flex-direction:column;gap:3px;
}
.media-slide figcaption span{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:10px;
  color:#d7eeee;
}
.media-slide figcaption strong{font-family:var(--serif);font-size:21px;font-weight:400}
.motion-showcase{background:#efebe3}
.motion-grid{display:grid;gap:14px}
.motion-grid figure{margin:0;background:#111}
.motion-grid video{width:100%;aspect-ratio:4/5;object-fit:cover}
.motion-grid figcaption{padding:13px 2px 0;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);background:#efebe3}

/* Make light/editorial pages clear the fixed header reliably. */
.page-title.section,
.contact-page.section,
.editorial-page.page-hero{
  padding-top:148px;
}
.page-hero.page-hero-image{padding-top:88px}
.editorial-hero-grid{align-items:center}
.editorial-page h1{line-height:.96}

/* Desktop navigation stays simple and stable. */
@media (min-width:860px){
  .nav-shell{height:94px}
  .brand img{width:232px}
  .site-nav{
    display:flex;
    position:static;
    inset:auto;
    width:auto;height:auto;
    background:none!important;
    padding:0;
    flex-direction:row;
    align-items:center;
    gap:22px;
    color:var(--ink)!important;
    overflow:visible;
  }
  .site-nav>a{font-family:var(--sans);font-size:13px;border:0;padding:12px 0}
  .site-nav>a:not(.nav-cta):hover{color:var(--teal)}
  .site-nav .nav-cta{margin:0;padding:12px 16px;border:1px solid var(--teal)}
  .menu-toggle{display:none}
  .rail-heading{flex-direction:row;align-items:flex-end;justify-content:space-between}
  .rail-tools{flex:0 0 auto;justify-content:flex-end}
  .rail-hint{display:none}
  .media-rail{gap:18px}
  .media-slide{flex-basis:min(36vw,470px);aspect-ratio:4/5}
  .motion-grid{grid-template-columns:repeat(3,1fr);gap:20px}
  .motion-grid video{aspect-ratio:4/5}
}

/* Mobile navigation release fix.
   Important: no backdrop/filter on the header here, because filter effects can
   establish a containing block for fixed descendants and break full-screen menus. */
@media (max-width:859px){
  .site-header{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    background:#fbfaf7!important;
  }
  .nav-shell{height:82px}
  .brand img{width:176px;max-height:62px}
  .site-nav{
    display:none;
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100vh;
    z-index:110;
    background:var(--paper)!important;
    color:var(--ink)!important;
    padding:112px 24px 34px!important;
    flex-direction:column;
    gap:0;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .site-nav.is-open{display:flex!important}
  .site-nav>a{
    font-family:var(--serif);
    font-size:clamp(26px,7vw,34px);
    line-height:1.15;
    padding:17px 0;
    border-bottom:1px solid var(--line);
    color:var(--ink)!important;
  }
  .site-nav .nav-cta{
    font-family:var(--sans);
    font-size:15px;
    margin-top:22px;
    padding:15px 18px;
    border:1px solid var(--teal);
    color:#fff!important;
    text-align:center;
  }
  .hero{
    height:auto;
    min-height:690px;
    max-height:none;
    padding-top:82px;
  }
  .hero-inner{min-height:608px;padding-bottom:64px}
  .hero h1{
    font-size:clamp(46px,13.5vw,68px);
    line-height:.94;
    letter-spacing:-.045em;
  }
  .hero-lead{font-size:16px;line-height:1.55}
  .hero-proof{gap:13px;flex-wrap:wrap;font-size:10px}
  .page-hero.page-hero-image{
    min-height:680px;
    padding-top:82px;
  }
  .page-hero-inner{padding-top:90px}
  .page-hero h1{
    font-size:clamp(44px,12vw,64px);
    line-height:.96;
  }
  .editorial-page.page-hero{
    min-height:0;
    padding-top:118px;
    padding-bottom:58px;
  }
  .editorial-page h1{
    font-size:clamp(42px,12vw,62px);
    line-height:.98;
    overflow-wrap:normal;
  }
  .editorial-hero-grid{gap:26px}
  .editorial-hero-grid img{max-height:520px}
  .page-title.section,.contact-page.section{
    padding-top:118px;
  }
  .page-title h1,.contact-page h1{
    font-size:clamp(44px,12vw,64px);
    line-height:.98;
  }
  .section-head h2,
  .split-intro h2,.services-top h2,.project-copy h2,.faq h2,.closing-inner h2,.video-copy h2,.pair-copy h2,.center-copy h2,.about-columns h2{
    overflow-wrap:normal;
  }
  .rail-buttons{display:none}
  .media-rail{
    margin-right:calc((100vw - 100%)/-1);
    padding-right:18px;
  }
  .media-slide{flex-basis:82vw;max-width:420px}
  .media-slide:nth-child(even){aspect-ratio:4/5.2}
  .pair-copy{padding:12px 0 6px}
  .tone-strip .shell{overflow-x:auto;scrollbar-width:none}
  .tone-strip .shell::-webkit-scrollbar{display:none}
  .floating-wa{z-index:90}
}

@media (max-width:430px){
  :root{--shell:calc(100% - 28px)}
  .nav-shell{height:78px}
  .brand img{width:162px}
  .site-nav{padding:104px 20px 28px!important}
  .hero{min-height:650px;padding-top:78px}
  .hero-inner{min-height:572px;padding-bottom:54px}
  .hero-copy:before{margin-bottom:17px;width:54px}
  .hero h1{font-size:clamp(44px,13vw,58px)}
  .actions{gap:14px}
  .actions .btn{width:100%}
  .page-hero.page-hero-image{min-height:640px;padding-top:78px}
  .page-hero-inner{padding-top:72px}
  .editorial-page.page-hero{padding-top:106px;padding-bottom:50px}
  .page-title.section,.contact-page.section{padding-top:106px}
  .media-slide{flex-basis:84vw}
  .rail-heading h2{font-size:clamp(38px,11vw,50px)}
  .rail-intro{font-size:16px}
  .social-showcase h2,.work-social h2{font-size:40px}
}

/* Prevent accidental mobile overflow from long labels and controls. */
.site-header,.site-nav,.hero,.page-hero,.section,.section-tight,.site-footer{max-width:100vw}
.site-nav a,.hero h1,.page-hero h1,.page-title h1,.contact-page h1{word-break:normal}
