:root{color-scheme:light dark;--ink:light-dark(#192c26,#f1f2e9);--muted:light-dark(#52625a,#b8c6bd);--forest:#142b25;--deep:#10221d;--green:light-dark(#275042,#b3cebb);--gold:#e4be82;--paper:light-dark(#fbf8f1,#14241f);--white:#fffdf8;--surface:light-dark(#fffdf8,#1a3028);--soft-surface:light-dark(#f1eee3,#1d342b);--image-surface:light-dark(#f5f0e6,#223b32);--section-surface:light-dark(#eee9dc,#10201b);--control-border:light-dark(#aebcb3,#697f73);--control-hover:light-dark(#edf1eb,#2b4539);--banner:light-dark(#e9eee3,#142b25);--banner-glow:light-dark(#faf5e8,#254438);--banner-accent:light-dark(#805620,#e4be82);--line:light-dark(#deddd0,#3e5448);--serif:Georgia, "Times New Roman", serif;--sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);margin:0}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.05}h1,h2{font-family:var(--serif);letter-spacing:-.045em;font-weight:400}h1{font-size:clamp(2.8rem,6.4vw,6.1rem)}h2{font-size:clamp(2.15rem,4.4vw,4rem)}p{color:var(--muted)}a{color:inherit}button{font:inherit;cursor:pointer}img{width:100%;height:auto;display:block}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #b77e31}.container{width:min(100% - 96px,1224px);margin-inline:auto}.section{padding-block:clamp(62px,8vw,112px)}.eyebrow{letter-spacing:.15em;text-transform:uppercase;color:var(--green);font-size:.72rem;font-weight:750;line-height:1.4}.skip,.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip:focus{z-index:10;clip-path:none;background:var(--surface);width:auto;height:auto;padding:12px;top:8px;left:8px}.site-header{background:var(--surface);border-bottom:1px solid var(--line)}.header-inner{justify-content:space-between;align-items:center;gap:24px;min-height:80px;display:flex}.brand{flex-shrink:0;justify-items:center;gap:2px;text-decoration:none;display:grid}.brand img{width:122px}.brand span{letter-spacing:.19em;font-size:.53rem;font-weight:800}.main-nav{justify-content:center;align-items:center;gap:clamp(14px,2.15vw,35px);display:flex}.main-nav a{white-space:nowrap;font-size:.89rem;font-weight:650;text-decoration:none}.main-nav a:hover,.main-nav a[aria-current=page]{text-underline-offset:6px;text-decoration:underline 2px}.menu-button,.main-nav .mobile-contact{display:none}.button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:11px;min-height:49px;padding:11px 18px;font-size:.9rem;font-weight:750;line-height:1.35;text-decoration:none;transition:background-color .18s,color .18s,border-color .18s;display:inline-flex}.button svg,.text-link svg,.address svg{flex:none}.header-cta{border-color:var(--control-border);color:var(--ink)}.header-cta:hover,.theme-toggle:hover{background:var(--control-hover)}.header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.theme-toggle{border:1px solid var(--control-border);width:44px;height:44px;color:var(--ink);background:0 0;border-radius:8px;place-items:center;padding:0;display:grid}.theme-toggle span{display:flex}.theme-toggle[aria-pressed=false] .theme-sun,.theme-toggle[aria-pressed=true] .theme-moon{display:none}.button-gold{background:var(--gold);color:var(--deep)}.button-gold:hover{background:#f0d5a6}.button-outline{color:var(--ink);border-color:var(--control-border)}.button-outline:hover{background:var(--control-hover)}.button-dark{background:light-dark(var(--forest),#b3cebb);color:light-dark(var(--white),var(--deep))}.button-dark:hover{background:light-dark(#275042,#c6ddcc)}.actions{flex-wrap:wrap;align-items:center;gap:12px 17px;margin-top:30px;display:flex}.text-link{text-underline-offset:5px;align-items:center;gap:8px;font-size:.91rem;font-weight:750;text-decoration:underline #9cab9d;display:inline-flex}.text-link:hover{text-decoration-color:currentColor}.hero{padding-top:clamp(20px,3vw,42px)}.hero-inner{border:1px solid var(--line);background:radial-gradient(ellipse at 12% 10%, var(--banner-glow), transparent 74%), var(--banner);border-radius:26px;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:stretch;gap:clamp(18px,4vw,58px);padding:clamp(12px,1.65vw,22px);display:grid}.hero-content{align-self:center;padding:clamp(18px,4vw,58px) 0 clamp(18px,4vw,58px) clamp(18px,4vw,58px)}.hero .eyebrow,.page-intro .eyebrow,.contact-section .eyebrow{color:var(--banner-accent)}.hero .eyebrow{align-items:center;gap:8px;margin-bottom:20px;display:flex}.hero h1{font-size:clamp(2.7rem,5.75vw,5.7rem);line-height:.99}.hero h1 em{color:var(--banner-accent)}.hero-description{max-width:44ch;margin-top:23px;font-size:clamp(1rem,1.5vw,1.13rem)}.hero-image{background:var(--image-surface);border-radius:16px;min-height:clamp(365px,38vw,510px);position:relative;overflow:hidden}.hero-image img{object-fit:cover;object-position:center 43%;height:100%;position:absolute;inset:0}.hero-caption{background:var(--deep);color:var(--white);letter-spacing:.12em;border-radius:7px;align-items:center;gap:10px;padding:9px 13px;font-size:.65rem;font-weight:750;display:flex;position:absolute;inset:auto auto 16px 16px}.hero-caption svg{color:var(--gold)}.path-grid,.class-grid{gap:18px;display:grid}.path-grid{grid-template-columns:minmax(0,1.22fr) repeat(2,minmax(0,1fr))}.class-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.path-card,.class-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;flex-direction:column;gap:14px;padding:clamp(19px,2.5vw,32px);display:flex}.path-card{min-height:250px;text-decoration:none;transition:background-color .18s,border-color .18s}.path-card:hover{border-color:var(--control-border);background:var(--soft-surface)}.path-card-featured{color:var(--white);background:#1b3d31;border-color:#48665a}.path-card-featured:hover{background:#264c3e}.path-card-featured .eyebrow{color:var(--gold)}.path-card-featured p{color:#dce8df}.path-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-icon{background:var(--soft-surface);width:42px;height:42px;color:var(--green);border-radius:10px;flex:none;place-items:center;display:grid}.path-card-featured .card-icon{color:var(--gold);background:#34564a}.path-card h3,.class-card h3{font:400 clamp(1.55rem, 2.5vw, 2.15rem)/1.1 var(--serif);letter-spacing:-.035em}.path-card p,.class-card p{font-size:.94rem}.path-card-action{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:8px;font-size:.88rem;font-weight:750;display:flex}.path-card:hover .path-card-action{text-underline-offset:4px;text-decoration:underline}.story{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:center;gap:clamp(32px,7vw,104px);display:grid}.story-photo{background:var(--image-surface);aspect-ratio:1.1;overflow:hidden}.story-photo img{object-fit:cover;object-position:center 38%;height:100%}.story h2,.story h1{margin:12px 0 20px}.story p+p{margin-top:15px}.story .lead{color:var(--ink);font-size:1.17rem}.product h1{font-size:clamp(2.4rem,4.2vw,4.1rem)}.product>img{background:var(--image-surface)}.detail-list{margin-block:20px 26px}.detail-list>div{border-top:1px solid var(--line);padding-block:12px}.detail-list dt{font-weight:760}.detail-list dd{color:var(--muted);margin:4px 0 0}.catalog-section{background:var(--section-surface)}.section-heading{justify-content:space-between;align-items:end;gap:14px 36px;margin-bottom:32px;display:flex}.section-heading h2{margin:8px 0 9px}.section-heading>a{flex:none}.book-grid,.gallery-grid{gap:22px;display:grid}.book-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.book-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;flex-direction:column;display:flex;overflow:hidden}.book-cover{background:var(--image-surface);padding:clamp(12px,2vw,23px)}.book-cover img{aspect-ratio:610/511;object-fit:contain}.book-content{flex-direction:column;flex:1;align-items:start;gap:9px;padding:21px;display:flex}.book-content h3{font-family:var(--serif);letter-spacing:-.025em;font-size:1.45rem;font-weight:400}.book-content p:not(.eyebrow){font-size:.91rem}.book-actions{flex-wrap:wrap;justify-content:space-between;align-self:stretch;gap:8px 14px;margin-top:auto;padding:12px 0 2px;display:flex}.filters{flex-wrap:wrap;gap:9px;display:flex}.filters button{min-height:44px;color:var(--ink);border:1px solid var(--control-border);background:0 0;padding:8px 15px}.filters button:hover{background:var(--control-hover)}.filters button[aria-pressed=true]{background:light-dark(var(--forest),#b3cebb);color:light-dark(var(--white),var(--deep))}.result-count{margin:12px 0 23px;font-size:.9rem}.gallery-grid figure,.gallery-preview figure{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.gallery-preview{grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr));gap:16px;display:grid}.gallery-groups{gap:clamp(48px,7vw,90px);display:grid}.gallery-grid a{cursor:zoom-in;display:block}.gallery-grid img,.gallery-preview img{object-fit:cover;background:var(--image-surface)}.gallery-grid img{aspect-ratio:1.45}.gallery-preview img{height:clamp(190px,21vw,320px)}.gallery-grid figcaption,.gallery-preview figcaption{padding:9px 14px;font-size:.84rem}.lightbox{border:1px solid var(--line);background:var(--deep);max-width:min(92vw,990px);max-height:93vh;color:var(--white);padding:14px;position:fixed;overflow:auto}.lightbox::backdrop{background:#0a1613dc}.lightbox img{width:auto;max-width:100%;max-height:73vh;margin-inline:auto}.lightbox p{color:inherit;margin:10px 4px 0}.close-photo{background:var(--deep);width:40px;height:40px;color:var(--white);border:1px solid #839487;margin:0 0 8px auto;font-size:1.4rem;line-height:1;display:block}.contact-section,.page-intro{background:var(--banner)}.contact-inner{grid-template-columns:1fr .85fr;align-items:center;gap:24px 6vw;display:grid}.contact-inner h2{margin-top:12px}.contact-copy>p:not(.eyebrow){margin:16px 0 19px}.contact-copy>.text-link{margin-bottom:16px}.contact-form{background:var(--surface);border:1px solid var(--line);border-radius:18px;gap:14px;padding:clamp(17px,3vw,32px);display:grid}.contact-form h3{font:400 1.75rem/1.1 var(--serif)}.contact-form p{font-size:.9rem}.contact-form label{align-content:start;gap:5px;font-size:.85rem;font-weight:700;display:grid}.contact-form label span{color:var(--muted);font-weight:400}.form-row{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px;display:grid}.contact-form input,.contact-form select,.contact-form textarea{border:1px solid var(--control-border);background:var(--paper);width:100%;min-height:44px;color:var(--ink);font:400 1rem/1.35 var(--sans);border-radius:7px;padding:9px 11px}.contact-form textarea{resize:vertical}.contact-form .button{justify-self:start}.address{color:var(--muted);text-underline-offset:3px;align-items:start;gap:8px;font-size:.83rem;display:flex}.page-intro{padding-block:clamp(55px,8vw,100px)}.page-intro h1{margin:12px 0 18px;font-size:clamp(2.8rem,6vw,5.6rem)}.page-intro p:not(.eyebrow){max-width:59ch;font-size:1.1rem}.page-intro .button{margin-top:23px}.page-intro .actions .button{margin-top:0}.prose{max-width:76ch}.prose h2{margin:26px 0 8px;font-size:2rem}.prose h2:first-child{margin-top:0}.testimonials-section{background:var(--section-surface)}.google-rating{border:1px solid var(--line);background:var(--surface);border-radius:10px;align-items:center;gap:13px;padding:10px 14px;text-decoration:none;display:inline-flex}.google-rating:hover{border-color:var(--control-border)}.google-rating img{box-sizing:content-box;background:#fff;border-radius:4px;flex:none;width:68px;padding:3px}.google-rating strong,.google-rating small{line-height:1.35;display:block}.google-rating small{color:var(--muted)}.testimonials-grid{scroll-snap-type:x mandatory;grid-auto-columns:calc(33.3333% - 12px);grid-auto-flow:column;gap:18px;margin:0;padding:0 0 10px;list-style:none;display:grid;overflow-x:auto}.testimonials-grid:focus-visible{outline:2px solid var(--banner-accent);outline-offset:4px}.carousel-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.carousel-actions button{border:1px solid var(--control-border);background:var(--surface);width:44px;height:44px;color:var(--ink);border-radius:50%;place-items:center;display:grid}.carousel-actions button:hover:not(:disabled){background:var(--control-hover)}.carousel-actions button:disabled{opacity:.45;cursor:default}.carousel-actions [data-previous] svg{transform:rotate(180deg)}.testimonial-card{scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:15px;padding:clamp(18px,2.7vw,30px);display:flex}.testimonial-stars{color:light-dark(#946016,#f0c97e);letter-spacing:.14em;font-size:1.17rem;line-height:1}.testimonial-card p{color:var(--ink)}.testimonial-author{align-items:center;gap:10px;margin-top:auto;font-size:.88rem;display:flex}.testimonial-author span{height:36px;color:var(--green);background:var(--soft-surface);border-radius:50%;flex:0 0 36px;place-items:center;font-size:.72rem;font-weight:800;display:grid}.learning-feature{background:var(--soft-surface)}.learning-feature .story-photo{border-radius:18px}.story-photo-wide{aspect-ratio:1480/466}.story-stacked{gap:clamp(24px,4vw,46px);display:grid}.story-stacked>.prose{width:100%}.story-stacked h2{margin:9px 0 18px}.learning-feature .text-link,.learning-feature .button{margin-top:22px}.learning-feature .prose p+p{margin-top:12px}.practice-list{color:var(--muted);padding-left:22px}.practice-list li+li{margin-top:12px}.practice-list strong{color:var(--ink)}.faq-list{gap:10px;margin-top:22px;display:grid}.faq-list details{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:13px 17px}.faq-list summary{cursor:pointer;font-weight:750}.faq-list p{margin-top:10px}.breadcrumbs{color:var(--muted);padding-block:12px;font-size:.8rem}.breadcrumbs ol{flex-wrap:wrap;gap:6px 10px;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";margin-right:10px;display:inline-block}.site-footer{background:var(--deep);color:#e2e9df;padding:clamp(44px,6vw,76px) 0 80px}.footer-main{grid-template-columns:minmax(0,1.1fr) minmax(105px,.58fr) minmax(0,.95fr) minmax(0,1.3fr);align-items:start;gap:28px;display:grid}.footer-intro h2{color:var(--white);margin:7px 0 12px;font-size:clamp(1.9rem,3vw,2.9rem)}.footer-intro .eyebrow,.footer-label{color:var(--gold)}.footer-intro p:not(.eyebrow),.site-footer address{color:#c7d3c9;font-size:.88rem}.footer-intro .button{margin-top:16px}.footer-label{font:750 .75rem/1.3 var(--sans);text-transform:uppercase;letter-spacing:.1em}.site-footer address{margin-top:13px;font-style:normal}.site-footer ul{margin:12px 0 0;padding:0;list-style:none}.site-footer li{margin-bottom:6px;font-size:.88rem}.site-footer li a{text-decoration:none}.site-footer li a:hover{text-decoration:underline}.site-footer li svg{vertical-align:middle}.footer-map{background:#233d32;border:1px solid #496456;border-radius:12px;overflow:hidden}.footer-map iframe{border:0;width:100%;height:224px;display:block}.footer-bottom{color:#c7d3c9;border-top:1px solid #43564d;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-top:32px;padding-top:16px;font-size:.78rem;display:flex}.floating-whatsapp{z-index:4;right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));color:#fff;background:#166444;border:1px solid #49725d;border-radius:30px;align-items:center;gap:8px;min-height:52px;padding:9px 15px 9px 11px;font-size:.88rem;font-weight:750;text-decoration:none;display:inline-flex;position:fixed;box-shadow:0 5px 19px #0b241b35}.floating-whatsapp:hover{background:#0d5136}@media (width<=1020px){.container{width:min(100% - 64px,1224px)}.header-inner{flex-wrap:wrap;gap:14px;min-height:74px;padding-block:13px}.menu-button{min-height:44px;color:var(--ink);border:1px solid var(--control-border);background:0 0;justify-content:center;align-items:center;gap:6px;margin-left:auto;padding:7px 12px;display:inline-flex}.main-nav{border-top:1px solid var(--line);flex-wrap:wrap;flex-basis:100%;order:3;justify-content:start;gap:12px 22px;padding:8px 0}.menu-button[aria-expanded=false]+.main-nav.menu-ready,.header-cta{display:none}.main-nav .mobile-contact{display:inline}.book-grid,.class-grid,.footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.container{width:calc(100% - 38px)}.hero-inner,.story,.contact-inner{grid-template-columns:minmax(0,1fr)}.hero-content{padding:20px 13px 9px}.hero-image{aspect-ratio:1.13;min-height:0}.testimonials-grid{grid-auto-columns:calc(50% - 9px)}.path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.path-card-featured,.gallery-preview figure:first-child{grid-column:1/-1}.section-heading{flex-direction:column;align-items:start}.gallery-grid,.gallery-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.book-grid{gap:13px}.book-content{padding:12px}.book-content h3{overflow-wrap:anywhere;font-size:clamp(1.08rem,3.6vw,1.45rem)}.book-actions .text-link{font-size:.82rem}.footer-intro,.footer-map{grid-column:1/-1}}@media (width<=430px){.path-grid,.class-grid,.gallery-preview{grid-template-columns:minmax(0,1fr)}.path-card{min-height:0}.hero h1{font-size:clamp(2.7rem,12.6vw,3.6rem)}.testimonials-grid{grid-auto-columns:100%}.form-row{grid-template-columns:minmax(0,1fr)}.floating-whatsapp{justify-content:center;width:52px;padding:0}.floating-whatsapp span{display:none}}@media (prefers-reduced-motion:reduce){.button,.path-card{transition:none}}
