@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--choc:#20130d;--choc2:#2a1a10;--mahog:#42281b;--brown:#81482b;--copper:#b86a3d;--gold:#e5ab72;--cream:#f5f0e8;--cream2:#eee5d9;--white:#fffaf3;--muted:#69574b;--radius:12px;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:Manrope,'Arial',sans-serif;color:var(--choc);background:var(--cream);overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #e9af66;outline-offset:4px}section{position:relative}.shell{width:min(90%,1310px);margin-inline:auto}.skip-link{position:absolute;top:-60px;left:15px;padding:12px 18px;background:#fff;z-index:100}.skip-link:focus{top:10px}.top-ribbon{background:#140d09;color:#cab49e;font-size:10px;letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid #513727}.top-ribbon-inner{min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:15px}.top-ribbon a{text-decoration:none;color:#ecc69e}.ribbon-star{color:#b47d50}.site-header{position:sticky;top:0;z-index:30;background:rgba(29,17,11,.97);backdrop-filter:blur(22px);color:#fff9f0;border-bottom:1px solid rgba(226,167,111,.14)}.header-inner{height:83px;display:flex;align-items:center;gap:24px}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;flex-shrink:0}.brand-art{height:55px;width:49px;overflow:hidden;display:flex;align-items:center;justify-content:center}.brand-art img{height:54px;width:43px;object-fit:contain}.brand-name strong{display:block;font-weight:800;letter-spacing:-.06em;font-size:26px;line-height:1.2}.brand-name small{font-size:8px;letter-spacing:.095em;display:block;color:#d6bba5;font-weight:700;max-width:230px}.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:28px}.desktop-nav a{font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap;opacity:.85}.desktop-nav a:hover{color:var(--gold)}.header-actions{display:flex;align-items:center;gap:17px}.language-toggle{display:flex;gap:3px;background:#3d291e;border:1px solid #67402a;border-radius:999px;padding:3px}.lang-btn{border:0;background:none;color:#a9907d;border-radius:50%;width:30px;height:30px;font-size:11px;font-weight:800}.lang-btn.active{background:#fff2e2;color:#27140b}.nav-actions{white-space:nowrap;text-decoration:none;background:var(--gold);color:#2c180d;padding:14px 19px;border-radius:4px;font-size:12px;font-weight:800}.nav-actions span{margin-left:7px}.menu-toggle{display:none;border:0;background:transparent;color:#fff;padding:10px}.menu-toggle span{display:block;background:#fff;width:24px;height:2px;margin:6px 0}.mobile-nav{padding:8px 5% 20px;background:#2d1c13;border-top:1px solid #61412e}.mobile-nav:not([hidden]){display:flex;flex-direction:column}.mobile-nav a{padding:13px 5px;text-decoration:none;font-weight:700;border-bottom:1px solid #4c3525}.hero{min-height:590px;background:radial-gradient(circle at 72% 48%,#59311d 0,#27170e 40%,#1b100b 83%);color:#fff7ed;overflow:hidden}.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,7,5,.72) 0,transparent 24%),repeating-linear-gradient(90deg,transparent 0,transparent 108px,rgba(255,255,255,.018) 109px,transparent 110px);pointer-events:none}.hero-light{position:absolute;width:580px;height:580px;border:1px solid rgba(235,165,97,.12);border-radius:50%;top:0;right:-80px;pointer-events:none}.hero-light-2{width:470px;height:470px;right:-24px;top:52px;opacity:.4}.hero-layout{display:grid;grid-template-columns:1.08fr .92fr;min-height:570px;position:relative;align-items:center}.hero-content{padding:55px 0 62px;position:relative;z-index:2}.eyebrow{display:inline-flex;gap:12px;align-items:center;font-weight:800;letter-spacing:.19em;font-size:11px;color:var(--brown)}.eyebrow .line{width:30px;height:1px;background:currentColor}.light-eyebrow{color:#d8a777}.hero h1{font-size:clamp(42px,5.1vw,78px);font-weight:800;line-height:1.09;letter-spacing:-.065em;margin:25px 0 23px;max-width:850px}.gold-text{color:#e7af75}.hero-intro{font-size:clamp(14px,1.2vw,17px);color:#ddcbbc;max-width:525px;line-height:1.9;margin:0 0 27px;font-weight:500}.hero-explore{display:inline-flex;gap:22px;align-items:center;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.07em;color:#f3c79c}.down-arrow{font-size:23px}.hero-logo{height:570px;display:flex;justify-content:center;align-items:center;position:relative}.hero-logo::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at center,transparent 34%,#24150d 68%,#24150d 100%);pointer-events:none;opacity:.37}.hero-logo img{width:min(600px,125%);height:auto;max-width:none;mix-blend-mode:screen;opacity:.96;filter:drop-shadow(0 0 24px rgba(237,147,57,.1))}.hero-logo-label{position:absolute;bottom:42px;left:30px;color:#e3b17c;text-transform:uppercase;letter-spacing:.22em;font-size:9px;font-weight:700;z-index:2}.hero-scroll-mark{position:absolute;right:5%;bottom:23px;color:#a78b73;letter-spacing:.17em;font-size:9px;font-weight:800}.hero-scroll-mark span{margin-left:13px}.action-zone{background:#e9dbca;padding:70px 0 65px}.action-heading{max-width:750px;margin-bottom:26px}.action-heading h2{margin:14px 0 7px;font-size:clamp(29px,3.3vw,46px);letter-spacing:-.055em;line-height:1.15;font-weight:800}.action-heading p{color:#655348;font-size:14px;line-height:1.7}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.action-tile{min-height:218px;padding:26px 31px;display:flex;flex-direction:column;justify-content:space-between;border-radius:7px;text-decoration:none;transition:transform .4s var(--ease),box-shadow .4s var(--ease);position:relative;overflow:hidden}.action-tile:before{content:'';position:absolute;width:270px;height:270px;right:-120px;bottom:-180px;border-radius:50%;border:55px solid rgba(255,255,255,.12);transition:transform .5s var(--ease)}.action-tile:hover{transform:translateY(-5px);box-shadow:0 24px 42px rgba(48,28,16,.16)}.action-tile:hover:before{transform:translate(-35px,-20px)}.action-register{background:#332116;color:#fff7e8}.action-payment{background:#b66b41;color:#fff8ef}.tile-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.15em;font-weight:800;opacity:.85}.tile-symbol{font-size:35px;line-height:1;font-weight:400}.tile-big{font-size:clamp(35px,4vw,64px);font-weight:800;letter-spacing:-.075em;line-height:1}.action-tile p{margin:10px 0 0;font-size:14px;font-weight:600;opacity:.84}.action-footnote{font-size:11px;margin:17px 0 0;color:#7e6251}.reviews-section{background:#faf6ef;padding:93px 0 89px}.review-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:29px}.review-head h2{font-size:clamp(34px,4.1vw,59px);line-height:1.1;letter-spacing:-.065em;margin:16px 0 0;font-weight:800}.score{display:flex;align-items:center;gap:21px;flex-shrink:0}.score-num{font-size:58px;font-weight:800;letter-spacing:-.08em;line-height:1}.score-max{font-size:18px;color:#85604a;margin-left:2px}.score .stars,.review-stars{color:#b56b38;letter-spacing:.1em}.score strong{display:block;font-size:13px;margin-top:5px}.score a{display:block;color:#885033;margin-top:9px;font-size:11px;text-decoration:underline;text-underline-offset:3px;font-weight:700}.review-viewport{overflow:hidden}.review-rail{display:flex;gap:17px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:10px}.review-rail::-webkit-scrollbar{display:none}.review-card{flex:0 0 calc((100% - 34px)/3);min-height:310px;background:#f2e8db;border:1px solid #e9d7c5;padding:25px;border-radius:6px;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:space-between;transition:border-color .3s,background .3s}.review-card:hover{background:#f7eee3;border-color:#bb865f}.review-card-top{display:flex;justify-content:space-between;align-items:start}.review-stars{font-size:15px}.review-mark{font-size:62px;color:#ceb195;font-family:Georgia,serif;line-height:.85}.review-card p{font-size:14px;line-height:1.75;letter-spacing:-.01em;flex:1;font-weight:600;margin:7px 0 24px}.review-author{display:flex;align-items:center;gap:10px;border-top:1px solid #e1cdbb;padding-top:16px}.review-avatar{width:38px;height:38px;display:flex;justify-content:center;align-items:center;border-radius:50%;background:#e1cfbb;color:#5c3927;font-size:14px;font-weight:800}.review-author strong{display:block;font-size:12px}.review-author small{display:block;font-size:10px;color:#94745e;margin-top:3px;font-weight:600}.review-bottom{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-top:16px}.review-bottom p{font-size:11px;line-height:1.65;color:#806b58;max-width:750px}.review-controls{display:flex;gap:10px}.round-control{width:43px;height:43px;border:1px solid #ccbaa8;background:transparent;border-radius:50%;color:#673b26;font-size:18px;transition:background .2s}.round-control:hover{background:#eadccc}.approach-section{padding:115px 0;background:#e8ddcf}.section-top{max-width:780px;margin-bottom:45px}.section-top h2{margin:19px 0 24px;font-size:clamp(39px,5.1vw,76px);font-weight:800;line-height:1.12;letter-spacing:-.07em}.section-top h2 em{font-style:normal;color:#a4613f}.section-top p{max-width:590px;color:#6d5543;line-height:1.85;font-size:15px;font-weight:600}.steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#c6ae99;border:1px solid #c6ae99}.step-card{background:#ede3d6;min-height:236px;padding:27px 25px}.step-number{font-size:13px;color:#aa734f;font-weight:800;margin-bottom:56px}.step-card h3{font-size:20px;line-height:1.2;letter-spacing:-.04em;margin:0 0 14px}.step-card p{font-size:12px;line-height:1.8;color:#725e50;font-weight:600;margin:0}.message-section{min-height:670px;background:#20150e;color:#fff8ed;overflow:hidden;display:flex;align-items:center}.message-photo{position:absolute;inset:-50px -40px;opacity:.74}.message-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.message-photo-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,12,8,.96) 0,rgba(27,16,11,.86) 35%,rgba(27,16,11,.25) 73%,rgba(25,15,10,.05)),linear-gradient(0deg,#1d130e,transparent 32%)}.message-content{position:relative;z-index:2;padding:112px 0}.message-copy{max-width:680px}.message-copy .eyebrow{color:#e9ad78}.message-copy h2{font-size:clamp(44px,5.1vw,76px);letter-spacing:-.07em;line-height:1.09;font-weight:800;margin:24px 0 24px}.message-copy p{font-size:17px;color:#f4e0cb;line-height:1.9;max-width:550px;font-weight:600}.message-signoff{font-size:12px;display:inline-block;letter-spacing:.06em;border-bottom:1px solid #b48358;padding-bottom:10px;margin-top:18px;font-weight:800}.photo-label{position:absolute;right:4%;bottom:20px;color:#e1c6ab;font-size:9px;letter-spacing:.04em;z-index:3;text-shadow:0 1px 4px #1f130d}.subjects-section{background:#f9f4ec;padding:115px 0}.subjects-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;align-items:start}.subjects-lead h2{font-size:clamp(39px,4.8vw,69px);line-height:1.12;letter-spacing:-.07em;margin:22px 0}.subjects-lead p{font-size:15px;color:#725d4b;line-height:1.85;max-width:420px;font-weight:600}.inline-arrow{display:inline-block;color:#a15f37;text-decoration:underline;text-underline-offset:6px;margin-top:22px;font-size:13px;font-weight:800}.subject-block{padding:23px 0 31px;border-bottom:1px solid #e4d5c5}.subject-block:first-child{padding-top:4px}.subject-block>span{color:#a06944;font-size:11px;font-weight:800;letter-spacing:.15em}.subject-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:19px}.subject-tags b{font-size:13px;font-weight:700;border:1px solid #d8c6b4;padding:12px 15px;border-radius:4px;color:#503729;background:#fffdf9}.closing-section{background:var(--choc2);color:#fff5ea;padding:100px 0}.closing-grid{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:60px}.closing-copy .eyebrow{color:#dfad7d}.closing-copy h2{font-size:clamp(45px,5vw,73px);letter-spacing:-.07em;line-height:1.11;margin:21px 0}.closing-copy p{font-size:15px;line-height:1.8;color:#ccb2a0;font-weight:600}.closing-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:31px}.closing-links a{border:1px solid #966a4e;padding:13px 17px;border-radius:4px;color:#fff4e9;text-decoration:none;font-size:12px;font-weight:700}.closing-links a:hover{background:#5b3b2c}.closing-brand{text-align:center;max-width:270px;justify-self:center}.closing-brand img{max-height:250px;object-fit:contain;margin:auto;mix-blend-mode:screen}.closing-brand span{display:block;margin-top:8px;font-size:12px;color:#d9ab82;font-weight:600}.site-footer{background:#160d09;color:#a68c77;padding:24px 0}.footer-row{display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:10px;font-weight:600}.footer-row div{display:flex;gap:20px}.footer-row a{text-decoration:none}.mobile-bottom-bar{display:none}.dialog-backdrop[hidden]{display:none}.dialog-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:70;padding:20px}.dialog-screen{position:absolute;inset:0;background:rgba(13,9,6,.78);backdrop-filter:blur(5px)}.dialog-card{position:relative;background:#faf5ee;max-width:510px;padding:45px;border-radius:6px;box-shadow:0 30px 90px #160a06}.dialog-card h2{font-size:33px;letter-spacing:-.05em;line-height:1.18;margin:18px 0}.dialog-card p{font-size:14px;line-height:1.8;color:#685447;margin-bottom:25px}.dialog-close{position:absolute;right:18px;top:13px;border:0;background:none;font-size:29px}.button-whatsapp{display:inline-block;background:#2c4f37;color:#fff;padding:16px 20px;border-radius:5px;font-size:12px;text-decoration:none;font-weight:800}.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .9s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0)}.review-card:nth-child(2),.step-card:nth-child(2){transition-delay:70ms}.review-card:nth-child(3),.step-card:nth-child(3){transition-delay:140ms}.step-card:nth-child(4){transition-delay:210ms}
@media(max-width:1180px){.desktop-nav{gap:16px}.brand-name small{max-width:170px;line-height:1.25}.header-inner{gap:15px}.review-card{flex-basis:calc((100% - 17px)/2)}.hero h1{font-size:clamp(40px,5.3vw,67px)}}
@media(max-width:960px){.desktop-nav{display:none}.menu-toggle{display:block}.header-actions{margin-left:auto}.hero-layout{grid-template-columns:1fr .78fr}.hero-logo{height:480px}.hero-content{padding:55px 0}.hero{min-height:490px}.hero-layout{min-height:490px}.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.message-section{min-height:620px}}
@media(max-width:680px){.shell{width:90%}.top-ribbon{font-size:9px}.top-ribbon a{display:none}.ribbon-star{display:none}.header-inner{height:71px}.brand-name strong{font-size:23px}.brand-name small{font-size:7px;max-width:153px}.brand-art{height:45px;width:34px}.brand-art img{width:33px;height:45px}.nav-actions{display:none}.header-actions{gap:8px}.language-toggle{padding:2px}.lang-btn{width:28px;height:28px}.hero-layout{display:flex;flex-direction:column;align-items:flex-start;min-height:unset}.hero{min-height:700px}.hero-content{padding:73px 0 0}.hero h1{font-size:clamp(44px,10vw,66px);margin-top:21px}.hero-intro{font-size:14px;max-width:490px}.hero-logo{height:340px;width:100%;margin-top:-9px;align-items:center}.hero-logo img{width:430px;max-width:none}.hero-logo-label{display:none}.hero-light{top:230px;right:-260px}.hero-scroll-mark{font-size:8px;bottom:14px}.action-zone{padding:60px 0 48px}.action-heading h2{font-size:34px}.action-grid{grid-template-columns:1fr;gap:12px}.action-tile{min-height:176px;padding:23px}.tile-big{font-size:49px}.reviews-section{padding:68px 0}.review-head{display:block}.review-head h2{font-size:40px}.score{margin-top:26px}.score-num{font-size:50px}.review-card{flex-basis:calc(100% - 25px);min-height:325px;padding:22px}.review-card p{font-size:13px}.review-bottom{align-items:start}.review-bottom p{max-width:70%;font-size:10px}.approach-section{padding:75px 0}.section-top h2{font-size:46px}.step-card{min-height:218px;padding:20px}.step-card h3{font-size:17px}.step-card p{font-size:11px}.step-number{margin-bottom:40px}.message-content{padding:95px 0}.message-section{min-height:660px}.message-copy h2{font-size:50px}.message-copy p{font-size:15px}.message-photo-shade{background:linear-gradient(90deg,rgba(20,12,8,.93),rgba(25,15,10,.62)),linear-gradient(0deg,#1d130e,transparent 45%)}.message-photo img{object-position:65% center}.subjects-section{padding:75px 0}.subjects-layout{grid-template-columns:1fr;gap:28px}.subjects-lead h2{font-size:47px}.closing-section{padding:75px 0}.closing-grid{grid-template-columns:1fr;gap:30px}.closing-copy h2{font-size:53px}.closing-brand{display:none}.footer-row{flex-wrap:wrap;padding-bottom:54px}.mobile-bottom-bar{position:fixed;z-index:25;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;background:#1b100a;gap:4px;padding:10px max(10px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom));box-shadow:0 -8px 25px #10090455}.mobile-bottom-bar a{display:block;text-decoration:none;padding:14px 8px;text-align:center;font-weight:800;background:#e8b482;color:#26160e;border-radius:4px;font-size:13px}.mobile-bottom-bar a+ a{background:#b4683e;color:#fffaf3}}
@media(max-width:395px){.shell{width:92%}.brand-name small{max-width:129px;font-size:6.2px}.brand-name strong{font-size:21px}.header-actions{gap:4px}.hero{min-height:675px}.hero h1{font-size:40px}.hero-logo{height:306px}.hero-logo img{width:385px}.review-head h2{font-size:34px}.score{gap:15px}.score-num{font-size:44px}.score strong{font-size:12px}.steps-grid{grid-template-columns:1fr}.step-number{margin-bottom:24px}.step-card{min-height:150px}.message-copy h2{font-size:42px}.review-card{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal.is-visible{opacity:1;transform:none;transition:none}.action-tile,.review-rail{transition:none;scroll-behavior:auto}.hero-logo,.message-photo{transform:none!important}}
@media(max-width:350px){.brand-name small{display:none}.brand-name strong{font-size:20px}.brand-art{width:28px}.brand{gap:6px}.header-inner{gap:4px}.lang-btn{width:26px;height:27px}.menu-toggle{padding:5px}.menu-toggle span{width:22px}}

/* v5: review selection and timetable dialog */
.desktop-nav .nav-timetable { border:1px solid #9b6745; background:#3d281b; border-radius:4px; color:#f5dec9; padding:11px 13px; font-size:11px; font-weight:800; white-space:nowrap; cursor:pointer; transition:background .25s; }
.desktop-nav .nav-timetable:hover { background:#6b402c; }
.mobile-nav button { color:inherit; border:0; background:transparent; text-align:left; font-size:inherit; font-weight:inherit; width:100%; padding:14px 0; cursor:pointer; }
.subject-actions { display:flex; flex-wrap:wrap; gap:16px; align-items:center; }
.timetable-cta{padding:15px 20px; background:#593524; color:#fff3e4; font-size:12px; font-weight:800; border:0; border-radius:4px; cursor:pointer; margin-top:22px; }
.timetable-cta:hover {background:#845237;}
.review-counter{font-size:11px;white-space:nowrap;align-self:center;font-weight:800;color:#895d42;letter-spacing:.08em;margin-right:5px;}
.review-card-unverified { background:#f4eee6; border-style:dashed; }
.review-card-unverified .review-mark {color:#d5c2ae;}
.review-card-unverified p {color:#7c6352;}
.review-pending-tag { background:#e4d5c5;color:#785039;padding:5px 8px;font-weight:800;font-size:9px;letter-spacing:.07em;text-transform:uppercase;border-radius:4px;}
.review-original{font-size:11px;color:#8b502f;font-weight:800;text-decoration:underline;text-underline-offset:3px;display:inline-block;margin-top:12px;}
.schedule-overlay[hidden]{display:none;}
.schedule-overlay{ position:fixed;inset:0;z-index:95;display:flex;justify-content:center;align-items:center;padding:clamp(9px,3vw,32px);}
.schedule-scrim{position:absolute;inset:0;background:rgba(20,12,8,.84);backdrop-filter:blur(9px);}
.schedule-panel{position:relative;display:flex;flex-direction:column;background:#faf5ed;color:#281a12;border:1px solid #bd8e69;border-radius:12px;box-shadow:0 30px 100px #10090399;max-width:1100px;width:100%;max-height:min(95dvh,950px);overflow:hidden;}
.schedule-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:30px 35px 20px;background:linear-gradient(120deg,#301f15,#583827);color:#fff7ed;flex-shrink:0;}
.schedule-kicker{font-size:10px;color:#efbd8a;font-weight:800;letter-spacing:.18em;}
.schedule-header h2{font-size:clamp(29px,4vw,47px);letter-spacing:-.06em;line-height:1.05;margin:8px 0;}
.schedule-header p{font-size:12px;line-height:1.6;max-width:680px;color:#e8ceba;}
.schedule-close{border:1px solid #97735b;border-radius:50%;width:42px;height:42px;flex-shrink:0;background:#ffffff16;color:#fff;cursor:pointer;font-size:26px;}
.schedule-close:hover{background:#ffffff30;}
.schedule-toolbar{padding:22px 35px 0;display:grid;grid-template-columns:1fr 200px;gap:12px;flex-shrink:0;}
.schedule-toolbar label{font-size:10px;color:#94634b;font-weight:800;letter-spacing:.08em;text-transform:uppercase;display:flex;flex-direction:column;gap:8px;}
.schedule-toolbar input,.schedule-toolbar select{width:100%;background:#fffdfa;border:1px solid #dbc9b6;color:#3a251a;padding:12px 14px;border-radius:5px;font-family:inherit;font-size:13px;min-height:45px;}
.schedule-subjects{display:flex;gap:7px;overflow-x:auto;padding:16px 35px 17px;scrollbar-width:thin;flex-shrink:0;}
.schedule-filter{border:1px solid #d4bdab;background:transparent;border-radius:99px;padding:9px 13px;white-space:nowrap;font-size:11px;font-weight:800;color:#704731;cursor:pointer;}
.schedule-filter[aria-pressed="true"]{background:#462c1e;color:#fff4e8;border-color:#462c1e;}
.schedule-summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 35px;border-top:1px solid #e6d5c5;border-bottom:1px solid #e6d5c5;font-size:10px;color:#8c6e58;font-weight:700;flex-shrink:0;}
.schedule-summary #schedule-count{font-size:12px;color:#50311f;font-weight:800;}
.schedule-results{padding:22px 35px 28px;overflow-y:auto;overscroll-behavior:contain;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-content:start;min-height:140px;}
.schedule-group{border:1px solid #e3d0bd;background:#fffaf3;border-radius:8px;overflow:hidden;}
.schedule-group-head{padding:18px 19px 15px;background:#f1e4d5;border-bottom:1px solid #e3d0bd;}
.schedule-group-top{display:flex;justify-content:space-between;gap:6px;align-items:flex-start;}
.schedule-group h3{font-size:21px;letter-spacing:-.04em;line-height:1.15;margin:0;color:#2a1b13;}
.schedule-online{font-size:9px;font-weight:800;color:#8e5635;background:#e9d5bd;border-radius:3px;padding:5px 7px;letter-spacing:.04em;text-transform:uppercase;}
.schedule-contact{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:11px;}
.schedule-contact a,.schedule-alt-contact a{color:#285b40;font-weight:800;font-size:11px;text-decoration:none;border-bottom:1px solid #c5ddc4;}
.schedule-contact span,.schedule-alt-contact span{font-size:11px;color:#664d3e;font-weight:600;}
.schedule-group table{width:100%;border-collapse:collapse;table-layout:fixed;}
.schedule-group th{text-align:left;padding:10px 11px;background:#f8f1e8;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#976b4b;}
.schedule-group td{padding:10px 11px;font-size:11px;line-height:1.4;font-weight:650;vertical-align:top;border-top:1px solid #f0e3d7;}
.schedule-group th:nth-child(1){width:36%}.schedule-group th:nth-child(2){width:29%}.schedule-group th:nth-child(3){width:35%}
.schedule-group .schedule-row-alt{background:#fffcf8;}
.schedule-notes{border-top:1px solid #eadbcc;margin:0;padding:13px 18px;font-size:11px;color:#744e35;line-height:1.6;background:#faf0e1;}
.schedule-alt-contact{padding:12px 18px;background:#f6ebdd;border-top:1px solid #e6d4c1;display:flex;flex-wrap:wrap;gap:7px;align-items:center;}
.schedule-empty{grid-column:1/-1;text-align:center;padding:36px 15px;color:#755a49;font-size:14px;}
.schedule-footer{border-top:1px solid #e1ccb8;padding:15px 35px;background:#f0e4d5;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-shrink:0;}
.schedule-footer p{font-size:10px;line-height:1.6;color:#725644;max-width:620px;}
.schedule-footer a{white-space:nowrap;font-size:11px;font-weight:800;color:#77482c;text-decoration:underline;}
body.schedule-open{overflow:hidden;}
@media(max-width:900px){.schedule-results{grid-template-columns:1fr;}}
@media(max-width:680px){.schedule-overlay{padding:0}.schedule-panel{max-height:100dvh;height:100dvh;border-radius:0;border:0}.schedule-header{padding:20px 20px 15px;}.schedule-header h2{font-size:32px}.schedule-toolbar{padding:15px 16px 0;grid-template-columns:1fr 125px;gap:8px}.schedule-toolbar input,.schedule-toolbar select{padding:10px;font-size:12px}.schedule-subjects{padding:13px 16px}.schedule-summary{padding:10px 16px;display:block}.schedule-summary span{display:block;margin-top:3px}.schedule-results{padding:14px 16px 18px}.schedule-footer{padding:12px 16px;display:block}.schedule-footer a{display:inline-block;margin-top:8px}.schedule-group td{font-size:11px}.schedule-group th{font-size:9px}}
@media(prefers-reduced-motion:reduce){.schedule-overlay,.schedule-panel{animation:none!important;}}

/* v6 — Full original Google review text; no abbreviated summaries. */
.review-card-complete{display:flex; flex-direction:column; min-height:430px; max-height:490px;}
.review-card-complete .review-content{font-weight:500;letter-spacing:0;white-space:pre-line; flex:1 1 auto; overflow-y:auto; overscroll-behavior:contain; min-height:0; max-height:none; padding-right:8px; scrollbar-width:thin; scrollbar-color:#c9ab92 transparent; line-height:1.75; font-size:13px;}
.review-card-complete .review-author{flex-shrink:0; padding-top:13px; margin-top:14px;}
.review-card-complete .review-source{font-size:10px;}
.review-card-complete .review-open{margin:10px 0 0 0; text-align:left; border:none; background:transparent; color:#865434; font-weight:800; font-size:11px; cursor:pointer; padding:5px 0 0; align-self:flex-start;}
.review-card-complete .review-open:hover{text-decoration:underline;}
.review-bottom{justify-content:flex-end;}
.review-dialog[hidden]{display:none;}
.review-dialog{position:fixed;z-index:120;inset:0;padding:18px;display:flex;align-items:center;justify-content:center;}
.review-dialog-scrim{position:absolute;inset:0;background:rgba(22,14,8,.82);backdrop-filter:blur(8px);}
.review-dialog-panel{position:relative;background:#fbf5ed;color:#2c1d15;border-radius:11px;max-width:750px;width:100%;max-height:90dvh;overflow-y:auto;padding:clamp(25px,4vw,52px);box-shadow:0 30px 90px #0a070580;}
.review-dialog-close{position:absolute;right:20px;top:14px;border:1px solid #bd9e84;background:transparent;color:#503422;font-size:28px;border-radius:50%;width:40px;height:40px;cursor:pointer;}
.review-dialog-stars{color:#bf7039;letter-spacing:.15em;font-size:16px;}
.review-dialog-panel h2{margin:10px 40px 24px 0;font-size:clamp(25px,4vw,40px);line-height:1.1;letter-spacing:-.045em;}
.review-dialog-panel p{white-space:pre-line;font-size:clamp(14px,1.6vw,17px);line-height:1.85;overflow-wrap:anywhere;}
.review-dialog-link{display:inline-block;margin-top:20px;font-weight:800;color:#92512d;font-size:12px;}
body.review-dialog-open{overflow:hidden;}
.schedule-toolbar{display:flex;justify-content:flex-end;padding-top:14px;}
.schedule-day-wrap{width:200px;}
@media(max-width:680px){.schedule-toolbar{padding:12px 16px 0}.schedule-day-wrap{width:100%;}.review-card-complete{max-height:455px;min-height:420px}.review-card-complete .review-content{font-size:13px}.review-dialog{padding:0}.review-dialog-panel{height:100dvh;max-height:100dvh;border-radius:0}.review-dialog-panel p{font-size:15px}}
