@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components,utilities;:root{--ink:#20312c;--cream:#f8f4ea;--paper:#fffdf8;--berry:#d91f70;--berry-dark:#a80f50;--sage:#b9c7ad;--leaf:#3f6a56;--line:#20312c29}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Avenir Next,Avenir,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.site-header{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;max-width:1480px;height:88px;margin:0 auto;padding:0 5vw;display:grid}.wordmark{letter-spacing:-1.1px;font-family:Georgia,serif;font-size:26px;font-weight:700}.wordmark span{color:var(--berry)}.wordmark .wordmark-dot{color:var(--leaf)}nav{gap:34px;font-size:14px;font-weight:650;display:flex}nav a{position:relative}nav a:after{content:"";background:var(--berry);height:2px;transition:right .25s;position:absolute;bottom:-8px;left:0;right:100%}nav a:hover:after{right:0}.header-cta{border:1px solid var(--ink);border-radius:999px;justify-self:end;padding:12px 20px;font-size:14px;font-weight:700;transition:all .2s}.header-cta:hover{background:var(--ink);color:#fff}.hero{grid-template-columns:.94fr 1.06fr;align-items:center;gap:clamp(46px,7vw,112px);max-width:1480px;min-height:calc(100svh - 88px);margin:0 auto;padding:clamp(54px,7vw,108px) 5vw 78px;display:grid;overflow:hidden}.hero-copy{z-index:2;position:relative}.eyebrow{color:var(--leaf);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 28px;font-size:12px;font-weight:800;display:flex}.eyebrow span{background:var(--berry);width:30px;height:2px}h1{letter-spacing:-.055em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(56px,6.7vw,104px);font-weight:500;line-height:.92}h1 em{color:var(--berry);font-weight:500}.hero-lead{max-width:570px;margin:34px 0 0;font-size:clamp(18px,1.5vw,23px);line-height:1.6}.hero-actions{flex-wrap:wrap;align-items:center;gap:26px;margin-top:34px;display:flex}.button{border-radius:999px;align-items:center;gap:18px;padding:17px 24px;font-size:15px;font-weight:800;transition:all .2s;display:inline-flex}.button-primary{background:var(--berry);color:#fff;box-shadow:0 13px 32px #a80f5038}.button-primary:hover{background:var(--berry-dark);transform:translateY(-2px)}.text-link{border-bottom:1px solid var(--ink);padding-bottom:5px;font-weight:700}.trust-row{color:#50645c;flex-wrap:wrap;gap:18px;margin-top:34px;font-size:13px;font-weight:700;display:flex}.hero-visual{min-height:min(680px,68vw);position:relative}.hero-visual:before{content:"";aspect-ratio:1;background:var(--sage);opacity:.45;border-radius:50%;width:70%;position:absolute;top:-6%;right:-16%}.photo-frame{box-shadow:26px 30px 0 var(--paper);border-radius:48% 48% 24px 24px;position:absolute;inset:3% 7% 8% 0;overflow:hidden;transform:rotate(1.4deg)}.photo-frame img{object-fit:cover;object-position:52% 50%}.schedule-card{z-index:3;background:var(--paper);border:1px solid var(--line);width:225px;padding:22px;position:absolute;bottom:5%;right:-1%;box-shadow:0 18px 50px #20312c29}.schedule-card:before{content:"";pointer-events:none;border:1px solid #d91f7038;position:absolute;inset:9px}.schedule-card p{color:var(--berry);letter-spacing:.14em;text-transform:uppercase;margin:0 0 15px;font-size:11px;font-weight:900}.schedule-card strong,.schedule-card span,.schedule-card small{display:block}.schedule-card strong{font-family:Georgia,serif;font-size:27px;font-weight:500}.schedule-card span{margin-top:5px;font-weight:800}.schedule-card small{color:#607068;margin-top:15px;line-height:1.4}.stamp{z-index:3;background:var(--berry);color:#fff;text-align:center;border-radius:50%;place-content:center;width:92px;height:92px;font-family:Georgia,serif;font-size:30px;line-height:.72;display:grid;position:absolute;top:3%;left:-5%;transform:rotate(-8deg)}.stamp span{letter-spacing:.2em;font-family:Avenir Next,sans-serif;font-size:11px}.intro-strip{background:var(--ink);color:#fff;text-align:center;justify-content:center;align-items:center;gap:7vw;min-height:175px;padding:46px 5vw;display:flex}.intro-strip p{color:#f3adc9;margin:0;font-family:Georgia,serif;font-size:clamp(28px,3vw,46px);font-style:italic}.intro-strip span{text-align:left;max-width:390px;font-size:17px;line-height:1.6}.section{max-width:1480px;margin:0 auto;padding:clamp(88px,10vw,150px) 5vw}.section-heading{grid-template-columns:.9fr 1.1fr;align-items:end;column-gap:8vw;display:grid}.section-heading .eyebrow{grid-column:1/-1}h2{letter-spacing:-.045em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(46px,5vw,76px);font-weight:500;line-height:1.02}h2 em{color:var(--berry);font-weight:500}.section-heading>p:last-child{max-width:550px;margin:0;font-size:18px;line-height:1.72}.benefit-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:64px;display:grid}.benefit-card{border:1px solid var(--line);flex-direction:column;min-height:345px;padding:30px;display:flex}.benefit-card .card-number{border:1px solid;border-radius:50%;align-self:flex-end;place-items:center;width:50px;height:50px;font-family:Georgia,serif;display:grid}.benefit-card h3{margin:auto 0 16px;font-family:Georgia,serif;font-size:clamp(27px,2.2vw,37px);font-weight:500;line-height:1.05}.benefit-card p{max-width:340px;margin:0;line-height:1.65}.card-berry{background:var(--berry);color:#fff;transform:translateY(18px)}.card-sage{background:var(--sage)}.card-paper{background:var(--paper);transform:translateY(-18px)}.course-section{background:var(--ink);color:#fff;grid-template-columns:1fr 1.05fr;display:grid}.course-photo-wrap{min-height:780px;position:relative;overflow:hidden}.course-photo-wrap img{object-fit:cover;object-position:51% center;filter:saturate(.85)}.course-photo-wrap:after{content:"";background:linear-gradient(#0000 45%,#20312cb8);position:absolute;inset:0}.course-photo-wrap>p{z-index:2;color:#fff;margin:0;font-family:Georgia,serif;font-size:clamp(28px,2.8vw,45px);font-style:italic;line-height:1.15;position:absolute;bottom:7%;left:8%}.course-info{padding:clamp(72px,8vw,120px)}.eyebrow.light{color:#d3e1d1}.course-info h2{color:#fff}.course-info dl{margin:52px 0 0}.course-info dl div{border-top:1px solid #ffffff2e;grid-template-columns:100px 1fr;padding:23px 0;display:grid}.course-info dl div:last-child{border-bottom:1px solid #ffffff2e}.course-info dt{color:#b9c7c0;letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:800}.course-info dd{margin:0;font-size:17px;line-height:1.5}.course-info dd strong{color:#f3adc9;font-size:20px}.course-info dd small{color:#b9c7c0}.course-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:38px;display:flex}.button-light{color:var(--ink);background:#fff}.button-light:hover{background:#f3adc9;transform:translateY(-2px)}.map-link{color:#d3e1d1;border-bottom:1px solid;padding-bottom:5px;font-weight:700}.about-section{grid-template-columns:.9fr 1fr;align-items:center;gap:clamp(50px,9vw,140px);display:grid}.about-photo{min-height:720px;position:relative}.about-photo:before{content:"";background:var(--berry);border-radius:50% 50% 8px 8px;width:75%;height:65%;position:absolute;bottom:-28px;left:-28px}.about-photo img{object-fit:cover;object-position:32% center;border-radius:48% 48% 8px 8px}.about-tag{z-index:3;background:var(--paper);padding:20px 24px;font-family:Georgia,serif;font-size:21px;font-style:italic;line-height:1.25;position:absolute;bottom:42px;right:-40px;transform:rotate(-3deg);box-shadow:0 14px 40px #20312c24}.about-copy h2{margin-bottom:32px}.about-copy>p:not(.eyebrow){max-width:640px;font-size:17px;line-height:1.75}.about-copy .about-lead{font-size:21px!important}.qualification-list{border-top:1px solid var(--line);margin-top:38px}.qualification-list>div{border-bottom:1px solid var(--line);grid-template-columns:76px 1fr;align-items:center;gap:18px;padding:17px 0;display:grid}.qualification-list span{color:var(--berry);font-family:Georgia,serif;font-size:20px}.qualification-list p{margin:0;font-weight:700;line-height:1.45}.certificate-note{color:#6f7c76;margin-top:15px;line-height:1.4;display:block}.faq-section{background:var(--paper);grid-template-columns:.72fr 1.28fr;gap:9vw;max-width:none;padding-left:max(5vw,55vw - 740px);padding-right:max(5vw,55vw - 740px);display:grid}.faq-intro>p:not(.eyebrow){max-width:380px;margin:25px 0;line-height:1.7}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;justify-content:space-between;gap:25px;padding:24px 0;font-family:Georgia,serif;font-size:clamp(20px,2vw,28px);list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--berry);font-family:Avenir Next,sans-serif;font-size:28px;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{color:#52605a;max-width:690px;margin:-6px 0 28px;font-size:16px;line-height:1.75}.contact-section{background:var(--berry);color:#fff;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:620px;padding:105px 5vw;display:flex;position:relative;overflow:hidden}.contact-section .eyebrow{color:#fff}.contact-section h2{z-index:2;font-size:clamp(53px,7vw,105px);position:relative}.contact-section h2 em{color:#ffd5e6}.contact-section>p:not(.eyebrow){z-index:2;max-width:540px;margin:28px auto;font-size:19px;line-height:1.6;position:relative}.contact-section .button{z-index:2;position:relative}.contact-meta{z-index:2;flex-wrap:wrap;justify-content:center;gap:26px;margin-top:34px;font-size:14px;display:flex;position:relative}.contact-meta a{border-bottom:1px solid #fff9;padding-bottom:4px}.contact-orbit{border:1px solid #ffffff47;border-radius:50%;position:absolute}.orbit-one{width:620px;height:620px;bottom:-350px;left:-240px}.orbit-two{width:480px;height:480px;top:-290px;right:-190px}footer{grid-template-columns:auto 1fr auto;align-items:center;gap:42px;max-width:1480px;min-height:150px;margin:0 auto;padding:38px 5vw;display:grid}.footer-mark{font-size:22px}footer address{color:#607068;font-size:13px;font-style:normal;line-height:1.6}footer address strong{color:var(--ink)}footer>div{gap:22px;font-size:13px;font-weight:700;display:flex}.mobile-booking{display:none}@media (max-width:900px){.site-header{grid-template-columns:1fr auto;height:76px}nav{display:none}.hero{grid-template-columns:1fr;padding-top:64px}.hero-visual{min-height:610px}.photo-frame{inset:3% 5% 8%}.section-heading,.about-section,.faq-section{grid-template-columns:1fr}.section-heading>p:last-child{margin-top:28px}.benefit-grid{grid-template-columns:1fr}.benefit-card,.card-berry,.card-paper{min-height:260px;transform:none}.course-section{grid-template-columns:1fr}.course-photo-wrap{min-height:560px}.about-photo{min-height:650px}.about-tag{right:10px}.faq-section{gap:58px}footer{text-align:center;grid-template-columns:1fr;gap:18px}footer>div{justify-content:center}}@media (max-width:560px){.site-header{padding:0 20px}.wordmark{font-size:22px}.header-cta{padding:10px 15px;font-size:12px}.hero{gap:42px;padding:48px 20px 54px}h1{font-size:clamp(52px,17vw,74px)}.hero-actions{align-items:flex-start}.button{justify-content:center;width:100%}.hero-visual{min-height:460px}.photo-frame{box-shadow:12px 16px 0 var(--paper);border-radius:48% 48% 18px 18px;inset:4% 4% 7%}.schedule-card{width:195px;padding:18px;bottom:0;right:0}.stamp{width:76px;height:76px;font-size:25px;left:0}.intro-strip{flex-direction:column;gap:16px;padding:42px 24px}.intro-strip span{text-align:center}.section{padding:78px 20px}.benefit-grid{margin-top:44px}.benefit-card{padding:24px}.course-photo-wrap{min-height:440px}.course-photo-wrap>p{bottom:28px;left:24px}.course-info{padding:70px 22px}.course-info dl div{grid-template-columns:82px 1fr}.course-actions .button{font-size:13px}.about-photo{min-height:510px}.about-photo:before{bottom:-14px;left:-10px}.about-tag{font-size:17px;bottom:25px;right:5px}.about-copy .about-lead{font-size:19px!important}.qualification-list>div{grid-template-columns:64px 1fr}.faq-section{padding-left:20px;padding-right:20px}.contact-section{min-height:650px;padding:84px 20px 120px}footer{padding-bottom:100px}footer>div{flex-direction:column}.mobile-booking{z-index:20;background:var(--ink);color:#fff;border-radius:999px;justify-content:space-between;align-items:center;padding:15px 20px;font-weight:800;display:flex;position:fixed;bottom:12px;left:14px;right:14px;box-shadow:0 10px 35px #20312c47}}@media (prefers-reduced-motion:no-preference){.hero-copy>*{animation:.7s both rise}.hero-copy>:nth-child(2){animation-delay:80ms}.hero-copy>:nth-child(3){animation-delay:.16s}.hero-copy>:nth-child(4){animation-delay:.24s}.hero-copy>:nth-child(5){animation-delay:.32s}.hero-visual{animation:.9s .16s both reveal}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}@keyframes reveal{0%{opacity:0;transform:scale(.975)}}
