:root{--plum:#3a2a52;--plum-d:#261a38;--apricot:#f4a259;--cream:#fdf6ec;--blush:#f7e3d3;--ink:#2a2233;--paper:#fff}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:'Nunito',sans-serif;color:var(--ink);background:var(--cream);font-size:1.05rem}
h1,h2,h3,h4,.brand{font-family:'Fraunces',serif;font-weight:700}
.util{background:var(--plum-d);color:#fff;font-size:.9rem;padding:.4rem 0}
.util a{color:#fff;text-decoration:none;font-weight:700}
.navbar{background:var(--cream);border-bottom:2px solid var(--blush)}
.brand{color:var(--plum);font-size:1.5rem;text-decoration:none}
.brand small{display:block;font-family:'Nunito',sans-serif;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#7a5a3a;font-weight:700}
.nav-link{color:var(--plum);font-weight:700}
.nav-link:hover{color:#b3541e}
.btn-sully{background:var(--apricot);color:var(--plum-d);font-weight:800;border:0;border-radius:50px;padding:.7rem 1.6rem}
.btn-sully:hover{background:#ffb877;color:var(--plum-d)}
.btn-ghost{border:2px solid #fff;color:#fff;border-radius:50px;font-weight:800;padding:.65rem 1.5rem}
.btn-ghost:hover{background:#fff;color:var(--plum)}
.hero{background:var(--plum);color:#fff;padding:4.5rem 0 5rem;overflow:hidden;position:relative}
.hero h1{font-size:clamp(2.4rem,5.5vw,4.3rem);line-height:1.08}
.hero h1 em{color:var(--apricot);font-style:italic}
.eyebrow{font-family:'Nunito',sans-serif;text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:.8rem;color:var(--apricot)}
.door{width:min(100%,340px);aspect-ratio:3/4;border-radius:999px 999px 18px 18px;background:radial-gradient(circle at 50% 38%,#ffe2ad 0,var(--apricot) 55%,#d97b2d 100%);margin:auto;position:relative;box-shadow:0 0 0 10px rgba(255,255,255,.1),0 0 90px rgba(244,162,89,.45);display:flex;align-items:flex-end;justify-content:center;padding:1.5rem}
.door span{background:var(--plum);color:#fff;border-radius:14px;padding:1rem 1.2rem;text-align:center;font-weight:700;line-height:1.35}
.door b{font-family:'Fraunces',serif;font-size:1.6rem;display:block;color:var(--apricot)}
section{padding:4.5rem 0}
.sec-title{font-size:clamp(2rem,4vw,3rem);color:var(--plum)}
.arch-card{background:var(--paper);border-radius:999px 999px 16px 16px;padding:3.2rem 1.5rem 1.6rem;text-align:center;height:100%;border:2px solid var(--blush);font-family:'Fraunces',serif;font-weight:700;color:var(--plum);font-size:1.15rem;display:flex;align-items:center;justify-content:center;min-height:150px;transition:.2s}
.arch-card:hover{background:var(--apricot);border-color:var(--apricot)}
.band{background:var(--blush)}
.pull{background:var(--apricot);color:var(--plum-d);padding:3rem 0;text-align:center}
.pull p{font-family:'Fraunces',serif;font-size:clamp(1.4rem,3vw,2.2rem);font-style:italic;margin:0;font-weight:600}
.cred{background:var(--paper);border-radius:16px;padding:1.2rem;display:flex;align-items:center;justify-content:center;height:100%;border:2px solid var(--blush)}
.cred img{max-height:90px;width:auto;max-width:100%;height:auto}
.step{border-left:4px solid var(--apricot);padding-left:1rem}
.contact{background:var(--plum);color:#fff}
.contact a{color:var(--apricot);font-weight:700}
.contact h2{color:#fff}
iframe{border:0;width:100%;height:100%;min-height:340px;border-radius:16px}
footer{background:var(--plum-d);color:#d9cfe6;padding:2rem 0;font-size:.95rem}
footer a{color:var(--apricot)}
