:root{--brand:#594438;--deep:#2B211C;--accent:#C8A062;--cream:#FBF7EF;--paper:#FFFDF8;--ink:#241D19;--muted:#7B6759;--line:rgba(89,68,56,.18);--shadow:0 24px 70px -36px rgba(89,68,56,.45);--serif:"Fraunces",Georgia,serif;--sans:"Source Sans 3",system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1120px,calc(100% - 40px));margin:auto}.section{padding:96px 0}.section--paper{background:var(--paper)}.section--deep{background:var(--deep);color:var(--cream)}.grid{display:grid;gap:28px}.grid--2{grid-template-columns:1.05fr .95fr}.grid--3{grid-template-columns:repeat(3,1fr)}.header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:24px;padding:14px max(20px,calc((100vw - 1120px)/2));background:#fbf7efdb;backdrop-filter:blur(18px);border-bottom:1px solid transparent}.header.is-scrolled{border-color:var(--line);box-shadow:0 12px 40px -30px var(--brand)}.brand{display:flex;gap:12px;align-items:center;margin-right:auto}.brand img{width:58px;height:42px;object-fit:contain}.brand strong{font-family:var(--serif);font-size:22px}.brand small{display:block;color:var(--muted);font-size:13px;letter-spacing:.16em;text-transform:uppercase}.nav{display:flex;gap:20px;color:var(--deep);font-weight:700}.nav a:hover{color:var(--brand)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:12px 20px;border-radius:999px;background:var(--brand);color:#fff;font-weight:800;box-shadow:var(--shadow)}.btn--ghost{background:transparent;color:var(--brand);border:1px solid var(--line);box-shadow:none}.btn--small{min-height:40px;padding:9px 16px}.nav-toggle,.navmenu{display:none}.meltbar{position:fixed;inset:0 0 auto;height:3px;z-index:100;background:transparent}.meltbar span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--accent));transform-origin:left;transform:scaleX(0)}.hero{padding:88px 0 72px;overflow:hidden}.hero h1,.page-hero h1,.chap h2{font-family:var(--serif);font-size:clamp(46px,7vw,88px);line-height:.94;letter-spacing:-.035em;margin:0 0 24px}.page-hero h1,.chap h2{font-size:clamp(38px,5vw,68px)}.lead{font-size:clamp(20px,2.1vw,25px);color:#5b4b42;max-width:760px}.eyebrow{color:var(--brand);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:13px}.card,.service-card,.note{background:#fffdf8bd;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow)}.card h3,.service-card h3{font-family:var(--serif);font-size:28px;line-height:1.1;margin:0 0 10px}.slot{aspect-ratio:var(--ratio);border-radius:34px;overflow:hidden;background:linear-gradient(145deg,#fff,var(--cream));border:1px solid var(--line);box-shadow:var(--shadow);min-height:260px}.slot img{width:100%;height:100%;object-fit:cover}.slot__ph{height:100%;display:grid;place-items:center;text-align:center;padding:28px;color:var(--muted)}.slot__ph .ricciolo{width:170px;opacity:.65}.slot__ph span{display:block;font-family:var(--serif);font-size:28px;color:var(--deep)}.ricciolo{max-width:100%}.hero-card{position:relative}.hero-card:after{content:"demo photo-ready";position:absolute;right:22px;bottom:22px;background:var(--deep);color:var(--cream);padding:8px 12px;border-radius:999px;font-size:13px}.btnrow{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}.stat{padding:20px;border:1px solid var(--line);border-radius:22px;background:#ffffff80}.stat strong{display:block;font-family:var(--serif);font-size:34px}.chap{max-width:800px;margin-bottom:36px}.center{text-align:center;margin-left:auto;margin-right:auto}.chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;min-height:42px;padding:8px 16px;font-weight:800;cursor:pointer}.chip.active{background:var(--brand);color:#fff}.acc__item{border-bottom:1px solid var(--line)}.acc__q{width:100%;min-height:52px;background:none;border:0;text-align:left;font:700 20px var(--sans);cursor:pointer}.acc__a{display:none;color:var(--muted);padding-bottom:18px}.acc__item.open .acc__a{display:block}.map{border:0;width:100%;height:380px;border-radius:28px;filter:saturate(.75)}.footer{padding:64px 0 22px;background:var(--deep);color:var(--cream)}.footer__grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px}.footer h2{font-family:var(--serif)}.footer p{color:#fbf7efc2}.footer__bottom{text-align:center;border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:20px;color:#fbf7ef8c;font-size:14px}.article{max-width:820px}.article h1{font-family:var(--serif);font-size:clamp(38px,6vw,70px);line-height:1}.article p:first-of-type{font-size:23px;color:var(--brand);font-weight:700}.js-anim [data-anim],.js-anim [data-anim-stagger]>*{opacity:0}@media(max-width:900px){.grid--2,.grid--3,.footer__grid,.stats{grid-template-columns:1fr}.nav,.header>.btn{display:none}.nav-toggle{display:block;border:1px solid var(--line);border-radius:14px;background:#fff;min-width:44px;min-height:44px}.navmenu{position:fixed;inset:0 0 0 auto;width:min(86vw,360px);background:var(--paper);padding:28px;box-shadow:var(--shadow);transform:translate(105%);transition:.25s;display:flex;flex-direction:column;gap:18px}.navmenu.open{transform:none}.navmenu button{align-self:flex-end;font-size:34px;background:none;border:0}.section{padding:70px 0}.hero{padding-top:58px}}@media(max-width:430px){.container{width:min(100% - 28px,1120px)}body{font-size:17px}.hero h1{font-size:44px}.card,.service-card{padding:22px}.brand strong{font-size:18px}.brand img{width:48px}}html,body{overflow-x:hidden}.nav a,.navmenu a{display:inline-flex;align-items:center;min-height:40px}.navmenu button{min-width:44px;min-height:44px}.slot__ph .ricciolo{opacity:1}.nav a{padding-inline:4px;min-width:42px;justify-content:center}html,body{max-width:100%;overflow-x:clip}@supports not (overflow-x: clip){html,body{overflow-x:hidden}}a,button,.btn,.cta,.cta-pill,.txtlink,.nav-toggle,summary,[role=button]{touch-action:manipulation}button,.btn,.cta,.cta-pill,.nav-toggle,.navmenu button{min-width:44px;min-height:44px}.nav-toggle{align-items:center;justify-content:center;padding:10px 12px;line-height:1}@media(max-width:980px){.nav-toggle{display:inline-flex}}.navmenu a,footer a,.footer a,.foot a,.site-footer a{min-height:44px;display:inline-flex;align-items:center;padding-block:8px}.navmenu:not(.open){visibility:hidden;pointer-events:none}.navmenu.open{visibility:visible;pointer-events:auto}img,svg,video,iframe{max-width:100%}iframe{border:0}@media(max-width:520px){.btnrow,.cta-row,.hero__actions,.actions{gap:12px}.btnrow .btn,.btnrow .cta,.btnrow .cta-pill{width:100%}h1{overflow-wrap:anywhere}}@media(max-width:980px){.navmenu:not(.open){display:none!important;transform:none!important;visibility:hidden!important;pointer-events:none!important}.navmenu.open{display:block!important;visibility:visible!important;pointer-events:auto!important;transform:translate(0)!important;max-width:100vw;overflow-x:hidden}.navmenu.open a,.navmenu.open button{min-height:44px!important}}footer a,.footer a,.foot a,.site-footer a,.txtlink,.card a,.info a,.contact a{min-height:44px!important;display:inline-flex!important;align-items:center!important}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
