*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Jost,system-ui,sans-serif;font-weight:300;color:#4a3632;background:#fbf6f3;line-height:1.7}
h1,h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;margin:0}
.wrap{max-width:1040px;margin:0 auto;padding:0 24px}.narrow{max-width:680px;text-align:center}
.hero{min-height:min(88vh,680px);display:flex;align-items:center;justify-content:center;text-align:center;padding:80px 24px;background:radial-gradient(circle at 20% 20%,#f6e4dc 0,transparent 55%),radial-gradient(circle at 85% 80%,#ead3c8 0,transparent 50%),#fbf3ee}
.eyebrow{letter-spacing:.25em;text-transform:uppercase;font-size:.75rem;color:#a0766a;margin:0 0 18px}
.hero h1{font-size:clamp(3rem,10vw,6.5rem);font-style:italic;line-height:1.05;color:#5a3f38}
.role{font-size:1.1rem;letter-spacing:.4em;text-transform:uppercase;margin:16px 0 36px;color:#7d5b52}
.role::before,.role::after{content:"";display:inline-block;width:40px;height:1px;background:#c9a397;vertical-align:middle;margin:0 14px}
.btn{display:inline-block;background:#b98b7e;color:#fff;text-decoration:none;padding:14px 32px;border-radius:999px;font-weight:400;letter-spacing:.05em;transition:background .2s,transform .2s}
.btn:hover{background:#9c6f62;transform:translateY(-2px)}
section{padding:90px 0}
.script{font-family:"Cormorant Garamond",serif;font-style:italic;color:#b98b7e;font-size:1.4rem}
h2{font-size:clamp(2rem,5vw,2.8rem);color:#5a3f38;margin-bottom:18px}
.about{background:#fff}
.grid{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:center}
address{font-style:normal;margin:28px 0 6px;font-size:1.05rem}.note{color:#8a6c64;font-size:.95rem;margin:0}
.map{border-radius:18px;overflow:hidden;box-shadow:0 12px 40px rgba(90,63,56,.15);aspect-ratio:4/3}
.map iframe{width:100%;height:100%;border:0;display:block}
footer{text-align:center;padding:36px 24px;background:#5a3f38;color:#f3e3dc;font-size:.95rem}
footer a{color:#fff;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.grid{grid-template-columns:1fr;text-align:center}section{padding:64px 0}.hero{min-height:auto;padding:90px 20px}.role{letter-spacing:.25em}.role::before,.role::after{width:22px;margin:0 8px}}

/* decorative accents */
.hero{position:relative;overflow:hidden}
.tdeco{position:absolute;top:0;bottom:0;right:0;width:40%;pointer-events:none;z-index:0;color:inherit}
.tdeco span{position:absolute;opacity:.8;line-height:0}
.tdeco svg{height:auto}
.tdeco .a1{left:14%;top:16%;transform:rotate(-22deg)}.tdeco .a1 svg{width:150px}
.tdeco .a2{right:10%;top:30%;transform:rotate(16deg)}.tdeco .a2 svg{width:150px}
.tdeco .a3{left:22%;bottom:16%;transform:rotate(-10deg)}.tdeco .a3 svg{width:130px}
.tdeco .a4{right:18%;bottom:10%;transform:rotate(12deg)}.tdeco .a4 svg{width:54px}
@media(min-width:900px){.hero{padding-right:42%!important}}
.tdiv{display:flex;align-items:center;justify-content:center;gap:16px;margin:0 auto;padding:6px 0;max-width:420px;color:inherit;opacity:.35}
.tdiv::before,.tdiv::after{content:"";flex:1;height:1px;background:currentColor}
.tdiv svg{width:30px;height:auto}
@media(max-width:899px){.tdeco{width:100%}.tdeco span{opacity:.13}.tdeco .a1 svg,.tdeco .a2 svg,.tdeco .a3 svg{width:64px}.tdeco .a4 svg{width:30px}.tdeco .a1{left:4%;top:4%}.tdeco .a2{right:4%;top:6%}.tdeco .a3{left:5%;bottom:4%}.tdeco .a4{right:6%;bottom:5%}.tdiv{max-width:240px}.tdiv svg{width:22px}}
