*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:#f7f1e9;color:#322b35;font:17px/1.65 Arial,sans-serif}a{color:inherit;text-underline-offset:4px}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,summary:focus-visible,.gallery:focus-visible{outline:3px solid #663b59;outline-offset:5px}h1,h2,h3{font-family:Georgia,serif;line-height:1.13;letter-spacing:-.025em;font-weight:400;color:#663b59}h1{font-size:clamp(40px,5vw,68px);margin:18px 0 24px}h2{font-size:clamp(27px,3vw,37px);margin:0}h3{font-size:24px;margin:24px 0 16px}p{margin:0 0 20px}img{max-width:100%;display:block}button{font:inherit;cursor:pointer;touch-action:manipulation}
.masthead{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:20px 32px;gap:20px;border-bottom:1px solid #d2bfc4}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-size:15px;font-weight:bold;letter-spacing:2px;color:#663b59}.brand img{height:60px;width:65px;object-fit:contain}.masthead>a:last-child{font-size:14px;color:#663b59}main{max-width:1320px;margin:auto;padding:0 32px}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:0 40px;align-items:start;padding:42px 0 34px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:700;color:#663b59}.hero .eyebrow{grid-column:1 / -1;grid-row:1}.hero h1{grid-column:1;grid-row:2 / span 2}.hero>p{grid-column:2;grid-row:2}.hero-bottom{grid-column:2;grid-row:3}.hero>p{font-size:19px}.hero-bottom{display:flex;align-items:center;gap:18px;padding-top:10px}.counter{background:#663b59;color:#fff;display:grid;place-items:center;font-size:32px;font-weight:bold;min-width:67px;height:67px;border-radius:50%}.hero-bottom p{font-size:15px;margin:0}.hero-art{grid-column:1 / -1;grid-row:4;width:100%;height:auto;min-height:0;object-fit:contain;object-position:center;border-radius:35px 35px 14px 14px;background:#eadbdc}
.overview{padding:35px 0 20px}.overview-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;margin-bottom:24px}.overview h2{max-width:390px}nav{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#d2bfc4;border:1px solid #d2bfc4}nav a{display:flex;align-items:center;gap:14px;padding:16px 19px;font-size:15px;line-height:1.4;text-decoration:none;background:#fff}nav a span{font-size:13px;color:#663b59;font-weight:bold}nav a:last-child{grid-column:span 2}nav a:hover,nav a.active{background:#eadbdc;color:#663b59;text-decoration:underline}
.practice{background:#fff;border:1px solid #d8c6c7;border-radius:3px 25px 25px 25px;padding:30px;margin:25px 0 45px;scroll-margin-top:25px}.profile-head{display:flex;align-items:center;gap:18px;margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid #d8c6c7}.rank{background:#eadbdc;color:#663b59;min-width:60px;height:60px;border-radius:50%;display:grid;place-items:center;font-size:27px;font-weight:bold}.logo,.initials{width:92px;height:82px;object-fit:contain;margin-left:auto;flex-shrink:0}.initials{display:grid;place-items:center;border-radius:50%;background:#f0e6df;color:#663b59;font-size:25px;font-weight:bold}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}.copy,.gallery{min-width:0}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.button{display:inline-block;padding:11px 17px;border:1px solid #663b59;border-radius:8px;font-size:15px;text-decoration:none;background:#fff;color:#663b59}.button.primary{background:#663b59;color:#fff}.button:hover{background:#eadbdc;color:#663b59}.practical{border-left:3px solid #ad7b4b;padding-left:16px}ul{padding-left:21px}
.gallery{background:#f1e8e1;border-radius:24px;overflow:hidden}.slide{width:100%;height:420px;object-fit:cover;object-position:center 35%}.slide[hidden]{display:none}.portrait .slide{height:520px;object-fit:contain}.controls{display:flex;justify-content:space-between;align-items:center;padding:12px;gap:8px}.controls button{border:1px solid #b49a9e;background:#fff;color:#663b59;min-width:40px;height:40px;border-radius:50%}.dots{display:flex;gap:7px}.dots button[aria-pressed=true]{background:#663b59;color:#fff}.compact{grid-template-columns:1fr}.compact .slide{height:335px;object-fit:cover;object-position:center 35%}
.contact{display:flex;flex-wrap:wrap;gap:10px 25px;font-size:15px;background:#f1e8e1;border-left:3px solid #663b59;margin:25px 0;padding:20px}.contact span:first-child{flex-basis:100%}.reviews{margin:25px 0}.quotes{display:grid;grid-template-columns:1fr 1fr;gap:16px}blockquote{margin:0;background:#f7f1ec;border-radius:16px;padding:22px;font-size:16px}blockquote p{margin:0 0 15px}cite{font-style:normal;font-size:14px}.map{display:block;border:1px solid #d8c6c7;border-radius:12px;width:100%;height:265px;background:#f1e8e1}.google-photo{font-size:14px;display:block}.google-photo img{height:135px;width:135px;object-fit:cover;margin:15px 0 8px;border-radius:16px}
.faq{max-width:960px;margin:65px auto}.faq h2{margin:15px 0 30px}details{border-top:1px solid #d2bfc4;padding:20px 0}summary{font:600 21px/1.4 Arial,sans-serif;color:#663b59;cursor:pointer}details p{margin:20px 0 0}.ending{display:flex;flex-direction:row-reverse;align-items:center;gap:40px;background:#eadbdc;padding:38px;border-radius:25px 25px 0 0}.ending>div{flex:1;min-width:0}.ending h2{font-size:clamp(32px,4vw,47px);margin:18px 0 22px}.ending img{width:52%;max-width:52%;align-self:stretch;object-fit:cover;border-radius:20px}.ending p{max-width:440px}footer{background:#f0e6df;color:#322b35;text-align:center;padding:35px;font-size:14px}
@media(max-width:700px){body{font-size:16px}.masthead{padding:15px;gap:10px}.brand{font-size:11px;gap:8px;letter-spacing:1px}.brand img{height:42px;width:44px}.masthead>a:last-child{font-size:12px}main{padding:0 12px}.hero{display:block;padding:28px 7px}.hero>p{font-size:18px}.hero-bottom{margin-bottom:25px;gap:13px}.counter{min-width:56px;height:56px;font-size:28px}.hero-bottom p{font-size:14px}.hero-art{height:180px;min-height:0;object-fit:cover;object-position:50% center;border-radius:18px}.overview{padding:25px 7px}.overview-grid{grid-template-columns:1fr;gap:18px}nav{grid-template-columns:1fr}nav a{padding:12px 13px;font-size:14px}nav a:last-child{grid-column:auto}.practice{padding:22px 16px;margin:20px 0 35px;border-radius:3px 20px 20px 20px}.profile-head{gap:10px}.rank{min-width:42px;height:42px;font-size:21px}.logo,.initials{width:60px;height:62px}h2{font-size:26px}.profile-grid,.quotes{grid-template-columns:1fr}.profile-grid{gap:22px}.button{font-size:14px;padding:10px 12px}.slide{height:320px}.portrait .slide{height:390px}.compact .slide{height:250px}.controls{padding:10px}.controls button{min-width:36px;height:36px}.contact{font-size:14px;gap:9px 18px;padding:17px}.map{height:240px}.ending{padding:28px 20px;gap:24px;flex-direction:column-reverse}.ending img{width:100%;max-width:100%;height:auto;object-fit:contain}.faq{margin:45px 8px}summary{font-size:19px}.eyebrow{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Spiritline: asymmetrical journal layout, numbered spine and warm print palette. */
@media(min-width:1000px){main{max-width:1260px}.hero{grid-template-columns:1.5fr 1fr}.hero h1{font-size:70px}.overview{display:grid;grid-template-columns:1.1fr 1fr;gap:45px}.overview-grid{display:block}.overview-grid h2{margin-bottom:20px}nav{grid-template-columns:1fr}nav a:last-child{grid-column:auto}.practice{border-radius:0 0 36px 0;border-left:6px solid #ad7b4b}.rank{border-radius:2px}.ending{flex-direction:row}.ending img{width:48%;max-width:48%}}
.hero-art{border-radius:0}.profile-head h2{overflow-wrap:anywhere}.hero .counter{border-radius:0}.gallery{border-radius:2px 24px 2px 2px}.brand{letter-spacing:1px}.hero-art{height:auto!important;object-fit:contain!important}.compact .slide{object-position:center 35%}.ending img{object-fit:contain}
