:root{--ink:#143d32;--green:#0e4b3c;--gold:#b9862f;--cream:#fbf7ef;--paper:#fffdfa;--muted:#66746f;--line:#e9dec9}
.booking{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start;background:linear-gradient(135deg,#fffdfa,#f9f2e6)}
.booking-intro{position:sticky;top:30px}
.booking-intro>p:not(.eyebrow){font-size:1.08rem;max-width:470px}
.booking-note{margin-top:25px;padding:16px 18px;border-left:3px solid var(--gold);background:#fff9ee;color:var(--ink);font-weight:600}
.booking-form{background:white;padding:36px;border:1px solid #eadfce;border-radius:20px;box-shadow:0 18px 55px #2e291c0c}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field label{font-weight:600;color:var(--ink)}
.field label span,.consent b{color:#b46d20}
.field input,.field textarea{width:100%;font:inherit;color:#18342d;background:#fffdfa;border:1px solid #d9d1c4;border-radius:9px;padding:12px 13px;outline:none;transition:.2s}
.field textarea{resize:vertical;min-height:125px}
.field input:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c8964030}
.consent{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;margin:4px 0 22px}
.consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--green);flex:0 0 auto}
.submit-btn{border:0;cursor:pointer;font:600 1rem "DM Sans",sans-serif}
.required-note{font-size:.78rem;color:var(--muted);margin:9px 0 0}
.honeypot{position:absolute!important;left:-9999px!important;opacity:0!important}
.thanks-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#fffdf8,#f6eddf)}
.thanks-card{max-width:650px;text-align:center;background:white;border:1px solid #eadfce;border-radius:24px;padding:55px 45px;box-shadow:0 22px 70px #19382b18}
.thanks-card h1{font:500 clamp(2.2rem,5vw,3.5rem)/1.15 "Playfair Display",serif;color:var(--ink);margin:0 0 18px}
.thanks-card p:not(.eyebrow){font-size:1.08rem;margin-bottom:28px}
.thanks-icon{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 22px;border-radius:50%;background:var(--green);color:white;font-size:34px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:#1a2c27;background:var(--paper);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.55}
a{color:inherit;text-decoration:none}
.header{height:108px;display:flex;align-items:center;gap:34px;max-width:1240px;margin:auto;padding:0 36px}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto;color:var(--ink)}
.brand-mark{display:grid;place-items:center;width:62px;height:62px;border:2px solid var(--ink);border-radius:50%;font-size:29px;color:var(--gold)}
.brand-logo{position:relative;display:block;flex:0 0 72px;width:72px;height:72px;overflow:hidden;border-radius:50%;background:#fffdfa}
.brand-logo img{position:absolute;width:317px;max-width:none;height:auto;left:-42px;top:-13px}
.brand strong{display:block;font:500 19px/1.2 "Playfair Display",serif;letter-spacing:.12em}
.brand em{display:block;font:italic 16px/1.2 "Playfair Display",serif;color:var(--gold)}
.nav{display:flex;gap:29px;font-weight:600}
.nav a:hover{color:var(--gold)}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:11px;padding:13px 23px;font-weight:600;transition:.2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #102a2220}
.btn-gold{background:linear-gradient(135deg,#b9842f,#d4a54b);color:white}
.btn-green{background:linear-gradient(135deg,#174f40,#0c3b31);color:white}
.menu-toggle{display:none;border:0;background:none;font-size:27px;color:var(--ink)}
.hero{max-width:1240px;margin:auto;min-height:510px;padding:58px 36px 44px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:60px}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:600;color:var(--gold);margin:0 0 13px}
.hero h1,.section h2{font:500 clamp(2.45rem,4vw,4.15rem)/1.15 "Playfair Display",serif;color:var(--ink);margin:0}
.hero h1 span{display:block;color:var(--gold)}
.lead{font-size:1.18rem;max-width:560px;margin:25px 0}
.promise{color:var(--ink);font-size:1.05rem;margin-top:21px}
.hero-visual{align-self:center}
.hero-eyebrow{margin:0 0 22px 22px}
.portrait-wrap{position:relative;height:410px}
.portrait-crop{position:absolute;inset:0;border-radius:45% 55% 48% 52% / 40% 34% 66% 60%;overflow:hidden;box-shadow:0 24px 50px #173e2e21;border:8px solid #f5ecdd}
.portrait-crop img{position:absolute;width:860px;max-width:none;height:auto;left:-431px;top:-91px}
.portrait-wrap:after{content:"";position:absolute;inset:-15px -20px 5px 25px;border:1.5px solid var(--gold);border-radius:53% 47% 44% 56%;z-index:-1}
.leaf{position:absolute;color:#63744d;font-size:76px;z-index:2}
.leaf-one{left:-33px;bottom:10px;transform:rotate(-38deg)}
.leaf-two{right:-17px;top:22px;transform:rotate(142deg);opacity:.75}
.pillars{background:linear-gradient(90deg,#fbf5eb,#fffdfa,#fbf5eb);border-block:1px solid #f2e8d8;display:flex;justify-content:center;padding:26px 30px}
.pillars article{display:flex;gap:18px;align-items:center;width:285px;padding:0 40px;border-right:1px solid #dcc9a7}
.pillars article:last-child{border:0}
.pillar-icon{display:block;flex:0 0 64px;width:64px;height:55px;background-image:url("assets/cedule-logo-source.png");background-repeat:no-repeat;background-size:602px auto}
.pillar-ear{background-position:-262px -145px}
.pillar-heart{background-position:-368px -147px}
.pillar-mountain{background-position:-476px -147px}
.pillars p{margin:0}
.pillars strong,.pillars span{display:block}
.pillars span{font-size:.9rem}
.section{padding:80px max(36px,calc((100vw - 1168px)/2))}
.about{display:grid;grid-template-columns:1.08fr .92fr;gap:80px;align-items:center}
.section h2{font-size:2.8rem;margin-bottom:24px}
.about p{font-size:1.06rem}
.text-link{display:inline-block;margin-top:12px;color:var(--ink);font-weight:600;border-bottom:1px solid var(--ink)}
.story-card{position:relative;background:linear-gradient(135deg,#f8f1e6,#fffdfa);padding:43px 44px;border-radius:20px;border:1px solid #f0e4d4;box-shadow:0 18px 50px #442d0c0a}
.story-card h3{font:500 2rem "Playfair Display",serif;color:var(--ink);margin:0 0 16px}
.card-symbol{position:absolute;right:25px;bottom:10px;font-size:76px;color:#6d8054}
.gold{color:var(--gold);border-color:var(--gold)}
.services{background:#fcf8f2;text-align:center}
.center{text-align:center}
.services h2{text-align:center}
.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:17px;margin-top:35px}
.service-grid article{background:white;padding:29px 18px;border:1px solid #eee5d8;border-radius:16px;box-shadow:0 8px 28px #15291e0b}
.service-grid span{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 16px;background:#f1f0e4;border-radius:45% 55%;font:32px "Playfair Display",serif;color:var(--ink)}
.service-grid h3{font:600 1.23rem "Playfair Display",serif;color:var(--ink);margin:0 0 10px}
.service-grid p{font-size:.91rem;margin:0}
.service-grid .featured-service{grid-column:span 2;border-color:#dfc797;background:linear-gradient(150deg,#fff,#fffaf0)}
.service-grid .habit-service{grid-column:2/span 2}
.service-boundary{max-width:850px;margin:28px auto 0;padding-top:18px;border-top:1px solid #e6d9c4;color:#5d6a65;font-size:.88rem}
.meeting-place{display:grid;grid-template-columns:1.08fr .92fr;gap:65px;align-items:center;background:#fffdfa}
.meeting-photo{position:relative;width:92%;min-height:365px;justify-self:center;border-radius:26px 8px 26px 8px;overflow:hidden;box-shadow:0 22px 55px #173e2e20;border:7px solid #f4ead9}
.meeting-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.floor-badge{position:absolute;right:20px;bottom:20px;padding:10px 17px;border-radius:999px;background:var(--ink);color:white;font-weight:600;box-shadow:0 8px 20px #0003}
.meeting-copy>p:not(.eyebrow):not(.arrival-note){font-size:1.08rem;max-width:500px}
.address-card{display:flex;align-items:center;gap:18px;margin:28px 0 14px;padding:20px 22px;border:1px solid #d5b774;border-radius:15px;background:linear-gradient(135deg,#fffaf0,#fff)}
.address-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:50%;background:var(--gold);color:white;font-size:25px}
.address-card strong,.address-card small{display:block}.address-card strong{font:600 1.25rem "Playfair Display",serif;color:var(--ink)}.address-card small{margin-top:3px;color:#53625d;font-size:.92rem}
.arrival-note{font-size:.9rem;color:#62706b}
.process{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}
.process-title span{display:block}
.process ol{list-style:none;margin:0;padding:0}
.process li{display:flex;gap:22px;padding:17px 0;border-bottom:1px solid var(--line)}
.process li b{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:50%;background:var(--ink);color:white}
.process li span,.process li strong{display:block}
.process li strong{font:600 1.15rem "Playfair Display",serif;color:var(--ink)}
.quote{min-height:155px;background:linear-gradient(105deg,#f5eee4,#fffdf8 58%,#f4eddf);display:grid;grid-template-columns:1.4fr .7fr auto;gap:35px;align-items:center;padding:35px max(36px,calc((100vw - 1168px)/2));border-top:1px solid #eadfce}
.quote blockquote{margin:0;font:500 2rem/1.2 "Playfair Display",serif;color:var(--ink)}
.quote blockquote span{color:var(--gold)}
.quote p{font-size:1.08rem}
footer{background:var(--ink);color:white;padding:48px max(36px,calc((100vw - 1168px)/2)) 24px;display:grid;grid-template-columns:1fr auto;gap:24px}
footer h2{font:500 2rem "Playfair Display",serif;margin:0}
footer p{margin:.5rem 0}
.contacts{display:flex;flex-direction:column;justify-content:center;gap:9px;color:#fff5e3}
.copyright{grid-column:1/-1;padding-top:20px;border-top:1px solid #ffffff30;font-size:.85rem;opacity:.7}
@media(max-width:980px){.nav,.header-cta{display:none}
.menu-toggle{display:block}
.nav.open{position:absolute;display:flex;flex-direction:column;top:90px;left:20px;right:20px;background:white;padding:25px;z-index:10;border-radius:14px;box-shadow:0 15px 40px #10251c20}
.hero{grid-template-columns:1fr;gap:30px}
.hero-eyebrow{margin-left:0;text-align:center}
.portrait-wrap{height:390px}
.service-grid{grid-template-columns:repeat(2,1fr)}
.service-grid article:last-child{grid-column:1/-1}
.service-grid .featured-service,.service-grid .habit-service{grid-column:auto}
.about,.process,.booking,.meeting-place{grid-template-columns:1fr;gap:35px}
.meeting-photo{width:96%;min-height:330px}
.booking-intro{position:static}
.quote{grid-template-columns:1fr;text-align:center}
.quote .btn{justify-self:center}
}
@media(max-width:620px){.header{height:86px;padding:0 20px}
.brand-mark{width:48px;height:48px}
.brand-logo{flex-basis:54px;width:54px;height:54px}
.brand-logo img{width:238px;left:-32px;top:-10px}
.brand strong{font-size:14px}
.brand em{font-size:12px}
.hero{padding:40px 20px 38px}
.hero h1{font-size:2.45rem}
.lead{font-size:1.05rem}
.portrait-wrap{height:315px}
.portrait-crop img{width:700px;left:-350px;top:-74px}
.pillars{align-items:stretch;padding:18px 10px}
.pillars article{width:33.33%;padding:5px 9px;display:block;text-align:center}
.pillar-icon{margin:0 auto 5px;transform:scale(.78)}
.pillars strong{font-size:.72rem}
.pillars span{font-size:.69rem}
.section{padding:60px 20px}
.section h2{font-size:2.25rem}
.service-grid{grid-template-columns:1fr}
.service-grid article:last-child{grid-column:auto}
.story-card{padding:32px 25px}
.booking-form{padding:25px 20px}
.field-row{grid-template-columns:1fr;gap:0}
.thanks-card{padding:42px 22px}
.meeting-photo{width:100%;min-height:260px}
.process h2{font-size:2rem}
.quote{padding:45px 20px}
.quote blockquote{font-size:1.7rem}
footer{grid-template-columns:1fr;padding:42px 20px 22px}
footer h2{font-size:1.65rem}
.copyright{grid-column:auto}
}
