:root{--ink:#221d1c;--red:#9b2031;--wine:#771626;--paper:#f9f5f0;--line:#e4d8d1;--muted:#5b4b45;--white:#fff}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 Arial,sans-serif}
a{color:var(--red);text-underline-offset:.2em}
a:hover{color:var(--wine)}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.skip{position:absolute;top:12px;left:12px;z-index:2;background:white;padding:10px;transform:translateY(-160%)}
.skip:focus{transform:none}
.wrap{width:min(100% - 96px,1260px);margin-inline:auto}
.header{background:white;border-bottom:1px solid var(--line)}
.nav,.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:86px}
.logo{width:92px;height:65px;object-fit:contain;display:block}
nav{display:flex;align-items:center;gap:clamp(12px,2vw,28px)}
nav a{font-weight:700;font-size:.95rem;color:var(--ink);text-decoration:none;padding-block:10px}
nav a:first-child,nav a:hover{color:var(--red)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--red);border-radius:7px;background:var(--red);color:white;font:700 .94rem/1.25 Arial,sans-serif;text-decoration:none;cursor:pointer;text-align:center}
.button:hover{background:var(--wine);color:white}
.outline{background:transparent;color:var(--red)}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{line-height:1.06}
h1{font:400 clamp(2.65rem,4.4vw,4.15rem)/1.02 Georgia,serif;letter-spacing:-.062em}
h2{font-size:clamp(1.75rem,2.6vw,2.1rem);letter-spacing:-.045em}
h3{font-size:1.24rem;letter-spacing:-.03em}
p{color:var(--muted)}
.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:30px;align-items:center;padding:36px 0 30px}
.story{display:grid;gap:14px;min-width:0}
.story p{font-size:1.1rem;max-width:53ch}
figure img{display:block;width:100%;height:clamp(240px,25vw,345px);object-fit:cover;object-position:center 58%;border-radius:28px 28px 6px 6px}
figcaption{font-size:.75rem;color:var(--muted);margin-top:4px}
.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:clamp(18px,2.25vw,32px);min-width:0}
.panel p{font-size:.88rem;margin-top:7px}
.panel .notice{background:#f7ede8;border-radius:6px;padding:7px 9px}
form{display:grid;gap:9px;margin-top:12px}
label{display:grid;gap:3px;font-weight:700;font-size:.85rem}
input,select,textarea{width:100%;min-width:0;min-height:43px;background:#f8f6f3;border:1px solid #d9cec8;border-radius:6px;color:var(--ink);padding:8px 10px;font:400 1rem Arial,sans-serif}
textarea{resize:vertical}
.feedback:empty{display:none}
.panel .feedback{margin:0;color:var(--ink);font-weight:700}
.alternate{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-top:8px;font-size:.83rem;font-weight:700}
.alternate a{padding-block:6px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-bottom:35px}
.steps article{border-top:1px solid #bc8c82;padding:13px 10px 0 0}
.steps p,.section p{margin-top:7px}
.section{border-top:1px solid var(--line);padding-block:40px}
.eyebrow{color:var(--red);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;margin-bottom:8px}
.listings,.intake{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.listings{margin-top:18px}
.listings article{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:white}
.listings img{display:block;width:100%;height:clamp(170px,23vw,270px);object-fit:cover}
.listings article div{padding:18px}
.listings a{display:inline-block;margin-top:12px;font-weight:700}
.intake form{margin:0}
.intake .notice{margin:0}
.whatsapp .button{margin-top:12px}
footer.header{border-top:1px solid var(--line)}
.footer{padding-block:10px}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.nav{flex-wrap:wrap;gap:6px 16px;padding:8px 0}.nav nav{order:3;width:100%;justify-content:center;flex-wrap:wrap}.hero{gap:18px}h3{font-size:1.12rem}}
@media(max-width:700px){.wrap{width:calc(100% - 32px)}.nav nav{gap:0 16px}.nav nav a{font-size:.85rem}.hero{grid-template-columns:1fr;gap:18px;padding-top:24px}.story{display:contents}.story p{font-size:1rem}.hero figure{grid-row:4}.hero img{height:clamp(190px,55vw,330px)}.steps,.intake{grid-template-columns:1fr}.steps{gap:14px}.section{padding-block:28px}.listings{gap:12px}.footer{flex-wrap:wrap;gap:10px}}
@media(max-width:440px){.listings{grid-template-columns:1fr}.nav .logo{width:75px;height:56px}.nav .button{font-size:.8rem;padding-inline:9px}}
