:root{--bg: #f7f5ef;--bg-2: #efebe0;--card: #ffffff;--line: rgba(18, 22, 19, .1);--ink: #13161a;--ink-dim: #63695f;--shadow: rgba(20, 30, 25, .16);--accent: #14917d;--danger: #c0392b;--btn-text: #f7f5ef;--header-bg: rgba(247, 245, 239, .72);color-scheme:light;font-size:106.25%;background:var(--bg)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;background:var(--bg);color:var(--ink);font-family:IBM Plex Sans,sans-serif;line-height:1.55;overflow-x:hidden}h1,h2,h3{font-family:Fraunces,serif;font-weight:600;margin:0;letter-spacing:-.015em}a{color:inherit}.wrap{width:92%;max-width:1500px;margin:0 auto;padding:0 24px}@media(max-width:900px){.wrap{width:94%;padding:0 16px}}@media(max-width:640px){.wrap{width:100%;padding:0 20px}}header{position:sticky;top:0;z-index:60;padding:calc(18px + env(safe-area-inset-top,0px)) 0 18px;background:var(--header-bg);backdrop-filter:blur(14px);border-bottom:2px solid var(--accent)}header .wrap{display:flex;align-items:center;justify-content:space-between;position:relative}.logo{display:flex;align-items:center;gap:10px;font-family:Fraunces,serif;font-size:1.28rem;font-weight:700;text-decoration:none;color:var(--ink)}.logo img{width:40px;height:40px}@media(max-width:900px){.logo img{width:34px;height:34px}}nav{display:flex;align-items:center}.nav-links{display:contents}.nav-links>a:not(.btn){margin-left:34px;text-decoration:none;font-size:.9rem;font-weight:500;color:var(--ink-dim);position:relative;transition:color .2s}.nav-links>a:not(.btn):after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1.5px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .3s}.nav-links>a:not(.btn):hover,.nav-links>a:not(.btn).active{color:var(--ink)}.nav-links>a:not(.btn):hover:after,.nav-links>a:not(.btn).active:after{transform:scaleX(1);transform-origin:left}.btn{display:inline-block;padding:12px 24px;border-radius:8px;font-size:.9rem;text-decoration:none;font-weight:600;transition:transform .3s,box-shadow .3s;border:none;cursor:pointer;font-family:inherit}.btn-solid{background:var(--accent);color:var(--btn-text);margin-left:34px}.btn-solid:hover{transform:translateY(-2px);box-shadow:0 14px 30px var(--shadow)}.btn-ghost{border:1px solid var(--line);color:var(--ink);background:none}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.menu-toggle{display:none;width:36px;height:36px;border-radius:8px;border:1px solid var(--line);background:none;margin-left:14px;cursor:pointer;align-items:center;justify-content:center;color:var(--ink)}.menu-toggle svg{width:17px;height:17px}.menu-toggle .close,.menu-toggle[aria-expanded=true] .bars{display:none}.menu-toggle[aria-expanded=true] .close{display:block}@media(max-width:900px){.menu-toggle{display:flex}.nav-links{display:none}.nav-links.open{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:calc(100% + 20px);left:0;right:0;background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 18px 30px var(--shadow);padding:8px 20px 22px;max-height:calc(100dvh - 100px);overflow-y:auto}.nav-links.open>a:not(.btn){margin-left:0;padding:12px 0;align-self:flex-start}.nav-links.open>a:not(.btn):after{bottom:6px}.nav-links.open>.btn-solid{margin:12px 0 0;text-align:center}}.hero{position:relative;padding:52px 0 44px;overflow:hidden}.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}@media(max-width:1023px){.hero .wrap{gap:32px}}@media(max-width:768px){.hero .wrap{grid-template-columns:1fr}.hero{padding:40px 0 32px}}.eyebrow{color:var(--accent);font-size:.85rem;font-weight:600;margin-bottom:16px;display:block}.hero h1{font-size:clamp(2.5rem,5.2vw,3.9rem);line-height:1.05}.pageintro h1,.quote-side h1{font-size:clamp(2.1rem,4.2vw,3rem)}.grad-text{color:var(--accent)}.hero p.lead,.pageintro p.lead,.quote-side p.lead{color:var(--ink-dim);font-size:1.1rem;max-width:52ch;margin:22px 0 0}.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}.hero-ctas .btn-solid{margin-left:0}.stage{perspective:1400px;height:300px;display:flex;align-items:center;justify-content:center}.deck{position:relative;width:220px;height:280px;transform-style:preserve-3d;transition:transform .15s ease-out;transform:rotateX(8deg) rotateY(-16deg)}@media(max-width:768px){.stage{height:330px}}@media(max-width:640px){.stage{height:270px}.deck{width:170px;height:220px;transform:rotateX(6deg) rotateY(-10deg)}}.card3d{position:absolute;inset:0;background:var(--card);border-radius:10px;box-shadow:0 30px 60px var(--shadow);border:1px solid var(--line)}.card3d.c1{transform:translateZ(-60px) translate(26px,26px) rotate(4deg)}.card3d.c2{transform:translateZ(-30px) translate(14px,14px) rotate(-2deg)}.card3d.c3{transform:translateZ(0);overflow:hidden}.c3 .ln{margin:24px 22px;height:7px;background:var(--bg-2);border-radius:3px}.c3 .ln:nth-child(1){width:55%}.c3 .ln:nth-child(4){width:38%}.scan{position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--accent),transparent);box-shadow:0 0 24px 5px var(--accent);animation:sweep 3s ease-in-out infinite;top:0}@keyframes sweep{0%,to{top:0;opacity:0}12%{opacity:1}50%{top:270px;opacity:1}62%{opacity:0}}.dots{position:absolute;inset:0;background-image:radial-gradient(var(--accent) 1px,transparent 1.5px);background-size:11px 11px;opacity:0;animation:dotsfade 3s ease-in-out infinite}@keyframes dotsfade{0%,48%{opacity:0}58%,96%{opacity:.45}to{opacity:0}}.pageintro{padding:28px 0 8px}.sec{padding:32px 0;border-top:1px solid var(--line)}@media(max-width:640px){.sec{padding:24px 0}.pageintro{padding:20px 0 8px}.hero{padding:24px 0 22px}}.sec-head{max-width:60ch;margin-bottom:18px}.sec-head .eyebrow{margin-bottom:12px}.sec-head h2{font-size:clamp(1.7rem,3vw,2.3rem)}.sec-head p{color:var(--ink-dim);margin-top:14px;font-size:1.02rem}[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}[data-reveal].in{opacity:1;transform:none}[data-reveal-stagger]{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}[data-reveal-stagger].in{opacity:1;transform:none}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(min-width:1280px){.grid3.grid5{grid-template-columns:repeat(5,1fr)}}@media(max-width:1279px){.grid3.grid5{grid-template-columns:repeat(2,1fr)}}@media(max-width:1023px){.grid3{grid-template-columns:repeat(2,1fr)}.grid3>:last-child:nth-child(odd){grid-column:1 / -1}}@media(max-width:599px){.grid3,.grid3.grid5{grid-template-columns:1fr}}.svc{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px 20px;transition:transform .35s,box-shadow .35s;transform-style:preserve-3d}.svc:hover{transform:perspective(700px) rotateX(4deg) rotateY(-4deg) translateY(-4px);box-shadow:0 26px 50px var(--shadow)}.svc .num{color:var(--accent);font-family:Fraunces,serif;font-size:.85rem;font-weight:700;display:inline-block;margin-bottom:6px;letter-spacing:.05em}.svc h2,.svc h3{font-size:1.02rem;margin-bottom:5px}.svc p{color:var(--ink-dim);font-size:.88rem;margin:0;line-height:1.5}.svc p.detail{margin-top:10px;font-size:.86rem}.timeline{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:4px}@media(max-width:760px){.timeline{grid-template-columns:1fr}}.timeline:before{content:"";position:absolute;top:14px;left:0;right:0;height:2px;background:var(--line)}.timeline-line{position:absolute;top:14px;left:0;height:2px;background:var(--accent);width:0;transition:width 1.1s cubic-bezier(.4,0,.2,1)}.timeline-line.in{width:100%}@media(max-width:760px){.timeline:before,.timeline-line{display:none}}.step{position:relative;padding-top:38px}.step:before{content:"";position:absolute;top:6px;left:0;width:16px;height:16px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--bg)}.step h2,.step h3{font-size:1.1rem;margin-bottom:8px}.step p{color:var(--ink-dim);font-size:.94rem;margin:0}.stats{display:flex;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat{flex:1;min-width:160px;padding:22px 20px;border-right:1px solid var(--line);text-align:left}.stat:first-child{padding-left:0}.stat:last-child{border-right:none;padding-right:0}.stat b{font-family:Fraunces,serif;font-size:2.5rem;color:var(--accent);display:block}.stat span{color:var(--ink-dim);font-size:.85rem}@media(max-width:540px){.stat{border-right:none;border-bottom:1px solid var(--line);flex:1 1 100%;padding-left:0;padding-right:0}.stat:last-child{border-bottom:none}}.marquee{margin-top:40px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.marquee-track{display:flex;gap:20px;width:max-content;animation:scrollq 34s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}@keyframes scrollq{0%{transform:translate(0)}to{transform:translate(-50%)}}.quote{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:32px;width:min(360px,80vw);flex:0 0 auto;transition:transform .3s}.quote:hover{transform:translateY(-4px)}.quote p{font-family:Fraunces,serif;font-size:1.12rem;font-weight:500;margin:0 0 16px}.quote footer{color:var(--ink-dim);font-size:.85rem}.cta{padding:40px 0}.cta-box{position:relative;border-radius:16px;padding:52px 44px;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;background:var(--accent);color:var(--btn-text);overflow:hidden}.cta-box h2{color:var(--btn-text);font-size:clamp(1.5rem,3vw,2rem);max-width:20ch}.cta-box .btn{background:var(--btn-text);color:var(--ink)}footer.site{border-top:1px solid var(--line);padding:20px 0 calc(20px + env(safe-area-inset-bottom,0px));color:var(--ink-dim);font-size:.9rem}.foot-row{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:14px;max-width:1000px;margin:0 auto}footer.site .logo{gap:8px;font-size:1.05rem}footer.site .logo img{width:30px;height:30px}.foot-contact{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 28px;font-size:.88rem}.foot-label{display:block;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;opacity:.75;margin-bottom:3px}.foot-contact a{display:block;color:var(--ink);text-decoration:none;overflow-wrap:anywhere;transition:color .2s}.foot-contact a:hover{color:var(--accent);text-decoration:underline}.foot-bottom{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:.78rem;text-align:center}@media(max-width:560px){.foot-row{flex-direction:column;align-items:center;text-align:center;gap:10px}footer.site .logo{justify-content:center}.foot-contact{justify-content:center}}.quote-intro{padding:28px 0 32px}.quote-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start}@media(max-width:1023px){.quote-layout{gap:32px}}@media(max-width:880px){.quote-layout{grid-template-columns:1fr;gap:28px}}@media(max-width:640px){.quote-intro{padding:20px 0 24px}}.quote-side h1{line-height:1.12}.quote-points{list-style:none;margin:24px 0 0;padding:0}.quote-points li{position:relative;padding-left:20px;color:var(--ink-dim);font-size:.95rem}.quote-points li+li{margin-top:10px}.quote-points li:before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--accent)}.quote-points strong{color:var(--ink);font-weight:600}.quote-contact{display:flex;flex-wrap:wrap;gap:14px 40px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line);color:var(--ink-dim);font-size:.92rem}.quote-contact a{color:var(--ink);text-decoration:none;overflow-wrap:anywhere;transition:color .2s}.quote-contact a:hover{color:var(--accent)}.form-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:32px;box-shadow:0 12px 32px var(--shadow)}@media(max-width:640px){.form-card{padding:22px 18px}}.quoteform{display:grid;grid-template-columns:1fr 1fr;gap:20px}.quoteform .full{grid-column:1 / -1}.quoteform .btn{width:100%;margin-left:0}@media(min-width:881px)and (max-width:1100px){.quoteform{grid-template-columns:1fr}}@media(max-width:600px){.quoteform{grid-template-columns:1fr}}.field label{display:block;font-size:.85rem;font-weight:500;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;padding:12px 14px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-family:inherit;font-size:.92rem}.form-card .field input,.form-card .field select,.form-card .field textarea{background-color:var(--bg)}.field select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888888' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:11px 7px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.field textarea{resize:vertical;min-height:100px}#formNote{margin-top:16px;font-size:.88rem;color:var(--ink-dim)}#formNote:empty{display:none}.req{color:var(--accent);font-weight:600}.form-req-note{margin:0 0 18px;font-size:.82rem;color:var(--ink-dim);text-align:right}#formNote.is-error{color:var(--danger)}.field-error{margin:6px 0 0;font-size:.8rem;color:var(--danger)}.field input[aria-invalid=true]{border-color:var(--danger)}#formNote.is-success{color:var(--accent)}@media(max-width:768px){.hero .wrap>div:first-child,.pageintro,.sec-head,.svc,.quote,.step,.stat,.cta-box{text-align:center}.hero p.lead,.pageintro p.lead,.sec-head{margin-left:auto;margin-right:auto}.hero-ctas{justify-content:center}.sec .wrap>p:not(#formNote){text-align:center}.step:before{left:50%;transform:translate(-50%)}.step p{max-width:46ch;margin-left:auto;margin-right:auto}.stat,.stat:first-child,.stat:last-child{padding-left:12px;padding-right:12px}.cta-box{flex-direction:column;justify-content:center}.cta-box h2{margin:0 auto}}@media(max-width:400px){.hero-ctas{flex-direction:column;align-items:center}.hero-ctas .btn{width:min(100%,260px);text-align:center}}
