
:root{
  --cream:#f7f4ed; --paper:#fffdf9; --sage:#68745f; --sage-dark:#4f5b49;
  --olive:#7f8660; --sand:#ddd2bd; --clay:#a8755e; --ink:#30332d;
  --muted:#6d7068; --line:#ddd9cf; --white:#fff;
  --serif:Georgia,"Times New Roman",serif; --sans:Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);line-height:1.7}
a{color:inherit;text-decoration:none}
.container{width:min(1120px,90%);margin:auto}
nav{position:sticky;top:0;z-index:30;background:rgba(247,244,237,.95);backdrop-filter:blur(10px);border-bottom:1px solid rgba(221,217,207,.8)}
.nav-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between}
.brand{font-family:var(--serif);font-size:1.35rem}.brand span{display:block;font-family:var(--sans);font-size:.63rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.links{display:flex;gap:24px;align-items:center;font-size:.78rem;letter-spacing:.05em}.links a:hover{color:var(--sage-dark)}
.menu{display:none;background:none;border:0;font-size:1.6rem;color:var(--ink)}
.button{display:inline-block;background:var(--sage);color:#fff;padding:13px 24px;border-radius:2px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;transition:.2s}
.button:hover{background:var(--sage-dark);transform:translateY(-1px)}
.button.light{background:transparent;color:var(--sage-dark);border:1px solid var(--sage-dark)}
.eyebrow{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sage-dark);margin-bottom:18px}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15}
h1{font-size:clamp(3.1rem,6vw,5.7rem);margin:0 0 22px}
h2{font-size:clamp(2.2rem,4vw,3.5rem);margin:0 0 20px}
h3{font-size:1.6rem;margin:0 0 12px}
p{margin-top:0}.lead{font-family:var(--serif);font-size:1.42rem;line-height:1.6}
.small{font-size:.9rem;color:var(--muted)}
.hero{min-height:78vh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;padding:70px 0 80px}
.hero p{font-family:var(--serif);font-size:1.35rem;line-height:1.6;color:#55574f;max-width:610px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.hero-photo{min-height:560px;position:relative;overflow:hidden;background:#d9dfd0}
.hero-photo img{width:100%;height:100%;min-height:560px;display:block;object-fit:cover;object-position:center 33%;filter:saturate(.9)}
.hero-quote{position:absolute;left:9%;right:9%;bottom:8%;background:rgba(255,253,249,.92);padding:25px;font-family:var(--serif);font-size:1.22rem;text-align:center}
section{padding:100px 0}
.paper{background:var(--paper)}
.intro-grid,.constellation-grid,.about-grid,.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}
.pillars,.steps,.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:45px}
.pillar{padding:30px 0;border-top:1px solid var(--line)}.number{font-size:.72rem;letter-spacing:.15em;color:var(--clay)}
.pillar p,.card p,.area p{color:var(--muted)}
.constellations{background:var(--sage-dark);color:white}
.constellations .eyebrow{color:#d9dfd0}.constellations p{color:#e7e9e2}
.constellation-box{padding:42px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06)}
.constellation-box ul{padding-left:20px;color:#e7e9e2}.constellation-note{font-size:.84rem;color:#d8ddd3!important;margin-top:24px}
.hero-page{padding:90px 0 75px;background:var(--paper)}
.hero-page p{max-width:780px}
.area-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);margin-top:45px}
.area{background:var(--paper);padding:34px}.area h3{font-size:1.45rem}
.about-photo{min-height:560px;position:relative;overflow:hidden}.about-photo img{width:100%;height:100%;min-height:560px;object-fit:cover;object-position:center 33%;filter:saturate(.9)}
.credential{margin-top:30px;padding-top:25px;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)}
.process{background:#eeeae0}.step .num{font-family:var(--serif);font-size:2.4rem;color:var(--clay)}
.locations{display:grid;grid-template-columns:1fr 1fr}
.location{padding:65px;background:var(--sage);color:white}.location+.location{background:var(--clay)}
.location p{color:#f2eee8}
.contact{background:var(--paper)}
form{display:grid;gap:14px}label{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
input,textarea{width:100%;border:1px solid var(--line);background:var(--cream);padding:15px;font:inherit;color:var(--ink);margin-top:6px}
textarea{min-height:150px;resize:vertical}
footer{background:#30352f;color:#eef0ea;padding:45px 0}.footer-inner{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
footer p{margin:5px 0;color:#cbd0c6;font-size:.85rem}.disclaimer{font-size:.74rem;color:#aeb5a8;max-width:820px;margin-top:25px}
.quote-band{padding:75px 0;background:#eeeae0;text-align:center}.quote-band p{font-family:var(--serif);font-size:2rem;max-width:800px;margin:auto}
.notice{border-left:3px solid var(--clay);padding:18px 22px;background:#f1ede4;color:#5c5e57;margin:30px 0}
@media(max-width:800px){
  .links{display:none}.menu{display:block}.hero,.intro-grid,.constellation-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:45px}
  .hero{padding-top:50px}.hero-photo{min-height:430px}.hero-photo img{min-height:430px}
  .pillars,.steps,.cards{grid-template-columns:1fr}.area-grid,.locations{grid-template-columns:1fr}
  section{padding:75px 0}.about-photo,.about-photo img{min-height:430px}
}
