@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--g:#173d32;--deep:#102d26;--gold:#c9a45c;--cream:#f7f6f0;--ink:#263a31;--muted:#718078;--line:#e4e8df}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font:15px/1.7 'DM Sans',Arial,sans-serif;color:var(--ink)}a{text-decoration:none;color:inherit}.wrap{width:min(1160px,calc(100% - 44px));margin:auto}header{height:86px;background:#fff;position:sticky;top:0;z-index:5;border-bottom:1px solid #edf0e9}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;line-height:1.2}.logo{width:48px;height:48px;border:1px solid var(--gold);border-radius:50%;background:var(--deep);color:#e3c57f;display:grid;place-items:center;font:700 22px 'Playfair Display'}.brand b{display:block;color:var(--g);font:600 20px 'Playfair Display'}.brand small{display:block;color:#819087;font-size:9px;letter-spacing:1.5px;margin-top:5px}nav{display:flex;align-items:center;gap:19px;font-size:12px;font-weight:600;color:#45584f}nav a:hover{color:#a47c35}.contact{border:1px solid var(--gold);border-radius:24px;padding:8px 15px}#menu{display:none}.hero{background:radial-gradient(ellipse at 78% 45%,#315f4d,#1c4839 42%,#12342b 78%);color:white;overflow:hidden}.hero-inner{min-height:590px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:35px;padding:65px 0}.hero label,label{font-size:10px;letter-spacing:2.2px;font-weight:700;color:var(--gold)}h1,h2,h3{margin:12px 0;font-family:'Playfair Display',serif}h1{font-size:clamp(46px,5.6vw,70px);line-height:1.1}h1 i{color:#e3c57f;font-style:normal}.hero p{max-width:520px;color:#dce7df}.btn{display:inline-block;background:var(--gold);color:#20372d;padding:13px 22px;border-radius:28px;font-weight:700;font-size:13px;margin-top:15px}.sub{display:block;margin-top:35px;font-size:11px;color:#c5d5ca}.art{height:390px;display:grid;place-items:center;position:relative}.halo{position:absolute;width:280px;height:280px;border-radius:50%;background:linear-gradient(135deg,#e5c77e,#9b7740);box-shadow:0 0 0 45px #ffffff0c,0 0 0 90px #ffffff08}.medallion{position:relative;width:245px;height:285px;border-radius:130px 130px 25px 25px;background:linear-gradient(160deg,#315d4a,#14362d);border:1px solid #ffffff70;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;box-shadow:0 25px 60px #071b1680}.medallion span{font-size:90px;color:#e5c77e}.medallion b{font:500 18px 'Playfair Display'}.medallion small{font-size:9px;letter-spacing:1.5px;color:#d5e0d8}.intro,.section{padding:88px 0}.intro{background:var(--cream)}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.split h2,.heading h2,.motivate h2{font-size:42px;line-height:1.17;color:var(--g)}.split>p,.heading>p,.motivate p{color:var(--muted)}.alt{background:#f3f4ed}.heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:35px}.heading>p{max-width:370px}.cards{display:grid;gap:18px}.two{grid-template-columns:1fr 1fr}.four{grid-template-columns:repeat(4,1fr)}article{background:white;border:1px solid var(--line);border-radius:14px;padding:27px}.dark{background:var(--g);color:white;min-height:245px}.dark.dusk{background:#293f36}.dark>span{color:#e2c27d;font-size:12px}.dark h3,article h3{font-size:23px}.dark p{color:#d6e0d9}.dark a{color:#e2c27d;font-size:12px;font-weight:700}.motivate{background:var(--deep);color:white;border-radius:18px;padding:50px;display:grid;grid-template-columns:1fr 1fr;gap:45px}.motivate h2{color:white}.motivate .cards article{border:0}.motivate article p{font-size:13px}.motivate article label{font-size:9px}.icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f3ecd9;color:#987638;font-size:22px}.four article p{font-size:12px;color:var(--muted)}.med-art{height:320px;border-radius:18px;background:radial-gradient(circle,#d7c18b 0 16%,#6d886b 17% 18%,#315b49 19% 42%,#173d32 43%);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#f1d99f}.med-art span{font-size:80px}.med-art small{font-size:9px;letter-spacing:2px;color:white;margin-top:30px}.lead{color:var(--muted)}.topic{padding:13px 0;border-bottom:1px solid var(--line);display:flex;gap:20px}.topic b{font-size:10px;color:#a18448}.topic strong{font-size:14px;color:var(--g)}.note{display:block;color:#9b7739;font-size:10px;margin-top:12px}.classlist{border-top:1px solid #d9ddd4}.classlist a{display:flex;align-items:center;gap:20px;padding:22px 5px;border-bottom:1px solid #d9ddd4}.classlist b{font-size:10px;color:#a18448}.classlist strong{font:500 23px 'Playfair Display';color:var(--g)}.classlist span{margin-left:auto;color:#a18448}.contact-area{background:#eaf0e9}.contact-card{background:white;border-radius:16px;padding:32px;box-shadow:0 12px 35px #173d3210}.contact-card h3{font-size:24px;color:var(--g)}.contact-card p,.contact-card small{color:var(--muted);font-size:12px}.darkbtn{background:var(--g);color:white}.contact-card small{display:block;margin-top:12px}footer{background:var(--deep);color:#d3ded6;padding:25px 0}.foot{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px}.foot .brand b{color:white}.foot .logo{background:var(--g)}.foot>a:last-child{color:#e2c27d}
@media(max-width:950px){nav{gap:10px;font-size:10px}.four{grid-template-columns:1fr 1fr}.motivate{padding:35px;gap:25px}}
@media(max-width:720px){.wrap{width:calc(100% - 34px)}header{height:72px}#menu{display:block;background:white;border:1px solid var(--line);border-radius:8px;padding:9px 13px;color:var(--g)}nav{display:none;position:absolute;top:71px;left:0;right:0;background:white;padding:15px 24px 22px;box-shadow:0 15px 20px #142e2415;flex-direction:column;align-items:stretch}nav.open{display:flex}nav a{padding:9px 0;border-bottom:1px solid #edf0e9;font-size:13px}.contact{border:0}.hero-inner{grid-template-columns:1fr;padding:60px 0 35px}.hero h1{font-size:46px}.art{height:280px}.intro,.section{padding:62px 0}.split,.motivate{grid-template-columns:1fr;gap:25px}.split h2,.heading h2,.motivate h2{font-size:36px}.heading{display:block}.heading>p{margin-top:10px}.two{grid-template-columns:1fr}.four{grid-template-columns:1fr 1fr}.motivate{padding:30px 23px}.foot{flex-wrap:wrap}.foot>span{order:3;width:100%}}
@media(max-width:420px){.four{grid-template-columns:1fr}.brand b{font-size:17px}.brand small{font-size:8px}}


/* GUI v1.0.1 — Daily Routines and Classes */
.routine-section{background:linear-gradient(180deg,#f4f5ee,#e9efe7)}
.routine-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.morning-card{background:radial-gradient(ellipse at 18% 18%,#f6e5c4 0%,transparent 36%),linear-gradient(145deg,#8fa78b 0%,#d7c9a7 42%,#526f61 100%)}
.evening-card{background:radial-gradient(ellipse at 80% 12%,#d8a36f 0%,transparent 34%),linear-gradient(150deg,#4e5661 0%,#9c806d 48%,#263f3a 100%)}
.routine-card:before,.routine-card:after{content:"";position:absolute;pointer-events:none;border-radius:50%;filter:blur(1px)}
.morning-card:before{width:250px;height:250px;left:-85px;bottom:-70px;background:#244b3b38;box-shadow:90px -240px 0 15px #fff3}
.evening-card:before{width:280px;height:280px;right:-100px;bottom:-100px;background:#142f2d55;box-shadow:-170px -230px 0 8px #f4d7a433}
.routine-glass{position:relative;z-index:1;width:min(100%,430px);padding:23px 25px 18px;border:1px solid #fff9;border-radius:15px;background:#f8f7efc9;backdrop-filter:blur(7px);box-shadow:0 15px 45px #142e2425;color:#21372e}
.routine-title{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #b7a879;padding-bottom:10px}
.routine-title span{font:700 27px 'Playfair Display',serif;color:var(--g)}
.routine-title small,.class-number{font-size:9px;letter-spacing:1.7px;font-weight:700;color:#99783d}
.routine-glass h3{font-size:25px;margin:12px 0 13px;color:var(--g)}
.schedule-row{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center;min-height:36px;border-bottom:1px solid #7c8b782b;font-size:13px}
.schedule-row time{font-variant-numeric:tabular-nums;font-weight:700;color:#8a713f}
.schedule-row span{font-weight:500}
.routine-note{margin:13px 0 0;font-size:9px;letter-spacing:1.1px;text-transform:uppercase;color:#607269}
.classes-section{background:#fff}
.class-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.class-card{display:block;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff;transition:transform .2s ease,box-shadow .2s ease}
.class-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px #173d3214}
.class-visual{height:205px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;position:relative;overflow:hidden;color:#f8edcf}
.class-visual:before,.class-visual:after{content:"";position:absolute;border-radius:50%;border:1px solid #fff5}
.class-visual:before{width:210px;height:210px;box-shadow:0 0 0 25px #ffffff0b,0 0 0 55px #ffffff08}
.class-visual:after{width:120px;height:120px;background:#ffffff12;backdrop-filter:blur(1px)}
.yoga-visual{background:linear-gradient(135deg,#9eaa8a,#496c58 55%,#1d4539)}
.meditation-visual{background:linear-gradient(145deg,#b8a17a,#6c806d 48%,#294b40)}
.breathing-visual{background:linear-gradient(135deg,#d4b58c,#7d9b8c 50%,#315b50)}
.visual-mark{position:relative;z-index:1;font:500 57px 'Playfair Display',serif;color:#f2d99d}
.class-visual small{position:relative;z-index:1;font-size:8px;letter-spacing:2px;font-weight:700}
.class-copy{padding:22px 24px 24px}
.class-copy h3{font-size:23px;color:var(--g);margin:8px 0}
.class-copy p{font-size:13px;color:var(--muted);min-height:48px;margin:0 0 16px}
.class-link{font-size:11px;font-weight:700;color:#a47c35}
@media(max-width:850px){.routine-grid{grid-template-columns:1fr}.routine-card{min-height:480px}.class-cards{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.routine-card{padding:15px;min-height:0}.routine-glass{padding:19px 17px 15px}.schedule-row{grid-template-columns:62px 1fr;font-size:12px}.class-cards{grid-template-columns:1fr}.class-visual{height:190px}}

/* GUI-v1.0.3 — Booking and appointments */
.gui-version{flex:none;display:inline-flex;align-items:center;border:1px solid #d8c28c;border-radius:20px;padding:6px 10px;color:#8c6b2e;background:#fbf8ef;font-size:9px;font-weight:700;letter-spacing:1.1px;white-space:nowrap}
.booking-section{background:linear-gradient(180deg,#f5f6ef,#edf2eb)}
.booking-services{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 25px}
.service-choice{min-height:142px;border:1px solid #dfe5da;border-radius:15px;background:#fff;padding:20px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:5px;color:var(--g);cursor:pointer;transition:.2s}
.service-choice>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f4ecd9;color:#9b783b;font:24px 'Playfair Display';margin-bottom:5px}
.service-choice b{font:600 20px 'Playfair Display'}
.service-choice small{font-size:10px;color:var(--muted);letter-spacing:.5px}
.service-choice:hover,.service-choice.selected{border-color:var(--gold);box-shadow:0 8px 24px #173d3210;transform:translateY(-2px)}
.service-choice.selected{background:#fffdf7;outline:2px solid #c9a45c35}
.booking-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.booking-panel,.booking-form{background:#fff;border:1px solid var(--line);border-radius:16px;padding:25px;box-shadow:0 10px 28px #173d3208}
.panel-heading{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.panel-heading>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#f4ecd9;color:#96753a;font-size:11px;font-weight:700}
.panel-heading h3{margin:0;color:var(--g);font-size:21px}
.panel-heading p{margin:2px 0 0;color:var(--muted);font-size:11px}
.field-label{display:block;margin:0 0 7px;color:#52645a;font-size:11px;font-weight:700}
.booking-panel input,.booking-form input{width:100%;min-height:45px;border:1px solid #dce3d9;border-radius:9px;padding:10px 12px;font:13px 'DM Sans',Arial,sans-serif;color:var(--ink);background:#fff}
.booking-panel input:focus,.booking-form input:focus{outline:2px solid #c9a45c55;border-color:var(--gold)}
.calendar-note{margin-top:13px;color:var(--muted);font-size:11px}
.time-slots{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.time-slot{min-height:43px;border:1px solid #dce3d9;border-radius:9px;background:#fff;color:var(--g);font:600 12px 'DM Sans',Arial,sans-serif;cursor:pointer;padding:9px}
.time-slot:hover:not(:disabled),.time-slot.chosen{border-color:var(--gold);background:#f8f2e4;color:#785a25}
.time-slot:disabled{cursor:not-allowed;background:#f1f2ef;color:#a1aaa3;border-style:dashed;font-size:10px}
.empty-state{grid-column:1/-1;margin:8px 0;color:var(--muted);font-size:11px}
.booking-form{margin-top:18px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.selected-summary{align-self:end;min-height:66px;border-radius:10px;background:#f5f6ef;padding:10px 13px;display:flex;flex-direction:column;justify-content:center}
.selected-summary small{font-size:8px;letter-spacing:1.4px;color:#9a783c;font-weight:700}
.selected-summary strong{font-size:11px;color:var(--g);margin-top:4px}
.booking-submit{border:0;cursor:pointer;margin-top:18px}
.booking-message{min-height:18px;margin:8px 0 0;font-size:11px}
.booking-message.success{color:#28724d}.booking-message.error{color:#a33e32}
.demo-disclaimer{margin:17px 2px 0;color:#78867c;font-size:10px}
.appointments-section{background:#fff}
.appointments-list{display:grid;gap:12px}
.empty-appointments{padding:28px;border:1px dashed #d7dfd4;border-radius:14px;text-align:center;color:var(--muted);font-size:12px;background:#fafbf8}
.appointment-card{display:flex;align-items:center;gap:18px;padding:19px 21px;border:1px solid var(--line);border-radius:13px;background:#fff}
.appointment-info{flex:1;min-width:0}.appointment-info h3{margin:5px 0 2px;color:var(--g);font-size:20px}.appointment-info p{margin:0;color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.appointment-tag{font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:#9b783b;font-weight:700}
.appointment-status{padding:5px 10px;border-radius:20px;background:#e8f2e9;color:#32724b;font-size:9px;font-weight:700;white-space:nowrap}
.appointment-status.cancelled{background:#f4e9e6;color:#a34b3d}
.cancel-booking{border:1px solid #e2d6d1;background:#fff;color:#9b5144;border-radius:20px;padding:7px 12px;font:600 10px 'DM Sans',Arial,sans-serif;cursor:pointer}
@media(max-width:1050px){.gui-version{font-size:8px;padding:5px 7px}nav{gap:9px;font-size:9px}}
@media(max-width:850px){.gui-version{margin-left:auto}.booking-layout{grid-template-columns:1fr}}
@media(max-width:720px){.nav{position:relative}.gui-version{position:absolute;right:0;top:5px;font-size:8px;padding:4px 7px}#menu{margin-right:118px}nav{top:71px}.booking-services{grid-template-columns:1fr 1fr}.booking-services .service-choice:last-child{grid-column:1/-1}.form-grid{grid-template-columns:1fr}.appointment-card{align-items:flex-start;flex-wrap:wrap}.appointment-status{margin-left:auto}.cancel-booking{margin-left:auto}}
@media(max-width:480px){.booking-services{grid-template-columns:1fr}.booking-services .service-choice:last-child{grid-column:auto}.service-choice{min-height:110px}.booking-panel,.booking-form{padding:18px}.time-slots{gap:8px}}


/* GUI-v1.0.3 — grouped navigation and in-section content */
.class-subnav{display:flex;flex-wrap:wrap;gap:12px;margin:-12px 0 28px}
.class-subnav a{display:inline-flex;align-items:center;gap:12px;padding:9px 15px;border:1px solid #e1e6dc;border-radius:24px;background:#fafbf7;color:var(--g);font-size:11px;font-weight:700;transition:.2s}
.class-subnav a:hover{border-color:var(--gold);background:#fffaf0;color:#8d6c32}
.class-subnav a span{color:#a47c35}
.classes-section #yoga,.classes-section #meditation{padding:64px 0 12px;scroll-margin-top:95px}
.classes-section #yoga{background:#f3f4ed;margin:54px calc((1160px - min(100vw - 44px,1160px))/2) 0;padding-left:max(22px,calc((100vw - 1160px)/2));padding-right:max(22px,calc((100vw - 1160px)/2))}
.classes-section #meditation{background:#fff}
.appointments-divider{height:1px;background:#dfe6dc;margin:42px 0}
.appointments-section{padding:0;background:transparent}
.appointments-section .heading{margin-bottom:22px}
@media(max-width:720px){.class-subnav{gap:8px}.class-subnav a{font-size:10px;padding:8px 12px}.classes-section #yoga,.classes-section #meditation{padding-top:45px}.classes-section #yoga{margin-left:-17px;margin-right:-17px;padding-left:17px;padding-right:17px}.appointments-divider{margin:30px 0}}
\n/* GUI-v1.0.4 contact and visitor counter */\n.contact-pending{font-size:14px;color:var(--muted);line-height:1.7}.foot #visitor-counter{color:#e2c27d;font-weight:600;white-space:nowrap}\n

/* GUI v3.0 — Daily Routine image fit (no cropping) */
.routine-grid {
    align-items: start;
}

.routine-card {
    display: block;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.routine-card::before,
.routine-card::after {
    display: none;
}

.routine-image {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
    object-position: center;
    border-radius: 18px;
}

