@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400;1,600&family=Oswald:wght@400;500;600&family=Jost:wght@300;400;500&display=swap");

:root{
--cream:#f6f1e9;
--sand:#e9ded0;
--sand-deep:#ddcdb9;
--ink:#181513;
--ink-soft:#4b433c;
--line:#cbbba6;
--accent:#8a6a45;
--max:1440px;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{width:100%;max-width:100%;overflow-x:hidden}
#main{display:block;width:100%}
section,article,header,footer{width:100%}
html{scroll-behavior:smooth}
body{background:#fff;color:var(--ink);font-family:"Jost",system-ui,sans-serif;font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:100%;max-width:var(--max);margin-left:auto;margin-right:auto;padding:0 clamp(20px,4vw,48px)}

h1,h2,h3,h4{font-family:"Oswald",sans-serif;font-weight:600;letter-spacing:.02em;line-height:1.1;text-transform:uppercase}
h1{font-size:clamp(2.2rem,4.4vw,3.6rem)}
h2{font-size:clamp(1.7rem,3vw,2.6rem)}
h3{font-size:1.15rem}
.display{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:600;text-transform:none;letter-spacing:-.01em;font-size:clamp(3rem,7.2vw,6rem);line-height:.98}
.lead{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.15rem,1.7vw,1.5rem);color:var(--ink-soft);line-height:1.55}
p+p{margin-top:1.05em}

.site-head{position:sticky;top:0;z-index:60;background:rgba(246,241,233,.94);backdrop-filter:blur(8px);border-bottom:1px solid rgba(203,187,166,.5)}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px}
.brand img{height:38px;width:auto}
.nav ul{display:flex;gap:30px;list-style:none}
.nav a{font-family:"Oswald",sans-serif;text-transform:uppercase;font-size:.82rem;letter-spacing:.16em;padding:6px 0;border-bottom:1px solid transparent}
.nav a:hover,.nav .current a{border-bottom-color:var(--ink)}
.nav-toggle{display:none;background:none;border:1px solid var(--line);padding:9px 12px;font-family:"Oswald",sans-serif;letter-spacing:.14em;font-size:.72rem;text-transform:uppercase;cursor:pointer}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;padding:17px 40px;cursor:pointer;transition:background .25s,color .25s}
.btn:hover{background:var(--ink);color:var(--cream)}
.btn-solid{background:var(--ink);color:var(--cream)}
.btn-solid:hover{background:var(--accent);border-color:var(--accent)}

.hero{background:var(--sand);position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(320px,1.05fr) minmax(300px,1fr);align-items:center;gap:clamp(32px,4vw,64px);min-height:640px;width:100%;max-width:var(--max);margin:0 auto;padding:64px clamp(20px,4vw,48px)}
.hero-copy{text-align:center}
.hero-copy .lead{max-width:44ch;margin:0 auto}
.orn{display:flex;align-items:center;justify-content:center;gap:16px;margin:26px 0}
.orn span{height:1px;width:120px;background:var(--line)}
.orn i{font-style:normal;color:var(--accent);letter-spacing:.2em}
.hero-actions{margin-top:34px}

.slider{position:relative;aspect-ratio:4/5;background:var(--sand-deep);overflow:hidden}
.slider figure{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;display:block}
.slider figure.is-on{opacity:1}
.slider img{width:100%;height:100%;object-fit:cover}
.slider figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 24px;background:linear-gradient(transparent,rgba(24,21,19,.72));color:var(--cream);font-family:"Oswald",sans-serif;letter-spacing:.16em;text-transform:uppercase;font-size:.8rem}
.slider-nav{position:absolute;bottom:18px;right:20px;display:flex;gap:8px;z-index:3}
.slider-nav button{width:9px;height:9px;border-radius:50%;border:1px solid var(--cream);background:transparent;cursor:pointer;padding:0}
.slider-nav button[aria-current="true"]{background:var(--cream)}

.section{padding:96px 0}
.section.alt{background:var(--cream)}
.kicker{font-family:"Oswald",sans-serif;letter-spacing:.24em;text-transform:uppercase;font-size:.72rem;color:var(--accent);margin-bottom:14px}
.orn-left{display:flex;align-items:center;gap:14px;margin:18px 0 26px}
.orn-left span{height:1px;width:110px;background:var(--line)}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(32px,4vw,64px);align-items:center}
.measure{max-width:78ch}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px}
.card{background:var(--cream);border:1px solid rgba(203,187,166,.55)}
.card .ph{aspect-ratio:4/5;overflow:hidden;background:var(--sand-deep)}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.card:hover .ph img{transform:scale(1.045)}
.card .body{padding:24px 26px 30px}
.card .body p{font-family:"Cormorant Garamond",serif;font-style:italic;color:var(--ink-soft);margin-top:8px}
.card .more{display:inline-block;margin-top:16px;font-family:"Oswald",sans-serif;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid var(--line)}

.faq{width:100%;max-width:1000px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line);padding:20px 0}
.faq summary{cursor:pointer;list-style:none;font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.98rem;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:12px;color:var(--ink-soft)}

.crumbs{background:var(--cream);border-bottom:1px solid rgba(203,187,166,.5);font-size:.82rem;letter-spacing:.04em}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:16px 0}
.crumbs li+li:before{content:"/";margin-right:10px;color:var(--line)}
.crumbs a{color:var(--ink-soft)}
.crumbs a:hover{color:var(--ink)}

.page-head{background:var(--sand);padding:72px 0}
.entry{padding:72px 0}
.entry h2{margin:44px 0 16px}
.entry h3{margin:30px 0 10px}
.entry ul,.entry ol{margin:16px 0 16px 22px}
.entry li{margin:8px 0}
.entry ol.clauses{margin-left:20px}
.entry ol.clauses li{margin:14px 0}

.profile{display:grid;grid-template-columns:minmax(300px,40%) minmax(320px,1fr);gap:clamp(28px,3.5vw,64px);align-items:start}
.profile>*{min-width:0}
.profile .measure{max-width:none}
.profile .portrait{border:1px solid var(--line)}
.meta-list{list-style:none;margin:22px 0 0;border-top:1px solid var(--line)}
.meta-list li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid rgba(203,187,166,.5);font-size:.9rem}
.meta-list b{font-family:"Oswald",sans-serif;font-weight:500;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;color:var(--accent)}

.form{background:var(--cream);border:1px solid var(--line);padding:34px;margin-top:38px}
.form label{display:block;font-family:"Oswald",sans-serif;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:7px}
.form input,.form select,.form textarea{width:100%;padding:14px 16px;border:1px solid var(--line);background:#fff;font-family:inherit;font-size:1rem;color:var(--ink);margin-bottom:20px;border-radius:0}
.form textarea{min-height:140px;resize:vertical}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form .note{font-size:.8rem;color:var(--ink-soft);margin-top:14px}
.form-msg{margin-top:14px;font-size:.9rem;color:var(--accent);min-height:1.2em}

.strip{background:var(--ink);color:var(--cream);padding:88px 0;text-align:center}
.strip .display{color:var(--cream)}
.strip .lead{color:rgba(246,241,233,.78)}
.strip .btn{border-color:var(--cream);color:var(--cream)}
.strip .btn:hover{background:var(--cream);color:var(--ink)}

.site-foot{background:var(--cream);border-top:1px solid var(--line);padding:64px 0 34px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:44px}
.foot-grid h4{font-size:.78rem;letter-spacing:.2em;color:var(--accent);margin-bottom:16px}
.foot-grid ul{list-style:none}
.foot-grid li{margin:9px 0;font-size:.92rem}
.foot-bottom{margin-top:44px;padding-top:22px;border-top:1px solid rgba(203,187,166,.6);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.82rem;color:var(--ink-soft)}
.age{border:1px solid var(--line);padding:4px 10px;letter-spacing:.14em;font-size:.7rem;font-family:"Oswald",sans-serif}

.grid-index{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px}
.notfound{padding:140px 0;text-align:center}

@media(max-width:900px){
.hero-grid{grid-template-columns:1fr;gap:40px;min-height:0;padding:52px 24px}
.split{grid-template-columns:1fr;gap:36px}
.profile{grid-template-columns:1fr;gap:34px}
.cards,.grid-index{grid-template-columns:repeat(2,1fr)}
.foot-grid{grid-template-columns:1fr 1fr}
.nav{position:absolute;top:78px;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--line);display:none}
.nav.is-open{display:block}
.nav ul{flex-direction:column;gap:0;padding:12px 28px 22px}
.nav li{border-bottom:1px solid rgba(203,187,166,.45)}
.nav a{display:block;padding:14px 0}
.nav-toggle{display:inline-block}
}
@media(max-width:640px){
.cards,.grid-index,.foot-grid,.form .row{grid-template-columns:1fr}
.section{padding:64px 0}
.orn span{width:70px}
}
