:root{--ink:#282a23;--olive:#62694b;--gold:#a28c57;--cream:#f6f1e7;--paper:#fffdf8;--sage:#dfe1d2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Georgia,'Times New Roman',serif;line-height:1.6}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(255,253,248,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid #e6dfd2}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);letter-spacing:.12em}.brand b{display:block;font-size:17px;font-weight:500}.brand small{display:block;font:9px Arial,sans-serif;letter-spacing:.18em;color:var(--gold)}.mark{border:1px solid var(--gold);width:45px;height:45px;border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:28px}.site-header nav{display:flex;align-items:center;gap:24px;font:13px Arial,sans-serif}.site-header nav a{color:var(--ink);text-decoration:none}.button{display:inline-block;padding:13px 22px;background:var(--olive);color:white!important;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font:11px Arial,sans-serif;border:1px solid var(--olive);border-radius:2px}.menu{display:none;border:0;background:none;font-size:25px}.hero{position:relative;min-height:570px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(246,241,231,.96) 0%,rgba(246,241,231,.78) 43%,rgba(246,241,231,.1) 70%),url('images/flatirons-hero-clean.jpg') center/cover}.hero-inner{padding:80px 6vw;max-width:760px}.eyebrow{font:11px Arial,sans-serif;letter-spacing:.28em;color:#806f43}.hero h1{font-size:58px;line-height:1.05;font-weight:400;margin:12px 0}.hero h1 i{color:var(--gold);font-style:normal}.hero h2,.intro h2,.services h2,.readings h2,.about h2,.faq h2,.contact h2{font-weight:400;font-size:38px;line-height:1.15;margin:5px 0 18px}.modalities{font:16px Arial,sans-serif}.actions{display:flex;gap:14px;margin-top:28px}.ghost{background:transparent;color:var(--ink)!important}.intro{text-align:center;padding:70px 20px;background:var(--cream)}.intro p{max-width:750px;margin:0 auto 12px}.wrap{max-width:1180px;margin:auto;padding:80px 30px}.services{text-align:center}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:35px}.grid article{padding:30px 22px;border-top:1px solid #c9c2b4}.grid h3,.two h3{font-weight:400;font-size:23px}.grid p,.two p,.about p,.faq p{font-family:Arial,sans-serif;font-size:14px}.icon,.two span{font-size:38px;color:var(--gold)}.readings{background:var(--sage);text-align:center}.two{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:35px}.two article{background:rgba(255,255,255,.55);padding:40px}.two a{color:var(--olive);font:12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:center}.portrait img{width:100%;max-height:590px;object-fit:cover;object-position:center 25%}.about h3{font-weight:400;font-style:italic;color:#555}.about blockquote{margin:30px 0 0;padding:20px 0 20px 25px;border-left:2px solid var(--gold);font-size:24px;font-style:italic}.faq{text-align:center}.faq details{max-width:780px;margin:12px auto;text-align:left;border-bottom:1px solid #d9d2c5;padding:15px}.faq summary{cursor:pointer;font-size:18px}.contact{min-height:430px;display:grid;place-items:center;text-align:center;color:white;background:linear-gradient(rgba(35,39,29,.78),rgba(35,39,29,.78)),url('https://images.unsplash.com/photo-1500534314209-a25ddb2bd4297?auto=format&fit=crop&w=1800&q=85') center/cover}.contact>div{max-width:650px;padding:60px 25px}.contact .eyebrow{color:#ddd0a9}.light{background:#f4efe4;color:var(--ink)!important;border-color:#f4efe4}footer{padding:45px 6vw;text-align:center;background:var(--cream)}footer .brand{justify-content:center}.fine{font:10px Arial,sans-serif;color:#777;max-width:700px;margin:20px auto 0}@media(max-width:900px){.site-header nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--paper);padding:25px;flex-direction:column}.site-header nav.open{display:flex}.menu{display:block}.hero{min-height:520px;background:linear-gradient(rgba(246,241,231,.88),rgba(246,241,231,.72)),url('images/flatirons-hero-clean.jpg') center/cover}.hero h1{font-size:42px}.grid{grid-template-columns:1fr 1fr}.about{grid-template-columns:1fr}.two{grid-template-columns:1fr}}@media(max-width:560px){.brand b{font-size:14px}.brand small{display:none}.hero h1{font-size:36px}.hero h2,.intro h2,.services h2,.readings h2,.about h2,.faq h2,.contact h2{font-size:31px}.grid{grid-template-columns:1fr}.actions{flex-direction:column;align-items:flex-start}.wrap{padding:60px 22px}}

/* Refined readings section */
.readings{background:linear-gradient(180deg,#e4e3d6 0%,#f2eee4 100%);position:relative;overflow:hidden}
.readings:before{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(162,140,87,.18);border-radius:50%;top:-250px;right:-110px}
.readings-wrap{position:relative;z-index:1;max-width:1080px}
.readings-intro{max-width:690px;margin:0 auto 38px;font-family:Arial,sans-serif;font-size:15px;line-height:1.8;color:#505148}
.reading-card{background:rgba(255,253,248,.86)!important;padding:48px 44px!important;border:1px solid rgba(162,140,87,.24);box-shadow:0 12px 35px rgba(60,58,45,.06);text-align:left;position:relative}
.reading-symbol{font-size:42px;color:var(--gold);line-height:1;margin-bottom:22px}
.reading-kicker{font:10px Arial,sans-serif!important;letter-spacing:.2em;color:#806f43;margin:0 0 10px}
.reading-card h3{font-size:29px;margin:0 0 15px}
.reading-card p:not(.reading-kicker){font-size:15px;line-height:1.75;color:#4d4e47;margin-bottom:28px}
.reading-link{display:inline-block;text-decoration:none!important;border-bottom:1px solid rgba(98,105,75,.45);padding-bottom:5px;color:var(--olive)!important;font-weight:600!important}
.reading-link b{font-size:16px;margin-left:5px;font-weight:400}
.readings-note{font:13px Arial,sans-serif;margin:32px auto 0;color:#626258}
.readings-note a{color:var(--olive);font-weight:600}
@media(max-width:560px){.reading-card{padding:34px 28px!important}.readings-intro{font-size:14px}.reading-card h3{font-size:26px}}

/* Heart Body Mind Enso logo + custom service icon set */
.enso-mark{position:relative;width:52px;height:52px;flex:0 0 52px;border-radius:50%;display:block;background:conic-gradient(from 28deg,var(--gold) 0 30%,#767753 30% 43%,#3f4936 43% 72%,var(--gold) 72% 94%,transparent 94% 100%);transform:rotate(-8deg)}
.enso-mark:before{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--paper)}
.enso-mark:after{content:"";position:absolute;inset:1px;border-radius:50%;border:1px solid rgba(162,140,87,.45);transform:rotate(12deg)}
.enso-dot{position:absolute;z-index:2;width:9px;height:9px;border-radius:50%;background:var(--gold);left:50%;bottom:10px;transform:translateX(-50%)}
footer .enso-mark:before{background:var(--cream)}
.service-grid{grid-template-columns:repeat(5,1fr);gap:0;margin-top:42px;border-top:1px solid #d6cdbc;border-bottom:1px solid #d6cdbc}
.service-grid article{border-top:0;padding:34px 24px 30px;position:relative}
.service-grid article+article{border-left:1px solid #ddd5c7}
.service-grid h3{margin:12px 0 8px;font-size:21px}
.service-grid p{font-family:Georgia,'Times New Roman',serif;font-size:14px;line-height:1.55;color:#4c4d46}
.service-link{font:10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:var(--olive);text-decoration:none;border-bottom:1px solid rgba(98,105,75,.4);padding-bottom:3px}
.service-icon{height:58px;width:68px;margin:0 auto;color:var(--gold);position:relative}
.stones span{position:absolute;left:50%;transform:translateX(-50%);border:2px solid var(--gold);border-radius:50%}
.stones span:nth-child(1){width:52px;height:19px;bottom:2px}.stones span:nth-child(2){width:40px;height:18px;bottom:18px}.stones span:nth-child(3){width:24px;height:17px;bottom:34px}
.leaves:before{content:"";position:absolute;width:2px;height:47px;background:var(--gold);left:33px;bottom:2px;transform:rotate(-1deg)}
.leaves span{position:absolute;width:25px;height:38px;border:2px solid var(--gold);border-radius:100% 0 100% 0;bottom:10px}.leaves span:nth-child(1){left:7px;transform:rotate(-28deg)}.leaves span:nth-child(2){right:7px;transform:scaleX(-1) rotate(-28deg)}.leaves span:nth-child(3){width:19px;height:31px;left:24px;bottom:26px;transform:rotate(45deg)}
.dandelion .stem{position:absolute;width:2px;height:37px;background:var(--gold);left:30px;bottom:1px;transform:rotate(23deg);transform-origin:bottom}.dandelion .head{position:absolute;font-size:35px;left:13px;top:-7px}.dandelion i,.dandelion b{position:absolute;font-style:normal;font-weight:400;font-size:27px;top:1px}.dandelion i{right:10px}.dandelion b{right:-1px;top:-8px}
.sunrise span{position:absolute;width:36px;height:19px;border:2px solid var(--gold);border-bottom:0;border-radius:36px 36px 0 0;left:16px;bottom:12px}.sunrise:before{content:"";position:absolute;width:58px;height:2px;background:var(--gold);left:5px;bottom:11px;box-shadow:0 7px 0 rgba(162,140,87,.55)}.sunrise:after{content:"✦  |  ✦";position:absolute;left:10px;top:-10px;font-size:14px;letter-spacing:5px;color:var(--gold)}
.moon:before{content:"";position:absolute;width:39px;height:48px;border:2px solid var(--olive);border-radius:50%;left:10px;top:2px}.moon:after{content:"";position:absolute;width:39px;height:48px;border-radius:50%;background:var(--paper);left:21px;top:-3px}.moon span{position:absolute;z-index:2;right:0;top:1px;font-size:18px;color:var(--gold)}
@media(max-width:1000px){.service-grid{grid-template-columns:repeat(2,1fr)}.service-grid article+article{border-left:0}.service-grid article:nth-child(even){border-left:1px solid #ddd5c7}.service-grid article{border-bottom:1px solid #ddd5c7}.service-grid article:last-child{grid-column:1/-1}}
@media(max-width:560px){.enso-mark{width:44px;height:44px;flex-basis:44px}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article:nth-child(even){border-left:0;border-bottom:1px solid #ddd5c7}.service-grid article:last-child{grid-column:auto}}

/* Organic painted Enso logo */
.enso-logo{width:58px;height:58px;flex:0 0 58px;object-fit:cover;border-radius:50%;display:block;mix-blend-mode:multiply}
footer .enso-logo{width:54px;height:54px;flex-basis:54px}
@media(max-width:560px){.enso-logo{width:48px;height:48px;flex-basis:48px}}

.nav-toggle{position:absolute;opacity:0;pointer-events:none}
@media(max-width:900px){.nav-toggle:checked ~ nav{display:flex}}

/* Photo credit styling */
.photo-credit{position:absolute;bottom:12px;right:20px;font-size:11px;color:rgba(255,255,255,.7);font-family:Arial,sans-serif;margin:0;letter-spacing:.05em}
@media(max-width:560px){.photo-credit{font-size:10px;right:12px;bottom:10px}}

/* Improved mobile service grid */
@media(max-width:560px){.service-icon{height:50px;width:60px;margin:0 auto}.service-grid h3{font-size:19px}.service-grid p{font-size:13px;line-height:1.5}.service-grid article{padding:24px 16px 20px}}

/* Service detail pages */
.service-detail{padding:60px 30px!important}
.service-detail p.eyebrow{margin-bottom:25px}
.service-detail p.eyebrow a{color:var(--olive);text-decoration:none;font-weight:600}
.service-detail p.eyebrow a:hover{border-bottom:1px solid var(--olive)}
.service-detail h1{font-size:48px;font-weight:400;margin:0 0 8px;line-height:1.1}
.service-detail h2{font-size:24px;font-weight:400;margin:0 0 28px;color:var(--olive);font-style:italic}
.service-detail .intro-text{font-size:18px;font-weight:500;color:#555;margin-bottom:30px;max-width:700px}
.service-content{max-width:800px;margin-top:35px}
.service-content > p{font-size:16px;line-height:1.8;margin-bottom:20px;color:#4c4d46;font-family:Georgia,'Times New Roman',serif}
.service-content h3{font-size:22px;font-weight:400;margin:35px 0 18px;color:var(--ink)}
.pricing-list,.conditions-list{list-style:none;padding:0;margin:18px 0 25px}
.pricing-list li,.conditions-list li{font-family:Arial,sans-serif;font-size:15px;color:#4c4d46;margin-bottom:12px;padding-left:24px;position:relative}
.pricing-list li:before,.conditions-list li:before{content:"•";color:var(--gold);position:absolute;left:0;font-weight:bold}
.cta{background:var(--cream);padding:35px 30px;margin-top:45px;text-align:center;border-top:1px solid #d9d2c5;border-bottom:1px solid #d9d2c5}
.cta p{font-family:Georgia,'Times New Roman',serif;font-size:16px;color:#4c4d46;margin:0 0 18px}
.cta p:last-child{margin-bottom:25px}
.cta .button{margin:0 10px}
@media(max-width:560px){.service-detail{padding:40px 22px!important}.service-detail h1{font-size:36px}.service-detail h2{font-size:20px}.service-content h3{font-size:19px}.pricing-list li,.conditions-list li{font-size:14px}.cta{padding:25px 20px}}

/* Service card links */
.service-grid a{color:inherit;text-decoration:none}
.service-grid h3 a{color:var(--ink)}
.service-grid h3 a:hover{color:var(--olive)}
