:root { color-scheme: light; --ink:#112b22; --soft:#4e665b; --paper:#f4f1e9; --deep-paper:#e7e3d8; --night:#10291f; --muted:#c8d3ca; --accent:#c87856; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Albert Sans",sans-serif; }
img { display:block; max-width:100%; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible { outline:3px solid #d9a084; outline-offset:4px; }
.ec-site { overflow:hidden; }
.ec-nav { position:fixed; inset:0 0 auto; z-index:20; display:flex; align-items:center; justify-content:space-between; height:76px; padding:0 clamp(20px,5vw,72px); background:rgba(16,41,31,.84); backdrop-filter:blur(12px); transition:background-color 280ms ease, box-shadow 280ms ease, backdrop-filter 280ms ease; }.ec-nav.is-scrolled { background:rgba(16,41,31,.97); box-shadow:0 10px 24px rgba(5,16,11,.2); backdrop-filter:blur(18px); }
.ec-nav img { width:174px; }.ec-nav a { color:#fffdf8; font-size:12px; font-weight:700; letter-spacing:.09em; text-decoration:none; text-transform:uppercase; }.ec-nav a:first-child { margin-right:auto; }.ec-nav a:nth-child(2) { margin-right:clamp(24px,5vw,80px); }.ec-nav a:last-child { border:1px solid rgba(255,253,248,.65); padding:11px 14px; }
.ec-hero { display:grid; min-height:100svh; align-content:end; padding:126px clamp(20px,7vw,112px) 48px; color:#fffdf8; background:linear-gradient(90deg,rgba(8,23,17,.93),rgba(8,23,17,.72) 42%,rgba(8,23,17,.12)),url("assets/hero-poster.jpg") center/cover; }.ec-hero__copy { max-width:720px; }.ec-eyebrow { color:#d9a084; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }.ec-hero h1,.ec-title { margin:18px 0; font:700 clamp(3.2rem,8.5vw,7.8rem)/.94 "Manrope",sans-serif; letter-spacing:-.07em; }.ec-hero p { max-width:520px; color:#e4e1d8; font-size:clamp(1rem,1.6vw,1.3rem); line-height:1.6; }
.ec-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }.ec-button { display:inline-block; padding:15px 20px; background:var(--accent); color:#fff; font-size:12px; font-weight:700; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }.ec-button--quiet { background:transparent; border:1px solid rgba(255,255,255,.55); }
.ec-section { padding:clamp(72px,11vw,150px) clamp(20px,7vw,112px); }.ec-section--dark { background:var(--night); color:#fffdf8; }.ec-intro,.ec-decision__lead,.ec-standards__head,.ec-contact { display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(30px,8vw,120px); align-items:end; }.ec-title { max-width:10ch; font-size:clamp(2.5rem,5vw,5.4rem); }.ec-intro p,.ec-decision__lead p { max-width:50ch; color:var(--soft); font-size:1.08rem; line-height:1.7; }
.ec-services { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(17,43,34,.2); }.ec-services article { padding:26px 18px 28px 0; border-bottom:1px solid rgba(17,43,34,.2); }.ec-services h3 { margin:0 0 10px; font:700 1.35rem "Manrope",sans-serif; letter-spacing:-.04em; }.ec-services p,.ec-step p { margin:0; color:var(--soft); line-height:1.55; }
.ec-moment { display:grid; min-height:100svh; grid-template-columns:1fr 1fr; align-items:center; overflow:hidden; background:var(--night); }.ec-moment img { width:100%; min-height:100svh; height:100%; object-fit:cover; }.ec-motion-ready .ec-moment img { transform:scale(1.035) translateY(var(--ec-moment-shift, 0)); will-change:transform; }.ec-moment__copy { padding:clamp(40px,8vw,120px); }.ec-moment .ec-title,.ec-section--dark .ec-title { color:#fffdf8; }.ec-moment__copy p { max-width:29ch; color:var(--muted); line-height:1.7; }
.ec-decision { background:var(--deep-paper); }.ec-decision__lead { margin-bottom:clamp(40px,7vw,90px); }.ec-decision__cards,.ec-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:#b9beb6; }.ec-decision__cards article,.ec-step { min-height:250px; padding:28px; background:var(--paper); }.ec-decision__cards span,.ec-step span { color:#b66b4d; font-size:12px; font-weight:700; }.ec-decision__cards h3,.ec-step h3 { margin:28px 0 12px; font:700 1.55rem/1 "Manrope",sans-serif; letter-spacing:-.055em; }.ec-decision__cards p { margin:0; color:var(--soft); line-height:1.6; }
.ec-faq { max-width:960px; margin-inline:auto; }.ec-faq .ec-title { max-width:12ch; }.ec-faq__items { border-top:1px solid rgba(17,43,34,.2); }.ec-faq details { padding:24px 0; border-bottom:1px solid rgba(17,43,34,.2); }.ec-faq summary { position:relative; cursor:pointer; list-style:none; padding-right:42px; font:700 clamp(1.2rem,2vw,1.55rem) "Manrope",sans-serif; letter-spacing:-.045em; }.ec-faq summary::-webkit-details-marker { display:none; }.ec-faq summary::after { content:"+"; position:absolute; top:-5px; right:4px; color:#b66b4d; font-size:1.75rem; font-weight:400; }.ec-faq details[open] summary::after { content:"−"; }.ec-faq details p { max-width:64ch; margin:18px 42px 0 0; color:var(--soft); line-height:1.7; }
.ec-standards { background:#173a2e; color:#fffdf8; }.ec-standards__head { margin-bottom:clamp(40px,7vw,90px); }.ec-standards__head p { max-width:42ch; color:var(--muted); line-height:1.7; }.ec-standards__list { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,253,248,.25); }.ec-standards__list article { min-height:250px; padding:26px 22px 26px 0; border-bottom:1px solid rgba(255,253,248,.25); }.ec-standards__list article + article { border-left:1px solid rgba(255,253,248,.25); padding-left:22px; }.ec-standards__list span { color:#d9a084; font-size:12px; font-weight:700; }.ec-standards__list h3 { margin:28px 0 12px; font:700 1.45rem/1 "Manrope",sans-serif; letter-spacing:-.05em; }.ec-standards__list p { margin:0; color:var(--muted); line-height:1.6; }
.ec-contact > div > p { color:var(--muted); line-height:1.7; }.ec-phone { display:inline-block; margin-top:20px; color:#fffdf8; font:700 1.25rem "Manrope",sans-serif; letter-spacing:-.03em; text-decoration:none; }.ec-form { display:grid; gap:18px; }.ec-form label { font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.ec-form input,.ec-form textarea,.ec-form select { width:100%; padding:14px 0; background:transparent; border:0; border-bottom:1px solid rgba(255,255,255,.35); border-radius:0; color:#fff; font:inherit; }.ec-form select option { background:var(--night); }.ec-form__note,.ec-form__status { margin:0; color:var(--muted); font-size:.82rem; line-height:1.5; }.ec-form__note a { color:#fffdf8; }.ec-form__status--error { color:#f2b8a2; font-weight:600; }.ec-form__status--success { color:#bfe0cd; font-weight:600; }.ec-form button { width:max-content; border:0; padding:16px 20px; background:var(--accent); color:#fff; font:700 12px "Albert Sans",sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.ec-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:32px clamp(20px,7vw,112px); background:#0d221a; color:var(--muted); }.ec-footer img { width:150px; }.ec-footer p { margin:0; }.ec-footer__links { display:flex; flex-wrap:wrap; gap:22px; }.ec-footer a { color:#fffdf8; font-size:12px; font-weight:700; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.ec-thank-you__content { display:grid; min-height:100svh; place-items:center; }.ec-thank-you__content > div { max-width:680px; }.ec-thank-you__content p { max-width:48ch; margin:0 0 30px; color:var(--muted); line-height:1.7; }
@media (prefers-reduced-motion:no-preference) { .ec-motion-ready .ec-section,.ec-motion-ready .ec-moment { opacity:0; transform:translateY(18px); transition:opacity 580ms ease-out, transform 700ms cubic-bezier(.16,1,.3,1); }.ec-motion-ready .ec-section.is-revealed,.ec-motion-ready .ec-moment.is-revealed { opacity:1; transform:none; }.ec-motion-ready .ec-reveal-card { opacity:0; transform:translateY(12px); transition:opacity 440ms ease-out var(--ec-reveal-delay, 0ms), transform 520ms cubic-bezier(.16,1,.3,1) var(--ec-reveal-delay, 0ms); }.ec-motion-ready .is-revealed .ec-reveal-card { opacity:1; transform:none; } }
@media (max-width:720px) { .ec-nav { height:66px; padding:0 20px; }.ec-nav img { width:130px; }.ec-nav a:nth-child(2) { display:none; }.ec-nav a:last-child { padding:9px 11px; font-size:10px; }.ec-hero { padding:105px 20px 32px; }.ec-hero h1 { font-size:clamp(3.15rem,15vw,4.45rem); }.ec-section { padding:76px 20px; }.ec-intro,.ec-contact,.ec-moment,.ec-decision__lead,.ec-standards__head { grid-template-columns:1fr; }.ec-services,.ec-steps,.ec-decision__cards,.ec-standards__list { grid-template-columns:1fr; }.ec-moment img { min-height:52svh; }.ec-decision__lead,.ec-standards__head { margin-bottom:40px; }.ec-decision__cards article,.ec-step,.ec-standards__list article { min-height:0; }.ec-standards__list article + article { border-left:0; padding-left:0; }.ec-faq details p { margin-right:0; }.ec-footer { align-items:flex-start; flex-direction:column; }.ec-footer__links { gap:16px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.ec-nav { transition:none; }.ec-moment img { transform:none !important; } }
