:root{--ink:#21251e;--paper:#f0ebdd;--paper-dim:#e7e1cf;--pine:#1d3b34;--pine-light:#35564c;--amber:#bb8a3f;--amber-dark:#9c7031;--clay:#a9694f;--mist:#c9c2ac;--white:#fbf9f3}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-family:Work Sans,sans-serif;line-height:1.6}h1,h2,h3,.display{letter-spacing:-.01em;font-family:Fraunces,serif;font-weight:600;line-height:1.15}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{max-width:1120px;margin:0 auto;padding:0 28px}section{padding:90px 0}.section-head{max-width:56ch;margin-bottom:56px}.section-head .eyebrow{margin-bottom:10px}.section-head h2{color:var(--pine);font-size:clamp(1.8rem,3vw,2.4rem)}.section-head p{opacity:.8;margin-top:14px;font-size:1.05rem}.alt-bg{background:var(--white);border-top:1px solid var(--mist);border-bottom:1px solid var(--mist)}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--clay);font-size:.85rem;font-weight:600}.btn{border-radius:3px;padding:15px 30px;font-size:1rem;font-weight:500;transition:transform .15s,box-shadow .15s,background .15s;display:inline-block}.btn-primary{background:var(--amber);color:var(--white)}.btn-primary:hover{background:var(--amber-dark);transform:translateY(-1px)}.btn-ghost{border:1.5px solid var(--pine);color:var(--pine)}.btn-ghost:hover{background:var(--pine);color:var(--white)}.reveal{opacity:1;transition:opacity .6s,transform .6s;transform:none}.js .reveal{opacity:0;transform:translateY(14px)}.js .reveal.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}html{scroll-behavior:auto}}header{z-index:50;backdrop-filter:blur(6px);border-bottom:1px solid var(--mist);background:#f0ebddeb;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;max-width:1120px;margin:0 auto;padding:18px 28px;display:flex;position:relative}.brand{color:var(--pine);font-family:Fraunces,serif;font-size:1.25rem;font-weight:600}.brand span{text-decoration:underline;text-decoration-color:var(--amber);font-size:1.5rem}.nav-links{gap:32px;font-size:.95rem;display:flex}.nav-links a{opacity:.85;transition:opacity .2s}.nav-links a:hover{opacity:1}.nav-actions{align-items:center;gap:14px;display:flex}.nav-cta{background:var(--pine);color:var(--white);white-space:nowrap;border-radius:3px;padding:10px 20px;font-size:.9rem;font-weight:500}.nav-cta:hover{background:var(--pine-light)}.nav-toggle-checkbox{display:none}.nav-toggle{color:var(--pine);cursor:pointer;background:0 0;border:none;font-size:1.5rem;display:none}@media (width<=780px){.nav{padding:18px}.nav-toggle{display:block}.nav-links{background:var(--paper);border-bottom:1px solid var(--mist);flex-direction:column;gap:16px;padding:20px 28px;display:none;position:absolute;top:100%;left:0;right:0}.nav-toggle-checkbox:checked~.nav-links{display:flex}}.hero{padding:100px 0 90px;position:relative;overflow:hidden}.hero-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:56px;display:grid}.hero .eyebrow{margin-bottom:18px}.hero h1{color:var(--pine);margin-bottom:22px;font-size:clamp(2.2rem,4.5vw,3.4rem)}.hero p{opacity:.85;max-width:46ch;margin-bottom:32px;font-size:1.15rem}.btn-row{flex-wrap:wrap;gap:16px;display:flex}.hero-art{height:380px;position:relative}.thread-svg{width:100%;height:100%}@media (width<=900px){.hero-grid{grid-template-columns:1fr}.hero-art{height:260px}}.services-grid{background:var(--mist);border:1px solid var(--mist);grid-template-columns:repeat(2,1fr);gap:2px;display:grid}.service-card{background:var(--paper);padding:38px;transition:background .2s}.service-card:hover{background:var(--paper-dim)}.service-num{color:var(--clay);margin-bottom:14px;font-family:Fraunces,serif;font-size:.85rem;font-weight:600}.service-card h3{color:var(--pine);margin-bottom:10px;font-size:1.3rem}.service-card p{opacity:.8;font-size:.98rem}@media (width<=700px){.services-grid{grid-template-columns:1fr}}.section-photo{width:80%;height:auto;margin:0 auto;padding:20px 0;display:block}.journey{grid-template-columns:repeat(4,1fr);justify-items:start;gap:0;display:grid;position:relative}.journey:before{content:"";background:var(--mist);width:75%;height:2px;position:absolute;top:22px;left:4.5%}@media (width<=900px){.journey{grid-template-columns:1fr;gap:36px}.journey:before{display:none}}.journey-step{text-align:left;overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;min-width:0;padding:0 18px;display:flex;position:relative}.journey-step>:not(.journey-dot){width:auto;max-width:200px}.journey-dot{background:var(--pine);width:44px;height:44px;color:var(--white);z-index:2;border-radius:50%;justify-content:center;align-items:center;margin-bottom:20px;font-family:Fraunces,serif;font-size:1.1rem;display:flex;position:relative}.journey-step.accent .journey-dot,.journey-dot.accent{background:var(--amber)}.journey-step h3{color:var(--pine);text-align:left;margin-bottom:8px;font-size:1.05rem}.journey-step p{opacity:.78;text-align:left;overflow-wrap:anywhere;word-break:break-word;max-width:100%;font-size:.92rem}@media (width<=900px){.journey-step{text-align:left;align-items:flex-start;padding-left:64px}.journey-step>:not(.journey-dot){width:100%;max-width:none}.journey-step h3,.journey-step p{text-align:left}.journey-dot{position:absolute;top:0;left:0}}.packages-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.package-card{background:var(--white);border:1px solid var(--mist);border-radius:4px;flex-direction:column;height:100%;padding:32px 26px;display:flex}.package-card.featured{border-color:var(--pine);box-shadow:0 8px 24px #1d3b341f}.package-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--clay);margin-bottom:12px;font-size:.78rem;font-weight:600}.package-card h3{color:var(--pine);margin-bottom:6px;font-size:1.25rem}.package-freq{opacity:.65;margin-bottom:16px;font-size:.92rem}.package-card p.for{opacity:.85;flex-grow:1;margin-bottom:20px;font-size:.92rem}.package-card .btn{text-align:center;padding:11px 18px;font-size:.92rem}@media (width<=900px){.packages-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.packages-grid{grid-template-columns:1fr}}.about-grid{grid-template-columns:.9fr 1.1fr;align-items:center;gap:56px;display:grid}.credential-list{flex-direction:column;gap:14px;margin-top:24px;display:flex}.credential-item{align-items:flex-start;gap:12px;font-size:.95rem;display:flex}.credential-dot{background:var(--amber);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:9px}@media (width<=780px){.about-grid{grid-template-columns:1fr}}.faq-item{border-bottom:1px solid var(--mist)}.faq-item details{width:100%}.faq-item summary{text-align:left;width:100%;color:var(--pine);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-family:Fraunces,serif;font-size:1.08rem;list-style:none;display:flex}.faq-item summary::marker{display:none}.faq-item summary::-webkit-details-marker{display:none}.faq-icon{color:var(--amber);flex-shrink:0;font-size:1.4rem;transition:transform .2s}.faq-item details[open] .faq-icon{transform:rotate(45deg)}.faq-a{opacity:.82;font-size:.98rem;display:none}.faq-item details[open] .faq-a{display:block}.faq-a-inner{max-width:64ch;padding-bottom:22px}.contact-grid{grid-template-columns:1fr 1fr;gap:56px;display:grid}.field{margin-bottom:20px}.field label{color:var(--pine);margin-bottom:7px;font-size:.88rem;font-weight:500;display:block}.field input,.field select,.field textarea{border:1px solid var(--mist);background:var(--white);width:100%;color:var(--ink);border-radius:3px;padding:13px 14px;font-family:Work Sans,sans-serif;font-size:.95rem}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--amber);outline-offset:1px}.field textarea{resize:vertical;min-height:100px}.contact-note{background:var(--paper-dim);border-left:3px solid var(--amber);margin-top:24px;padding:16px 20px;font-size:.9rem}@media (width<=780px){.contact-grid{grid-template-columns:1fr}}footer{background:var(--pine);color:var(--white);padding:56px 0 32px}.footer-grid{flex-wrap:wrap;justify-content:space-between;gap:32px;margin-bottom:40px;display:flex}.footer-brand{margin-bottom:10px;font-family:Fraunces,serif;font-size:1.3rem}.footer-tag{opacity:.7;max-width:34ch;font-size:.92rem}.footer-cols{gap:64px;display:flex}.footer-col h4{text-transform:uppercase;letter-spacing:.06em;opacity:.6;margin-bottom:14px;font-size:.85rem}.footer-col a{opacity:.85;margin-bottom:10px;font-size:.92rem;display:block}.footer-col a:hover{opacity:1}.footer-bottom{opacity:.6;border-top:1px solid #ffffff26;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;font-size:.82rem;display:flex}
