:root{--teal: #10A6C2;--teal-deep: #0A7A8E;--teal-dark: #063744;--cream: #F5EFE3;--cream-2: #EAE1D0;--ink: #0E1013;--ink-soft: #1A1E22;--sun: #F2B544;--stroke: rgba(14,16,19,.14);--ff-display: "Fraunces", Georgia, serif;--ff-body: "Manrope", -apple-system, system-ui, sans-serif;--max: 1240px;--gutter: clamp(20px, 4vw, 56px);--section-y: clamp(70px, 9vw, 120px)}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--ff-body);font-size:17px;line-height:1.55;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden;background-image:radial-gradient(1200px 600px at 85% -10%,rgba(16,166,194,.1),transparent 60%),radial-gradient(800px 500px at -10% 40%,rgba(242,181,68,.08),transparent 55%)}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--ff-display);font-weight:500;letter-spacing:-.02em;margin:0}em{font-style:italic}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:200;opacity:.08;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='5'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .7 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;gap:32px;padding:18px var(--gutter);transition:background .3s,backdrop-filter .3s,box-shadow .3s,padding .3s}.nav.scrolled{background:#f5efe3d1;backdrop-filter:blur(12px) saturate(1.1);-webkit-backdrop-filter:blur(12px) saturate(1.1);box-shadow:0 1px 0 var(--stroke);padding:12px var(--gutter)}.brand{display:inline-flex;align-items:center;gap:14px;color:var(--teal);font-family:var(--ff-display);font-size:32px;font-weight:600;letter-spacing:-.02em}.brand-text{color:var(--ink)}.brand-text em{color:var(--teal);font-style:italic;font-weight:500}.brand-mark{width:44px;height:44px}.nav-links{margin-left:auto;display:flex;gap:28px;font-size:14px;font-weight:500;letter-spacing:.02em;text-transform:uppercase}.nav-links a{position:relative;padding:6px 2px;color:var(--ink);opacity:.78;transition:opacity .2s}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--teal);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.6,.2,.2,1)}.nav-links a:hover{opacity:1}.nav-links a:hover:after{transform:scaleX(1)}.nav-cta{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--cream);padding:12px 18px;border-radius:999px;font-weight:600;font-size:14px;letter-spacing:.01em;transition:background .2s,transform .2s}.nav-cta:hover{background:var(--teal);transform:translateY(-1px)}.nav-cta .dot{width:8px;height:8px;background:var(--teal);border-radius:50%;box-shadow:0 0 0 4px #10a6c240;animation:pulse 2s infinite}.nav-cta:hover .dot{background:var(--cream);box-shadow:0 0 0 4px #f5efe340}@keyframes pulse{0%,to{box-shadow:0 0 0 4px #10a6c240}50%{box-shadow:0 0 0 7px #10a6c20d}}.hero{position:relative;padding:140px clamp(var(--gutter),52vw,780px) 100px var(--gutter);max-width:var(--max);margin:0 auto;color:var(--teal-dark);min-height:760px}.hero-tag{display:inline-flex;align-items:center;gap:14px;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--teal-deep);margin-bottom:40px;opacity:0;animation:fade-up .9s .05s forwards}.tag-line{width:48px;height:2px;background:var(--teal);display:inline-block}.hero-title{font-family:var(--ff-display);font-size:clamp(44px,7.6vw,112px);line-height:.94;font-weight:400;letter-spacing:-.03em;max-width:14ch;margin:0 0 28px;color:var(--ink)}.hero-title .line{display:block;opacity:0;transform:translateY(40px);animation:fade-up 1s forwards}.hero-title .line:nth-child(1){animation-delay:.15s}.hero-title .line:nth-child(2){animation-delay:.3s}.hero-title .line:nth-child(3){animation-delay:.45s}.hero-title .italic{font-style:italic;font-weight:300;color:var(--teal);padding-left:.18em}.underline-stroke{position:relative;display:inline-block;white-space:nowrap}.underline-stroke:after{content:"";position:absolute;left:-4px;right:-4px;bottom:6%;height:.32em;background:var(--teal);z-index:-1;border-radius:2px 14px 3px 10px/6px 4px 8px 3px;transform:skew(-6deg) rotate(-.6deg);opacity:.85}.hero-sub{max-width:48ch;font-size:17px;color:var(--ink-soft);margin:0;opacity:0;animation:fade-up 1s .6s forwards}.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px;opacity:0;animation:fade-up 1s .75s forwards}.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 24px;border-radius:999px;font-weight:600;font-size:14px;letter-spacing:.01em;transition:transform .2s,background .2s,color .2s,box-shadow .3s}.btn-primary{background:var(--teal);color:var(--cream);box-shadow:0 10px 30px -8px #10a6c28c}.btn-primary:hover{transform:translateY(-2px);background:var(--ink);box-shadow:0 18px 40px -10px #0e101366}.btn-ghost{color:var(--ink);border:1.5px solid var(--ink)}.btn-ghost:hover{background:var(--ink);color:var(--cream);transform:translateY(-2px)}.hero-meta{display:flex;gap:40px;margin-top:56px;padding-top:24px;border-top:1px solid var(--stroke);max-width:560px;opacity:0;animation:fade-up 1s .9s forwards}.hero-meta>div{display:flex;flex-direction:column;font-size:12px;color:var(--ink-soft);letter-spacing:.02em}.hero-meta strong{font-family:var(--ff-display);font-size:28px;font-weight:500;font-style:italic;color:var(--teal);letter-spacing:-.02em;line-height:1;margin-bottom:4px}.hero-collage{position:absolute;top:120px;right:var(--gutter);width:50vw;max-width:720px;height:720px;pointer-events:none}.hero-collage figure{position:absolute;margin:0;overflow:hidden;box-shadow:0 40px 90px -30px #0637448c;border-radius:8px}.hero-collage figure:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.35);border-radius:inherit;pointer-events:none}.hero-collage img{width:100%;height:100%;object-fit:cover}.c1{top:0;right:6%;width:66%;height:62%;transform:rotate(1.5deg)}.c2{top:44%;right:40%;width:54%;height:46%;transform:rotate(-2deg)}.c3{top:60%;right:-4%;width:50%;height:38%;transform:rotate(3deg)}.hero-collage figure{animation:collage-in 1.1s both cubic-bezier(.2,.7,.2,1)}.c1{animation-delay:.5s}.c2{animation-delay:.7s}.c3{animation-delay:.9s}@keyframes collage-in{0%{opacity:0;transform:translateY(24px) scale(.96) rotate(var(--r, 0deg))}to{opacity:1;transform:translateY(0) scale(1) rotate(var(--r, 0deg))}}.c1{--r: 1.5deg}.c2{--r: -2deg}.c3{--r: 3deg}.c-sticker{position:absolute;bottom:4%;left:-3%;width:260px;height:260px;background:var(--teal);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 20px 40px -15px #06374499;animation:spin 22s linear infinite,collage-in 1.2s 1.35s both;z-index:2}.c-sticker svg{width:100%;height:100%}@keyframes spin{to{transform:rotate(360deg)}}.marquee{background:var(--ink);color:var(--cream);padding:20px 0;overflow:hidden;border-top:1px solid var(--ink-soft);border-bottom:1px solid var(--ink-soft)}.marquee-track{display:flex;gap:40px;align-items:center;white-space:nowrap;animation:marquee 40s linear infinite;font-family:var(--ff-display);font-size:clamp(26px,3.4vw,46px);font-weight:300;font-style:italic;letter-spacing:-.02em}.marquee-track span:nth-child(2n){color:var(--teal);font-size:.6em;font-style:normal}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.section-head{max-width:var(--max);margin:0 auto;padding:var(--section-y) var(--gutter) 48px}.section-head h2{font-size:clamp(34px,4.8vw,64px);line-height:1.02;max-width:18ch;letter-spacing:-.025em;font-weight:400;margin:0}.section-head h2 em{color:var(--teal);font-weight:300}.section-head.dark{color:var(--cream)}.section-head.dark h2 em{color:var(--teal)}.eyebrow{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--teal-deep);margin-bottom:18px}.eyebrow.light{color:var(--teal)}.section-lead{max-width:54ch;margin-top:20px;color:#f5efe3b8;font-size:16px}.services{background:var(--cream);position:relative}.svc-list{list-style:none;max-width:var(--max);margin:0 auto;padding:0 var(--gutter) var(--section-y);border-top:1px solid var(--stroke)}.svc-list li{position:relative;display:grid;grid-template-columns:60px minmax(220px,1fr) 2fr 140px;gap:32px;align-items:center;padding:32px 0;border-bottom:1px solid var(--stroke);transition:padding .35s cubic-bezier(.6,.1,.2,1);cursor:default}.svc-list li:hover{padding-left:20px}.svc-list li:before{content:"";position:absolute;left:0;top:50%;width:0;height:2px;background:var(--teal);transform:translateY(-50%);transition:width .35s cubic-bezier(.6,.1,.2,1)}.svc-list li:hover:before{width:14px}.svc-num{font-family:var(--ff-display);font-style:italic;font-weight:300;font-size:18px;color:var(--teal);letter-spacing:-.01em}.svc-list h3{font-size:clamp(24px,2.6vw,36px);font-weight:400;letter-spacing:-.02em;line-height:1.05;transition:color .3s;margin:0}.svc-list li:hover h3{color:var(--teal-deep)}.svc-list p{margin:0;max-width:52ch;color:var(--ink-soft);font-size:15px;line-height:1.55}.svc-tag{justify-self:end;white-space:nowrap;font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:6px 12px;border:1px solid var(--teal);color:var(--teal-deep);border-radius:999px;background:#10a6c212}.gallery{background:var(--ink);color:var(--cream);padding-bottom:var(--section-y);position:relative}.grid{max-width:var(--max);margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tile{position:relative;overflow:hidden;border-radius:4px;background:var(--ink-soft);aspect-ratio:1 / 1}.tile img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s;filter:saturate(.9) contrast(1.02)}.tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(6,55,68,.45) 100%);opacity:0;transition:opacity .4s}.tile:hover img{transform:scale(1.06);filter:saturate(1.1) contrast(1.05)}.tile:hover:after{opacity:1}.about{background:var(--cream);padding:var(--section-y) var(--gutter)}.about-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}.about-copy h2{font-size:clamp(34px,4.6vw,60px);line-height:1.02;letter-spacing:-.025em;font-weight:400;margin:12px 0 24px}.about-copy h2 em{color:var(--teal);font-weight:300}.about-copy p{max-width:52ch;color:var(--ink-soft);margin:0 0 16px;font-size:16px}.about-bullets{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.about-bullets li{position:relative;padding-left:24px;font-weight:500;color:var(--ink)}.about-bullets li:before{content:"";position:absolute;left:0;top:10px;width:12px;height:12px;background:var(--teal);transform:rotate(45deg);box-shadow:0 0 0 3px #10a6c233}.about-photo{margin:0;position:relative;padding:10px 18px 40px 10px}.about-photo img{width:100%;border-radius:6px;aspect-ratio:4/5;object-fit:cover;object-position:70% center;box-shadow:0 30px 60px -24px #06374466;transform:rotate(1deg)}.about-photo:before{content:"";position:absolute;inset:20px 0;border:2px solid var(--teal);border-radius:6px;transform:rotate(-1.5deg);z-index:-1}.about-photo figcaption{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-family:var(--ff-display);font-style:italic;font-size:13px;color:var(--ink-soft)}.quote-band{background:var(--teal);color:var(--cream);padding:var(--section-y) var(--gutter);text-align:center;position:relative;overflow:hidden}.quote-band:before,.quote-band:after{content:"";position:absolute;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(circle,rgba(245,239,227,.15) 0%,transparent 60%);pointer-events:none}.quote-band:before{top:-20vw;left:-20vw}.quote-band:after{bottom:-25vw;right:-15vw}.quote-band blockquote{position:relative;max-width:24ch;margin:0 auto;font-family:var(--ff-display);font-size:clamp(28px,3.6vw,52px);line-height:1.15;font-weight:300;letter-spacing:-.015em}.quote-band blockquote em{font-weight:500;font-style:italic}.quote-open{font-size:2em;line-height:0;display:block;margin-bottom:20px;opacity:.6}.quote-band cite{position:relative;display:block;margin-top:28px;font-style:normal;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;opacity:.8}.quote-cta{position:relative;margin-top:36px;display:inline-flex}.contact{background:var(--ink);color:var(--cream);padding:var(--section-y) var(--gutter);position:relative;overflow:hidden}.contact:before{content:"";position:absolute;top:-30%;right:-20%;width:70%;aspect-ratio:1;background:radial-gradient(circle,rgba(16,166,194,.28) 0%,transparent 60%);pointer-events:none}.contact-inner{max-width:var(--max);margin:0 auto;position:relative}.contact h2{font-size:clamp(36px,5.4vw,76px);line-height:1;letter-spacing:-.03em;font-weight:400;margin:0 0 24px;max-width:14ch}.contact h2 em{color:var(--teal);font-style:italic;font-weight:300}.contact-lead{max-width:50ch;font-size:16px;color:#f5efe3c7;margin:0 0 40px}.phone-big{display:inline-flex;flex-direction:column;gap:6px;padding:28px 44px;border:1.5px solid rgba(245,239,227,.2);border-radius:12px;transition:border-color .3s,transform .3s,background .3s;background:#f5efe305}.phone-big:hover{border-color:var(--teal);background:#10a6c214;transform:translateY(-4px)}.phone-label{font-size:10px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--teal)}.phone-num{font-family:var(--ff-display);font-size:clamp(36px,5vw,64px);font-weight:400;letter-spacing:-.025em;line-height:1}.contact-meta{display:grid;grid-template-columns:repeat(3,auto);gap:50px;margin-top:60px;padding-top:32px;border-top:1px solid rgba(245,239,227,.15)}.contact-meta>div{font-family:var(--ff-display);font-size:18px;font-weight:400;letter-spacing:-.01em}.meta-label{display:block;font-family:var(--ff-body);font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);margin-bottom:6px}.foot{background:var(--ink);color:var(--cream);border-top:1px solid rgba(245,239,227,.1);padding:70px var(--gutter) 32px}.foot-top{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(245,239,227,.12)}.foot-brand h3{font-size:42px;margin:14px 0 10px;color:var(--cream);font-weight:500}.foot-brand h3 em{color:var(--teal);font-style:italic;font-weight:400}.foot-brand p{color:#f5efe399;max-width:28ch;font-size:14px}.foot-brand .brand-mark{color:var(--teal)}.foot-brand .brand-mark.big{width:56px;height:56px}.foot-col h4{font-family:var(--ff-body);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);margin:0 0 18px}.foot-col a,.foot-col span{display:block;padding:4px 0;color:#f5efe3c7;font-size:15px;transition:color .2s}.foot-col a:hover{color:var(--teal)}.foot-bot{max-width:var(--max);margin:40px auto 0;display:flex;justify-content:space-between;font-size:12px;color:#f5efe380;letter-spacing:.05em}@keyframes fade-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(50px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:translateY(0)}@media (max-width: 1100px){.hero{min-height:auto;padding:140px var(--gutter) 80px}.hero-collage{display:none}.hero-title{max-width:100%}.about-grid{grid-template-columns:1fr;gap:48px}.about-photo{max-width:420px}.grid{grid-template-columns:repeat(2,1fr)}.foot-top{grid-template-columns:1fr 1fr}}@media (max-width: 780px){body{font-size:16px}.nav{gap:16px;padding:14px 18px}.nav-links{display:none}.nav-cta{margin-left:auto;padding:10px 14px;font-size:13px}.brand{font-size:24px}.brand-mark{width:36px;height:36px}.hero{padding-top:130px;min-height:auto;padding-bottom:80px}.hero-title{font-size:clamp(48px,14vw,90px)}.hero-meta{gap:20px;flex-wrap:wrap}.hero-meta strong{font-size:32px}.btn{padding:16px 22px;font-size:14px}.section-head{padding:80px var(--gutter) 40px}.svc-list li{grid-template-columns:50px 1fr;gap:10px 20px;padding:28px 0}.svc-list h3{grid-column:2}.svc-list p{grid-column:2;font-size:15px}.svc-tag{grid-column:2;justify-self:start;margin-top:10px}.svc-list li:hover{padding-left:0}.grid{grid-template-columns:1fr;gap:8px}.tile{aspect-ratio:4/3}.about{padding:80px var(--gutter)}.about-bullets{grid-template-columns:1fr}.quote-band{padding:70px var(--gutter)}.contact{padding:90px var(--gutter)}.phone-big{padding:26px 30px;width:100%}.phone-num{font-size:clamp(34px,10vw,60px)}.contact-meta{grid-template-columns:1fr;gap:24px;margin-top:50px;padding-top:30px}.foot-top{grid-template-columns:1fr;gap:40px;padding-bottom:40px}.foot-bot{flex-direction:column;gap:8px;text-align:center}}.nav-links a[aria-current=page]{color:var(--teal-deep);opacity:1}.nav-links a[aria-current=page]:after{transform:scaleX(1)}body.page-dark{background:var(--ink);color:var(--cream);background-image:radial-gradient(1200px 600px at 85% -10%,rgba(16,166,194,.18),transparent 60%),radial-gradient(800px 500px at -10% 40%,rgba(16,166,194,.08),transparent 55%)}body.page-dark .nav .brand-text,body.page-dark .nav .nav-links a{color:var(--cream)}body.page-dark .nav .nav-links a[aria-current=page]{color:var(--teal)}body.page-dark .nav.scrolled{background:#0e1013d1;box-shadow:0 1px #f5efe314}body.page-dark .nav-cta{background:var(--teal);color:var(--ink)}body.page-dark .nav-cta .dot{background:var(--ink);box-shadow:0 0 0 4px #0e101340}body.page-dark .nav-cta:hover{background:var(--cream)}.page-hero{max-width:var(--max);margin:0 auto;padding:140px var(--gutter) 60px;position:relative}.page-hero h1{font-family:var(--ff-display);font-size:clamp(42px,6.2vw,84px);line-height:1;font-weight:400;letter-spacing:-.028em;margin:12px 0 22px;max-width:20ch}.page-hero h1 em{color:var(--teal);font-weight:300;font-style:italic}.page-hero .eyebrow{margin-bottom:0}.page-hero-lead{max-width:56ch;font-size:17px;color:var(--ink-soft);margin:0}.page-hero.dark,.page-hero.dark h1{color:var(--cream)}.page-hero.dark .page-hero-lead{color:#f5efe3b8}.svc-cards{max-width:var(--max);margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.svc-card{position:relative;display:block;padding:32px 28px 92px;background:var(--cream-2);border:1px solid var(--stroke);border-radius:10px;transition:transform .35s cubic-bezier(.2,.7,.2,1),background .35s,border-color .35s;overflow:hidden}.svc-card:before{content:"";position:absolute;inset:auto 0 0;height:0;background:var(--teal);transition:height .4s cubic-bezier(.2,.7,.2,1);z-index:0}.svc-card:hover{transform:translateY(-6px);border-color:var(--teal)}.svc-card:hover:before{height:100%}.svc-card:hover .svc-num,.svc-card:hover h3,.svc-card:hover p,.svc-card:hover .svc-arrow{color:var(--cream)}.svc-card:hover .svc-num{color:#f5efe3b3}.svc-card>*{position:relative;z-index:1;transition:color .35s}.svc-card .svc-num{font-family:var(--ff-display);font-style:italic;font-weight:300;font-size:15px;color:var(--teal-deep)}.svc-card h3{margin:16px 0 10px;font-size:28px;font-weight:400;letter-spacing:-.02em;line-height:1.05}.svc-card p{color:var(--ink-soft);font-size:14px;max-width:34ch;margin:0}.svc-card .svc-arrow{position:absolute;left:28px;bottom:28px;font-family:var(--ff-display);font-size:28px;color:var(--teal);z-index:1;transition:transform .35s,color .35s}.svc-card:hover .svc-arrow{transform:translate(8px)}.svc-cta-row{max-width:var(--max);margin:48px auto var(--section-y);padding:0 var(--gutter);display:flex;justify-content:center}.btn-ghost.light{color:var(--cream);border-color:#f5efe359}.btn-ghost.light:hover{background:var(--cream);color:var(--ink);border-color:var(--cream)}.gallery.teaser{padding-bottom:40px}.gallery.teaser .section-head{padding-bottom:32px}.grid-teaser{grid-template-columns:repeat(3,1fr)}.grid-teaser .tile{grid-column:auto;aspect-ratio:4/3}.cta-band{background:var(--teal);color:var(--cream);padding:var(--section-y) var(--gutter);text-align:center;position:relative;overflow:hidden}.cta-band:before,.cta-band:after{content:"";position:absolute;width:70vw;height:70vw;border-radius:50%;background:radial-gradient(circle,rgba(245,239,227,.12) 0%,transparent 60%);pointer-events:none}.cta-band:before{top:-30vw;left:-25vw}.cta-band:after{bottom:-35vw;right:-20vw}.cta-inner{position:relative;max-width:var(--max);margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:18px}.cta-inner h2{font-size:clamp(36px,5vw,68px);line-height:1.02;letter-spacing:-.03em;font-weight:400;margin:0}.cta-inner h2 em{font-style:italic;font-weight:300;color:var(--cream);opacity:.92}.cta-inner p{max-width:50ch;font-size:16px;color:#f5efe3d9;margin:0 0 10px}.btn-primary.big{background:var(--ink);padding:18px 32px;font-size:16px;box-shadow:0 14px 40px -10px #0e10138c}.btn-primary.big:hover{background:var(--cream);color:var(--ink)}.values{background:var(--cream);padding:var(--section-y) var(--gutter);border-top:1px solid var(--stroke)}.values-inner{max-width:var(--max);margin:0 auto}.values h2{font-size:clamp(32px,4.4vw,56px);line-height:1.02;letter-spacing:-.025em;font-weight:400;margin:12px 0 48px;max-width:18ch}.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;border-top:1px solid var(--stroke);padding-top:40px}.value-grid>div{position:relative}.val-num{font-family:var(--ff-display);font-size:13px;font-style:italic;font-weight:300;color:var(--teal);letter-spacing:-.01em}.value-grid h3{font-size:22px;margin:10px 0;font-weight:400;letter-spacing:-.02em}.value-grid p{margin:0;color:var(--ink-soft);font-size:14px;line-height:1.55}.contact.tall{padding-top:140px}.contact.tall h1{font-family:var(--ff-display);font-size:clamp(42px,6.2vw,84px);line-height:1;letter-spacing:-.028em;font-weight:400;margin:12px 0 22px;max-width:16ch}.contact.tall h1 em{color:var(--teal);font-style:italic;font-weight:300}.service-area{background:var(--cream);color:var(--ink);padding:var(--section-y) var(--gutter)}.area-inner{max-width:var(--max);margin:0 auto}.area-inner h2{font-size:clamp(32px,4.4vw,56px);line-height:1.02;letter-spacing:-.025em;margin:12px 0 40px;max-width:20ch;font-weight:400}.area-inner h2 em{color:var(--teal);font-weight:300}.area-list{list-style:none;padding:0;margin:0 0 32px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--stroke)}.area-list li{padding:18px 4px;font-family:var(--ff-display);font-size:18px;font-weight:400;letter-spacing:-.01em;border-bottom:1px solid var(--stroke);transition:padding-left .3s,color .3s;cursor:default}.area-list li:hover{padding-left:12px;color:var(--teal-deep)}.area-note{font-family:var(--ff-display);font-style:italic;font-size:16px;color:var(--ink-soft);margin:0}.area-map{margin-top:48px;border-radius:8px;overflow:hidden;box-shadow:0 20px 50px -20px #0637444d}.form-section{background:var(--cream);padding:var(--section-y) var(--gutter);border-top:1px solid var(--stroke)}.form-wrap{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}.form-perks{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-direction:column;gap:14px}.form-perks li{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--ink-soft);line-height:1.4}.form-perks li span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--teal);color:#fff;font-size:12px;font-weight:700;flex-shrink:0}.form-copy h2{font-size:clamp(32px,4.4vw,56px);line-height:1.02;letter-spacing:-.025em;font-weight:400;margin:10px 0 20px;max-width:14ch}.form-copy h2 em{color:var(--teal);font-weight:300}.form-copy p{max-width:44ch;color:var(--ink-soft);font-size:16px;margin:0 0 28px}.form-phone{display:inline-flex;flex-direction:column;gap:4px;font-family:var(--ff-display);font-size:28px;font-weight:400;letter-spacing:-.02em;color:var(--ink);padding:16px 0;border-top:1px solid var(--stroke);border-bottom:1px solid var(--stroke);transition:color .2s}.form-phone span{font-family:var(--ff-body);font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--teal-deep)}.form-phone:hover{color:var(--teal-deep)}.estimate-form{background:#fff;border:1px solid var(--stroke);border-radius:18px;padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:20px;box-shadow:0 40px 80px -40px #06374459}.estimate-form label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft)}.estimate-form label.full{grid-column:1 / -1}.estimate-form input,.estimate-form select,.estimate-form textarea{font-family:var(--ff-body);font-size:15px;font-weight:400;color:var(--ink);background:#fff;border:1px solid #d8d2c4;border-radius:10px;padding:14px 16px;text-transform:none;letter-spacing:0;width:100%;transition:border-color .2s,background .2s,box-shadow .2s}.estimate-form input::placeholder,.estimate-form textarea::placeholder{color:#0e101359}.estimate-form input:focus,.estimate-form select:focus,.estimate-form textarea:focus{outline:none;border-color:var(--teal);background:#fff;box-shadow:0 0 0 4px #10a6c226}.estimate-form textarea{resize:vertical;min-height:110px}.estimate-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--teal-deep) 50%),linear-gradient(135deg,var(--teal-deep) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:40px}.form-submit{grid-column:1 / -1;justify-self:stretch;width:100%;margin-top:10px;padding:18px 28px;font-size:16px;cursor:pointer;border:0;font-family:var(--ff-body)}.form-status{grid-column:1 / -1;margin:0;font-size:13px;color:var(--teal-deep);min-height:20px;font-weight:600}.form-status.err{color:#c14747}.page-dark .form-section{background:var(--ink);border-top:1px solid rgba(245,239,227,.08)}.page-dark .form-copy h2{color:var(--cream)}.page-dark .form-copy p{color:#f5efe3b8}.page-dark .form-phone{color:var(--cream);border-top-color:#f5efe326;border-bottom-color:#f5efe326}.page-dark .form-phone:hover{color:var(--teal)}.page-dark .estimate-form{background:var(--ink-soft);border-color:#f5efe31a;box-shadow:0 30px 60px -30px #0009}.page-dark .estimate-form label{color:#f5efe399}.page-dark .estimate-form input,.page-dark .estimate-form select,.page-dark .estimate-form textarea{background:var(--ink);border-color:#f5efe31f;color:var(--cream)}.page-dark .estimate-form input::placeholder,.page-dark .estimate-form textarea::placeholder{color:#f5efe359}.page-dark .estimate-form input:focus,.page-dark .estimate-form select:focus,.page-dark .estimate-form textarea:focus{background:var(--ink);border-color:var(--teal);box-shadow:0 0 0 4px #10a6c22e}.page-dark .form-status{color:var(--teal)}.page-dark .form-perks li{color:#f5efe3bf}.lightbox{position:fixed;inset:0;z-index:1000;background:#060c10eb;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:60px 80px;animation:lb-in .25s ease}.lightbox[hidden]{display:none}@keyframes lb-in{0%{opacity:0}to{opacity:1}}.lightbox-figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:14px}.lightbox-figure img{max-width:100%;max-height:calc(100vh - 160px);object-fit:contain;border-radius:6px;box-shadow:0 40px 120px -20px #000000b3}.lightbox-counter{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#f5efe3b3}.lightbox-close,.lightbox-nav{position:absolute;background:#f5efe314;border:1px solid rgba(245,239,227,.18);color:var(--cream);width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;line-height:1;cursor:pointer;transition:background .2s,transform .2s,border-color .2s}.lightbox-close{top:24px;right:24px;font-size:30px}.lightbox-prev{left:24px;top:50%;transform:translateY(-50%);font-size:36px}.lightbox-next{right:24px;top:50%;transform:translateY(-50%);font-size:36px}.lightbox-close:hover,.lightbox-nav:hover{background:var(--teal);border-color:var(--teal)}.lightbox-prev:hover{transform:translateY(-50%) translate(-2px)}.lightbox-next:hover{transform:translateY(-50%) translate(2px)}@media (max-width: 780px){.lightbox{padding:24px 16px}.lightbox-close{top:12px;right:12px;width:44px;height:44px}.lightbox-prev{left:8px;width:44px;height:44px}.lightbox-next{right:8px;width:44px;height:44px}.lightbox-figure img{max-height:calc(100vh - 120px)}}@media (max-width: 1100px){.svc-cards{grid-template-columns:1fr}.value-grid,.area-list{grid-template-columns:repeat(2,1fr)}.grid-teaser .tile,.grid-teaser .t-a,.grid-teaser .t-d{grid-column:span 6;grid-row:span 2}.form-wrap{grid-template-columns:1fr;gap:40px}}@media (max-width: 780px){.page-hero{padding:130px var(--gutter) 60px}.svc-cards{padding:0 var(--gutter)}.svc-cta-row{margin:40px auto 80px}.value-grid{grid-template-columns:1fr;gap:30px}.cta-band{padding:80px var(--gutter)}.btn-primary.big{padding:18px 28px;font-size:16px}.area-list{grid-template-columns:1fr}.area-list li{font-size:20px;padding:16px 4px}.area-map iframe{height:280px}.values,.service-area{padding:80px var(--gutter)}.contact.tall{padding-top:130px}.grid-teaser .tile,.grid-teaser .t-a,.grid-teaser .t-d{grid-column:span 12}.form-section{padding:60px var(--gutter)}.form-wrap{gap:32px}.form-copy h2{font-size:clamp(28px,8vw,42px);max-width:18ch;margin:8px 0 16px}.form-copy p{font-size:15px;margin:0 0 22px}.form-phone{font-size:22px;padding:14px 0}.form-perks{margin-top:22px;gap:12px}.form-perks li{font-size:14px}.estimate-form{grid-template-columns:1fr;padding:22px;gap:14px;border-radius:14px}.estimate-form input,.estimate-form select,.estimate-form textarea{padding:13px 14px;font-size:16px}.form-submit{padding:16px 22px;font-size:15px;margin-top:4px}}.faq{background:var(--cream);padding:var(--section-y) var(--gutter);border-top:1px solid var(--stroke)}.faq-inner{max-width:var(--max);margin:0 auto}.faq-inner h2{font-size:clamp(32px,4.4vw,56px);line-height:1.02;letter-spacing:-.025em;font-weight:400;margin:10px 0 48px}.faq-inner h2 em{color:var(--teal);font-weight:300}.faq-list{margin:0;display:flex;flex-direction:column}.faq-item{padding:28px 0;border-bottom:1px solid var(--stroke)}.faq-item:first-child{border-top:1px solid var(--stroke)}.faq-item dt{font-family:var(--ff-display);font-size:clamp(18px,2vw,24px);font-weight:400;letter-spacing:-.01em;color:var(--ink);margin:0 0 12px}.faq-item dd{margin:0;color:var(--ink-soft);font-size:15px;line-height:1.6;max-width:72ch}.mobile-cta{display:none}@media (max-width: 780px){.mobile-cta{display:block;position:fixed;bottom:0;left:0;right:0;z-index:900;padding:12px var(--gutter);background:var(--ink);border-top:1px solid rgba(245,239,227,.1);box-shadow:0 -8px 30px -6px #00000059}.mobile-cta{display:flex;gap:10px}.mobile-cta a{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;padding:16px;color:var(--cream);border-radius:12px;font-weight:700;font-size:15px;letter-spacing:.01em}.mobile-cta-call{background:var(--teal);box-shadow:0 8px 24px -6px #10a6c280}.mobile-cta-text{background:var(--ink-soft);box-shadow:0 8px 24px -6px #0e101366}body{padding-bottom:80px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
