
:root { --ink:#243a33; --forest:#315e4f; --sage:#adc4b5; --cream:#f5f0e6; --paper:#fffdf8; --coral:#c8735c; --line:rgba(36,58,51,.17); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
.site-header { width:min(1180px,calc(100% - 40px)); margin:0 auto; min-height:92px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:flex; flex-direction:column; gap:4px; font-family:Georgia,serif; font-size:20px; }
.brand small { font:700 9px/1 Arial,sans-serif; letter-spacing:.2em; text-transform:uppercase; color:var(--forest); }
nav { display:flex; align-items:center; gap:28px; font-size:13px; font-weight:700; }
.nav-cta { border:1px solid var(--ink); padding:12px 18px; border-radius:999px; }
.hero { width:min(1180px,calc(100% - 40px)); margin:0 auto; min-height:680px; display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:70px; padding:72px 0 88px; }
.eyebrow { display:flex; align-items:center; gap:8px; margin:0 0 24px; color:var(--coral); font-size:12px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.hero h1,.section h2,.book-copy h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.035em; }
.hero h1 { max-width:720px; margin:0; font-size:clamp(54px,6.3vw,92px); line-height:.97; }
.hero h1 em { color:var(--coral); font-weight:400; }
.hero-lead { max-width:620px; margin:30px 0 0; font-size:18px; line-height:1.75; color:#52635d; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:36px; }
.button { min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:0 23px; border-radius:999px; font-size:14px; font-weight:800; transition:transform .2s ease,background .2s ease; }
.button:hover { transform:translateY(-2px); }
.button-primary { color:white; background:var(--forest); box-shadow:0 12px 24px rgba(49,94,79,.18); }
.button-ghost { border:1px solid var(--line); background:white; }
.hero-meta { display:flex; flex-wrap:wrap; gap:18px; margin-top:34px; padding-top:23px; border-top:1px solid var(--line); color:#66746f; font-size:12px; font-weight:700; }
.hero-meta span { display:flex; align-items:center; gap:7px; }
.hero-art { position:relative; aspect-ratio:1/1.08; overflow:hidden; border-radius:240px 240px 28px 28px; background:var(--cream); isolation:isolate; }
.hero-art::before { content:''; position:absolute; inset:11%; border:1px solid rgba(49,94,79,.28); border-radius:50%; }
.hero-art::after { content:''; position:absolute; width:44%; height:44%; right:-8%; bottom:-7%; border-radius:50%; background:var(--coral); opacity:.9; z-index:-1; }
.monogram { position:absolute; inset:0; display:grid; place-items:center; color:var(--forest); font:400 clamp(92px,12vw,170px)/1 Georgia,serif; letter-spacing:-.12em; transform:translateX(-5%); }
.word { position:absolute; z-index:2; padding:9px 16px; background:var(--paper); border:1px solid var(--line); border-radius:999px; font:italic 17px Georgia,serif; }
.word-one { top:19%; left:7%; transform:rotate(-8deg); }
.word-two { bottom:18%; right:8%; transform:rotate(7deg); }
.orbit { position:absolute; width:13px; height:13px; border-radius:50%; background:var(--coral); box-shadow:0 0 0 9px rgba(200,115,92,.12); }
.orbit-one { top:28%; right:19%; } .orbit-two { bottom:26%; left:18%; }
.section { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:112px 0; }
.section-label { padding-bottom:22px; border-bottom:1px solid var(--line); color:var(--coral); font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.about-grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:90px; padding-top:58px; }
.about-grid h2 { margin:0; font-size:clamp(38px,4.2vw,61px); line-height:1.08; }
.about-copy { font-size:17px; line-height:1.8; color:#53635d; }
.about-copy p:first-child { margin-top:0; }
.credential-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.credential-row span { padding:10px 13px; border:1px solid var(--line); border-radius:999px; color:var(--forest); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.services-section { background:var(--cream); padding:105px max(40px,calc((100vw - 1180px)/2)); }
.services-head { display:grid; grid-template-columns:.7fr 1.25fr .85fr; gap:55px; align-items:start; }
.services-head .section-label { border:0; padding:10px 0 0; }
.services-head h2,.location-section h2 { margin:0; font:400 clamp(38px,4.5vw,64px)/1.06 Georgia,serif; letter-spacing:-.035em; }
.services-head>p { margin:8px 0 0; color:#586761; font-size:15px; line-height:1.75; }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:65px; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service-grid article { min-height:250px; padding:30px 25px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.service-grid article svg { color:var(--coral); }
.service-grid h3 { margin:45px 0 12px; font:400 25px/1.1 Georgia,serif; }
.service-grid p { margin:0; color:#61706a; font-size:14px; line-height:1.65; }
.format-row { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:28px; }
.format-row>div { display:flex; align-items:center; gap:14px; padding:20px 22px; background:rgba(255,253,248,.68); border-radius:14px; }
.format-row svg { flex:0 0 auto; color:var(--forest); }
.format-row span { color:#66736e; font-size:12px; line-height:1.5; }
.format-row strong { display:block; color:var(--ink); font-size:13px; }
.location-section { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:100px 0; display:grid; grid-template-columns:.42fr 1fr; align-items:center; gap:80px; }
.location-mark { aspect-ratio:1; display:grid; place-items:center; border-radius:50%; background:var(--cream); color:var(--coral); box-shadow:inset 0 0 0 1px var(--line); }
.location-section>div:last-child { max-width:700px; }
.location-section>div>p:not(.eyebrow) { color:#596862; font-size:17px; line-height:1.75; }
.location-note { max-width:580px; font-size:13px!important; }
.text-link { display:inline-flex; align-items:center; gap:9px; margin-top:13px; padding-bottom:7px; border-bottom:1px solid var(--ink); font-size:13px; font-weight:800; }
.text-link svg { transform:rotate(-90deg); }
.faq-section { padding-top:70px; }
.faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:85px; padding-top:50px; }
.faq-grid h2 { margin:0; font-size:clamp(42px,5vw,67px); line-height:1.05; }
.faq-list details { border-top:1px solid var(--line); padding:0; }
.faq-list details:last-child { border-bottom:1px solid var(--line); }
.faq-list summary { cursor:pointer; list-style:none; padding:23px 42px 23px 0; position:relative; font:400 20px Georgia,serif; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:'+'; position:absolute; right:8px; top:19px; color:var(--coral); font:300 26px Arial,sans-serif; }
.faq-list details[open] summary::after { content:'−'; }
.faq-list details p { margin:-3px 45px 24px 0; color:#607069; font-size:14px; line-height:1.7; }
.whatsapp-float { position:fixed; right:22px; bottom:22px; z-index:20; display:flex; align-items:center; gap:9px; padding:13px 18px; border-radius:999px; background:#257a5a; color:white; box-shadow:0 14px 30px rgba(31,76,60,.25); font-size:12px; font-weight:800; }
.book-section { display:grid; grid-template-columns:1fr 1.25fr; align-items:center; gap:90px; background:var(--forest); color:white; padding:105px max(40px,calc((100vw - 1180px)/2)); overflow:hidden; }
.book-cover-wrap { position:relative; justify-self:center; width:min(360px,80%); }
.book-cover-wrap img { position:relative; z-index:1; display:block; width:100%; height:auto; border-radius:4px; transform:rotate(-3deg); box-shadow:0 34px 70px rgba(0,0,0,.34); }
.cover-shadow { position:absolute; inset:8% -8% -7% 10%; border:1px solid rgba(255,255,255,.2); transform:rotate(4deg); }
.eyebrow.dark { color:#f3b8a9; }
.book-copy h2 { margin:0; font-size:clamp(45px,5.5vw,76px); line-height:1; }
.book-author { margin:18px 0 30px; color:#cbd9d2; font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.book-copy>p:last-of-type { max-width:600px; color:#dae5df; font-size:17px; line-height:1.75; }
.button-light { margin-top:20px; background:var(--cream); color:var(--forest); }
.closing { text-align:center; display:flex; align-items:center; flex-direction:column; }
.closing h2 { max-width:850px; margin:0 0 34px; font-size:clamp(42px,5.4vw,70px); line-height:1.08; }
footer { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:35px 0 45px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:12px; color:#68756f; }
.footer-brand { font:18px Georgia,serif; color:var(--ink); }
.footer-brand span { display:block; margin-top:5px; font:700 8px Arial,sans-serif; letter-spacing:.15em; text-transform:uppercase; }
footer a { display:flex; gap:8px; align-items:center; color:var(--forest); font-weight:800; }
@media(max-width:850px){.site-header{min-height:76px}nav>a:not(.nav-cta){display:none}.nav-cta{padding:10px 14px}.hero{grid-template-columns:1fr;gap:45px;padding:58px 0 70px}.hero-art{width:min(540px,100%);justify-self:center}.services-head{grid-template-columns:1fr}.services-head .section-label{padding:0 0 18px}.service-grid{grid-template-columns:repeat(2,1fr)}.format-row{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr;gap:34px}.location-section{grid-template-columns:.4fr 1fr;gap:45px}.faq-grid{grid-template-columns:1fr;gap:40px}.book-section{grid-template-columns:1fr;gap:60px;padding-top:80px;padding-bottom:80px}.book-copy{text-align:center}.book-copy .eyebrow{justify-content:center}.book-copy>p:last-of-type{margin-left:auto;margin-right:auto}}
@media(max-width:560px){.site-header,.hero,.section,.location-section,footer{width:min(100% - 28px,1180px)}.brand{font-size:17px}.nav-cta{font-size:11px}.hero h1{font-size:52px}.hero-lead{font-size:16px}.hero-actions{display:grid}.button{width:100%}.hero-art{border-radius:180px 180px 22px 22px}.section{padding:82px 0}.services-section{padding:78px 18px}.service-grid{grid-template-columns:1fr;margin-top:45px}.service-grid article{min-height:auto}.service-grid h3{margin-top:28px}.about-copy{font-size:16px}.location-section{grid-template-columns:1fr;padding:75px 0;gap:35px}.location-mark{width:130px}.book-section{padding-left:20px;padding-right:20px}.book-cover-wrap{width:75%}footer{flex-direction:column;text-align:center}.whatsapp-float{right:14px;bottom:14px;padding:13px}.whatsapp-float span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.service-symbol{color:var(--coral);font:400 27px Georgia,serif}
.location-mark{font:400 50px Georgia,serif}
.format-row>div>span:first-child{color:var(--forest);font:400 24px Georgia,serif}