@layer properties;@layer theme, base, components, utilities;@layer theme{:root, :host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--font-serif:Georgia, "Times New Roman", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;--color-white:#fff;--spacing:0.25rem;--container-md:28rem;--container-2xl:42rem;--container-4xl:56rem;--text-sm:0.875rem;--text-sm--line-height:calc(1.25 / 0.875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-semibold:600;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-cream:#FEF9F2;--color-forest:#1E3B2F;--color-earth:#7E4823;--color-ink:#242A25;--color-muted:#566158;--color-brand-blue:#23425E;--color-brand-yellow:#FDC02A;--color-brand-green:#355C38;--color-brand-brown:#7E4823;--color-blue-soft:#EEF2F5;--color-yellow-soft:#FFF5D8;}}@layer base{*, ::after, ::before, ::backdrop, ::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid;}html, :host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;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;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{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sub{bottom:-0.25em;}sup{top:-0.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{display:block;vertical-align:middle;}img, video{max-width:100%;height:auto;}button, input, select, optgroup, textarea, ::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1;}: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)){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, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field{padding-block:0;}:-moz-ui-invalid{box-shadow:none;}button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button{appearance:button;}::-webkit-inner-spin-button, ::-webkit-outer-spin-button{height:auto;}[hidden]:where(:not([hidden="until-found"])){display:none !important;}}@layer utilities{.mx-auto{margin-inline:auto;}.mt-2{margin-top:calc(var(--spacing) * 2);}.mt-3{margin-top:calc(var(--spacing) * 3);}.mt-4{margin-top:calc(var(--spacing) * 4);}.mt-5{margin-top:calc(var(--spacing) * 5);}.mt-6{margin-top:calc(var(--spacing) * 6);}.mt-7{margin-top:calc(var(--spacing) * 7);}.mt-10{margin-top:calc(var(--spacing) * 10);}.mb-3{margin-bottom:calc(var(--spacing) * 3);}.mb-4{margin-bottom:calc(var(--spacing) * 4);}.mb-9{margin-bottom:calc(var(--spacing) * 9);}.flex{display:flex;}.grid{display:grid;}.hidden{display:none;}.w-full{width:100%;}.max-w-2xl{max-width:var(--container-2xl);}.max-w-4xl{max-width:var(--container-4xl);}.max-w-md{max-width:var(--container-md);}.min-w-0{min-width:calc(var(--spacing) * 0);}.flex-wrap{flex-wrap:wrap;}.items-center{align-items:center;}.items-start{align-items:flex-start;}.justify-between{justify-content:space-between;}.gap-3{gap:calc(var(--spacing) * 3);}.gap-4{gap:calc(var(--spacing) * 4);}.gap-5{gap:calc(var(--spacing) * 5);}.gap-6{gap:calc(var(--spacing) * 6);}.gap-7{gap:calc(var(--spacing) * 7);}.gap-8{gap:calc(var(--spacing) * 8);}.gap-9{gap:calc(var(--spacing) * 9);}.gap-10{gap:calc(var(--spacing) * 10);}.gap-x-6{column-gap:calc(var(--spacing) * 6);}.self-end{align-self:flex-end;}.bg-cream{background-color:var(--color-cream);}.py-6{padding-block:calc(var(--spacing) * 6);}.py-8{padding-block:calc(var(--spacing) * 8);}.py-10{padding-block:calc(var(--spacing) * 10);}.text-center{text-align:center;}.font-serif{font-family:var(--font-serif);}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading, var(--text-2xl--line-height));}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading, var(--text-3xl--line-height));}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height));}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height));}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);}.text-forest{color:var(--color-forest);}.text-ink{color:var(--color-ink);}.text-muted{color:var(--color-muted);}.text-white{color:var(--color-white);}.not-italic{font-style:normal;}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}.sm\:grid-cols-3{@media (width >= 40rem){grid-template-columns:repeat(3, minmax(0, 1fr));}}.sm\:gap-7{@media (width >= 40rem){gap:calc(var(--spacing) * 7);}}.md\:grid-cols-2{@media (width >= 48rem){grid-template-columns:repeat(2, minmax(0, 1fr));}}.md\:grid-cols-3{@media (width >= 48rem){grid-template-columns:repeat(3, minmax(0, 1fr));}}.lg\:flex{@media (width >= 64rem){display:flex;}}.lg\:hidden{@media (width >= 64rem){display:none;}}.lg\:grid-cols-2{@media (width >= 64rem){grid-template-columns:repeat(2, minmax(0, 1fr));}}.lg\:gap-14{@media (width >= 64rem){gap:calc(var(--spacing) * 14);}}.lg\:gap-16{@media (width >= 64rem){gap:calc(var(--spacing) * 16);}}}@layer base{html{scroll-behavior:smooth;scroll-padding-top:7rem;}body{margin:0;line-height:1.65;}[id]{scroll-margin-top:7rem;}[hidden]{display:none !important;}:focus-visible{outline:3px solid var(--color-earth);outline-offset:5px;}a{text-underline-offset:.24em;}a, button, summary, input, select, textarea{-webkit-tap-highlight-color:transparent;}button, input, select, textarea{font:inherit;}button, summary{cursor:pointer;}::selection{background:#1E3B2F;color:white;}}@layer components{.shell{width:min(100% - 3rem, 1160px);margin-inline:auto;}.section-space{padding-block:clamp(3.5rem, 7vw, 6.25rem);}.eyebrow{font-size:.69rem;letter-spacing:.15em;text-transform:uppercase;font-weight:650;line-height:1.6;color:var(--color-earth);}.heading{font-family:Georgia, "Times New Roman", serif;font-size:clamp(2.05rem, 3.3vw, 3.1rem);font-weight:400;line-height:1.16;letter-spacing:-.035em;}.button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;min-height:50px;padding:.82rem 1.35rem;border:1px solid #1E3B2F;border-radius:999px;background:#1E3B2F;color:#FFFFFF;font-size:.9rem;font-weight:600;line-height:1.4;text-decoration:none;text-align:center;transition:background-color .16s, border-color .16s;}.button:hover{background:#14271F;border-color:#14271F;}.button-small{min-height:44px;font-size:.8rem;padding:.7rem 1.1rem;}.button-outline{color:#1E3B2F;background:transparent;border-color:#BCC7B8;}.button-outline:hover{background:#EDF0E8;border-color:#1E3B2F;}.button-white{background:var(--color-cream);border-color:var(--color-cream);color:#1E3B2F;}.button-white:hover{background:#EBE8DD;border-color:#EBE8DD;}.button:disabled{cursor:wait;opacity:.7;}.text-link{display:inline-flex;align-items:center;gap:.7rem;min-height:44px;font-size:.9rem;font-weight:600;text-decoration:underline;text-decoration-color:#AAB6A5;}.text-link:hover{text-decoration-color:currentColor;}.preview-note{padding:.55rem 1rem;background:#F0E5CF;font-size:.74rem;text-align:center;color:#504230;}.skip-link{position:fixed;left:1rem;top:1rem;z-index:100;padding:.7rem 1rem;background:white;border:2px solid #1E3B2F;transform:translateY(-200%);}.skip-link:focus{transform:translateY(0);}.site-header{position:sticky;top:0;z-index:40;background:var(--color-cream);border-bottom:1px solid #E4E5DA;}.brand{display:inline-flex;align-items:center;gap:.68rem;min-height:48px;flex-shrink:0;}.nav-link{display:inline-flex;align-items:center;min-height:44px;font-size:.82rem;color:#566158;}.nav-link:hover{color:#1E3B2F;text-decoration:underline;}.mobile-menu{position:relative;}.menu-toggle{display:flex;align-items:center;gap:.5rem;min-height:44px;padding:.55rem .75rem;border:1px solid #D2D9CA;border-radius:999px;list-style:none;font-size:.78rem;}.menu-toggle::-webkit-details-marker{display:none;}.mobile-menu-panel{position:absolute;right:0;top:calc(100% + .7rem);width:min(280px, 88vw);padding:.7rem;border:1px solid #DDE0D5;border-radius:16px;background:var(--color-cream);box-shadow:0 12px 30px #1E3B2F12;}.mobile-menu-panel a{display:flex;align-items:center;min-height:46px;padding-inline:.75rem;border-radius:7px;font-size:.9rem;}.mobile-menu-panel a:hover{background:#EDF0E8;}.hero{padding-block:clamp(2rem, 5.6vw, 5.25rem);}.hero-title{font-family:Georgia, serif;font-size:clamp(2.45rem, 4.6vw, 4.4rem);letter-spacing:-.045em;font-weight:400;line-height:1.08;text-wrap:balance;}.hero-title em{color:#1E3B2F;}.hero-description{font-size:1.03rem;line-height:1.85;max-width:34rem;}.photo-frame{position:relative;overflow:hidden;border-radius:26px;background:#E7E8DD;aspect-ratio:4 / 3;isolation:isolate;}.photo-frame img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:1;}.photo-frame picture{display:block;position:relative;z-index:1;height:100%;}.photo-frame::before{content:'';position:absolute;inset:12%;border:1px solid #BDC9B7;border-radius:100% 100% 12px 12px;background:#D9E0D0;}.photo-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;padding:2rem;text-align:center;color:#40533F;}.photo-placeholder strong{font-family:Georgia, serif;font-size:1.7rem;font-weight:400;}.photo-placeholder span{max-width:18rem;font-size:.78rem;}.image-unavailable{visibility:hidden;}.photo-caption{display:flex;align-items:baseline;flex-wrap:wrap;justify-content:space-between;gap:.4rem 1rem;margin-top:.85rem;font-size:.73rem;color:#566158;}.photo-caption-label{font-size:.64rem;letter-spacing:.09em;text-transform:uppercase;color:var(--color-earth);}.hero-note{display:flex;align-items:center;gap:.6rem;font-size:.76rem;color:#566158;}.little-dot{width:6px;height:6px;border-radius:50%;flex:none;background:var(--color-earth);}.facts-strip{border-block:1px solid #DDE0D5;background:#EDF0E8;}.fact{padding-block:.4rem;}.fact-label{display:block;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#566158;}.fact-value{display:block;margin-top:.25rem;font-family:Georgia, serif;font-size:1.25rem;color:#1E3B2F;}.feature-card{padding:1.75rem;border:1px solid #DDE0D5;border-radius:22px;background:#F7F7F0;}.feature-icon{display:grid;place-items:center;width:46px;height:46px;margin-bottom:1.45rem;border-radius:50%;background:#E6EADB;color:#1E3B2F;font-family:Georgia, serif;font-size:1.1rem;}.feature-card h3{font-family:Georgia, serif;font-weight:400;font-size:1.55rem;line-height:1.25;letter-spacing:-.02em;}.feature-card p{margin-top:.8rem;font-size:.91rem;line-height:1.8;color:#566158;}.soft-section{background:#F3F4EC;border-block:1px solid #E2E4D9;}.accordion{border-bottom:1px solid #D3DACE;}.accordion:first-child{border-top:1px solid #D3DACE;}.accordion summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:60px;padding:1rem .2rem;list-style:none;}.accordion summary::-webkit-details-marker{display:none;}.accordion summary::after{content:'+';font-size:1.5rem;color:#1E3B2F;flex:none;}.accordion[open] summary::after{content:'\2212';}.accordion h3{font-size:.97rem;font-weight:550;line-height:1.5;}.accordion-body{padding:0 1.75rem 1.3rem .2rem;font-size:.9rem;color:#566158;line-height:1.85;}.session-card{display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem;padding:2rem;border:1px solid #E0E3D9;border-radius:24px;background:#FFFFFF;}.session-card h3{margin-block:.8rem;font-family:Georgia, serif;font-size:1.9rem;font-weight:400;line-height:1.15;}.session-card p{color:#566158;font-size:.92rem;line-height:1.85;}.session-card-foot{border-top:1px solid #E7E9E1;padding-top:1.2rem;color:#566158;font-size:.76rem;}.funding-note{background:#EAEDE0;border-radius:18px;padding:1.5rem 1.75rem;font-size:.91rem;}.teacher-card{border-top:1px solid #DDE0D5;padding-top:1.5rem;}.teacher-initial{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#EDF0E8;font:1.5rem Georgia, serif;color:#1E3B2F;}.teacher-card h3{font:1.45rem Georgia, serif;}.teacher-role{margin-top:.3rem;font-size:.74rem;color:#566158;}.contact-panel{background:#1E3B2F;color:#FFFFFF;border-radius:26px;padding:clamp(1.6rem, 3.5vw, 3rem);}.contact-panel .eyebrow{color:#DAC9AB;}.contact-panel .text-link{color:#FFFFFF;}.contact-panel :focus-visible{outline-color:#FFFFFF;}.contact-detail{display:grid;grid-template-columns:22px 1fr;gap:.85rem;padding-block:1.05rem;border-top:1px solid #4E695A;}.contact-detail svg{margin-top:.15rem;}.contact-label{color:#D0DDCB;font-size:.71rem;margin-bottom:.2rem;}.contact-value{font-size:.92rem;line-height:1.65;}.contact-email{overflow-wrap:anywhere;}.enquiry-panel{background:#FFFFFF;border:1px solid #DDE0D5;border-radius:26px;padding:clamp(1.4rem, 3vw, 2.4rem);}.field-label{display:block;margin-bottom:.4rem;font-size:.82rem;font-weight:600;color:#334537;}.field{display:block;width:100%;min-height:48px;padding:.65rem .8rem;border:1px solid #768577;border-radius:9px;background:#FFFFFF;color:#242A25;font-size:1rem;line-height:1.5;}textarea.field{resize:vertical;min-height:100px;}.field:focus{outline:2px solid #1E3B2F;outline-offset:2px;}.field:invalid:not(:placeholder-shown):not(:focus){box-shadow:none;}.field-hint{font-size:.73rem;color:#566158;line-height:1.65;}.consent-label{display:flex;align-items:flex-start;gap:.75rem;min-height:44px;padding-block:.4rem;font-size:.78rem;line-height:1.7;}.consent-label input{width:20px;height:20px;flex:none;margin-top:.15rem;accent-color:#1E3B2F;}.form-notice{padding:1rem;background:#EDF0E8;border-radius:12px;font-size:.86rem;}.form-error{background:#FBECE5;color:#782F17;}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}.footer{border-top:1px solid #DDE0D5;}.mobile-cta{display:none;}}@media (min-width: 640px){.fact + .fact{border-left:1px solid #CDD5C5;padding-left:1.75rem;}}@media (max-width: 639px){.shell{width:calc(100% - 2.5rem);}.brand{gap:.42rem;}.brand svg{width:30px;height:34px;}.hero-title{font-size:clamp(2.35rem, 9.8vw, 3.2rem);}.hero-description{font-size:.97rem;line-height:1.8;}.hero-description .hero-description-extra{display:none;}.fact{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.15rem .8rem;}.fact + .fact{border-top:1px solid #CDD5C5;padding-top:.75rem;}.fact-value{font-size:1.14rem;}.session-card{padding:1.6rem;}.feature-card{padding:1.55rem;}.mobile-cta:not([hidden]){display:flex;position:fixed;bottom:0;left:0;right:0;z-index:35;gap:.7rem;padding:.45rem .85rem calc(.45rem + env(safe-area-inset-bottom));background:color-mix(in srgb, #FEF9F2 96%, white);@supports (color: color-mix(in lab, red, red)){background:color-mix(in srgb, var(--color-cream) 96%, white);}border-top:1px solid #D3DACE;box-shadow:0 -5px 20px #1E3B2F09;}.mobile-cta a{flex:1;min-height:44px;font-size:.77rem;}body{padding-bottom:72px;}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;}*, *::before, *::after{transition:none !important;animation:none !important;}}@media print{.site-header, .preview-note, .mobile-cta, #tour-form, .skip-link{display:none !important;}body{padding:0;}.section-space{padding-block:1.5rem;}.contact-panel{background:white;color:black;border:1px solid;}.contact-panel .eyebrow, .contact-panel .text-link, .contact-label{color:black;}details > .accordion-body{display:block;}}@layer components{.brand-ribbon{height:4px;display:flex;}.brand-ribbon span:first-child{flex:3;background:var(--color-brand-yellow);}.brand-ribbon span:last-child{flex:2;background:var(--color-brand-blue);}.eyebrow{color:var(--color-brand-blue);}.brand-dots{display:inline-flex;flex:none;}.brand-dots i{display:block;height:9px;width:9px;border-radius:50%;background:var(--color-brand-yellow);}.brand-dots i + i{background:var(--color-brand-blue);margin-left:4px;}.highlight-word{position:relative;z-index:0;color:var(--color-brand-blue);white-space:nowrap;}.highlight-word::after{content:'';position:absolute;z-index:-1;left:0;right:0;height:.13em;bottom:.05em;background:var(--color-brand-yellow);border-radius:50%;transform:rotate(-2deg);}.hero-photo-surround{position:relative;padding:12px 12px 26px 0;}.hero-photo-surround::before{content:'';position:absolute;inset:0 0 13px 16px;border-radius:32px;background:var(--color-yellow-soft);border:1px solid #E8D691;}.photo-tag{position:absolute;z-index:2;bottom:7px;right:-7px;display:flex;align-items:center;gap:.8rem;padding:.85rem 1.15rem;border-radius:16px;background:var(--color-blue-soft);color:var(--color-brand-blue);border:1px solid #D2E0EC;font-size:.78rem;line-height:1.4;box-shadow:0 5px 15px #1E3B2F0A;}.tag-sun{color:var(--color-brand-blue);font-size:2rem;}.photo-caption-label{color:var(--color-brand-blue);}.photo-placeholder{background:var(--color-blue-soft);color:var(--color-brand-blue);}.photo-frame::before{background:var(--color-yellow-soft);border-color:#E2CF82;}.little-dot{background:var(--color-brand-blue);}.facts-strip{background:var(--color-blue-soft);border-color:#D7E1E8;}.fact-value{color:var(--color-brand-blue);}.feature-yellow{background:#FFF9E6;border-color:#E9DEB9;}.feature-yellow .feature-icon{background:var(--color-brand-yellow);color:#1E3B2F;}.feature-blue{background:#EFF5F9;border-color:#D8E3EC;}.feature-blue .feature-icon{background:#DCEAF4;color:var(--color-brand-blue);}.soft-section{background:#F5F6F0;}.text-link{color:var(--color-brand-blue);text-decoration-color:#7EA2BE;}.text-link:hover{color:#193249;}.nav-link:hover{color:var(--color-brand-blue);}.button-outline{color:var(--color-brand-blue);border-color:var(--color-brand-blue);}.button-outline:hover{background:var(--color-blue-soft);border-color:#193249;}.session-subtitle{font:1.55rem/1.4 Georgia, serif;letter-spacing:-.02em;color:#1E3B2F;}.session-half{border-top:4px solid var(--color-brand-yellow);}.session-full{border-top:4px solid var(--color-brand-blue);}.funding-note{display:flex;align-items:flex-start;gap:1.1rem;background:var(--color-yellow-soft);border:1px solid #E9D78C;}.funding-symbol{font-size:2.1rem;line-height:1.2;color:var(--color-brand-blue);flex:none;}.teacher-card:nth-child(2) .teacher-initial{background:var(--color-blue-soft);color:var(--color-brand-blue);}.teacher-card:first-child .teacher-initial{background:var(--color-yellow-soft);}.visit-section{background:var(--color-blue-soft);border-block:1px solid #D7E1E8;}.contact-panel{border-bottom:5px solid var(--color-brand-yellow);}.contact-panel .eyebrow{color:var(--color-brand-yellow);}.contact-label{color:#DDE8DE;}.contact-detail > svg, .contact-detail > span{color:var(--color-brand-yellow);}.inline-privacy-link{color:var(--color-brand-blue);text-decoration:underline;}.field:focus{outline-color:var(--color-brand-blue);}.form-notice{background:var(--color-blue-soft);}.preview-note{background:var(--color-yellow-soft);color:#51420F;}}@layer base{:focus-visible{outline:3px solid var(--color-brand-blue);outline-offset:4px;}main:focus{outline:none;}}@media (max-width: 639px){.hero-photo-surround{padding-right:8px;}.photo-tag{right:-1px;font-size:.74rem;}.funding-note{padding:1.3rem;gap:.8rem;}.session-subtitle{font-size:1.35rem;}.hero-title{font-size:clamp(2.22rem, 8.9vw, 3rem);}}@layer components{.brand{color:var(--color-brand-blue);text-decoration:none;}.brand-logo{display:block;width:238px;height:auto;aspect-ratio:1115 / 504;object-fit:contain;}.header-inner{min-height:104px;padding-block:4px;}.footer-brand{max-width:31rem;}.footer-brand .brand-logo{width:260px;}.footer-tagline{margin-top:.55rem;font-size:.85rem;color:#566158;}.feature-card:not(.feature-yellow):not(.feature-blue) .feature-icon{color:var(--color-brand-green);}.teacher-card:first-child .teacher-initial{color:var(--color-brand-brown);}.contact-panel :focus-visible{outline-color:var(--color-brand-yellow);}}@media (max-width: 639px){.header-inner{min-height:86px;padding-block:4px;gap:.5rem;}.brand-logo{width:clamp(170px, 49vw, 198px);}.footer-brand .brand-logo{width:240px;max-width:100%;}}@layer components{.enquiry-panel{border-top:4px solid var(--color-brand-yellow);}.enquiry-form{display:grid;gap:1.65rem;}.form-group, .birthday-fields{min-inline-size:0;margin:0;padding:0;border:0;}.form-group-title{display:flex;align-items:center;gap:.65rem;width:100%;margin-bottom:1.1rem;padding:0;font-size:.96rem;font-weight:650;color:var(--color-brand-blue);}.form-step{display:inline-flex;flex:none;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--color-yellow-soft);color:var(--color-brand-blue);font-size:.69rem;letter-spacing:.02em;}.form-step-blue{background:var(--color-blue-soft);}.form-stack{display:grid;gap:1.1rem;}.form-two-column{display:grid;gap:1.1rem;}.birthday-row{display:grid;grid-template-columns:minmax(0, .8fr) minmax(0, 1.5fr) minmax(0, 1fr);gap:.65rem;}.birthday-row .field{padding-inline:.5rem;}.birthday-fields > .field-label{margin-bottom:.65rem;}.date-part-label{font-size:.75rem;font-weight:400;color:var(--color-muted);}.field{min-width:0;max-width:100%;box-sizing:border-box;}.field[type="date"]{min-inline-size:0;}textarea.field-address{min-height:78px;}.field::placeholder{color:#626B63;opacity:1;}.field[aria-invalid="true"]{border-color:#9E3C24;}.field-error{font-size:.8rem;color:#8A321C;line-height:1.5;}.required-mark{color:var(--color-brand-blue);font-weight:700;}.field-optional{font-weight:400;color:var(--color-muted);}.form-extras{border-top:1px solid #DDE0D5;border-bottom:1px solid #DDE0D5;}.form-extras summary{padding-block:.8rem;min-height:48px;color:var(--color-brand-blue);font-size:.82rem;font-weight:600;}.form-extras > .form-stack{padding-bottom:1.1rem;}.form-finish{display:grid;gap:.85rem;}.enquiry-form .consent-label{margin:0;}.form-error{background:#FBECE5;color:#782F17;}}@media (min-width: 640px){.form-two-column{grid-template-columns:repeat(2, minmax(0, 1fr));}}@layer components{.gallery-entry{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;text-decoration:underline;}.nav-link[aria-current="page"]{color:var(--color-brand-blue);text-decoration:underline;text-decoration-color:var(--color-brand-yellow);text-decoration-thickness:3px;text-underline-offset:.5em;}.breadcrumbs{display:flex;align-items:center;gap:.9rem;color:var(--color-muted);font-size:.8rem;margin-bottom:1.5rem;}.breadcrumbs a{display:inline-flex;min-height:44px;align-items:center;text-decoration:underline;color:var(--color-brand-blue);}.gallery-hero{padding-top:1rem;padding-bottom:3.5rem;}.gallery-intro-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:4rem;align-items:center;}.gallery-intro-text{max-width:39rem;line-height:1.8;}.gallery-invitation{background:var(--color-yellow-soft);border:1px solid #E9D78C;padding:2rem;border-radius:24px;position:relative;}.gallery-sun{display:block;color:var(--color-brand-blue);font-size:2.2rem;line-height:1;margin-bottom:1rem;}.gallery-source-note{margin-top:2rem;padding:1rem 1.2rem;font-size:.79rem;border:1px dashed #CCD6DD;border-radius:12px;background:var(--color-blue-soft);color:var(--color-brand-blue);}.gallery-section{padding-bottom:4rem;}.gallery-section.soft-section{padding-block:3.5rem;}.gallery-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem;margin-bottom:1.8rem;}.gallery-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(2, minmax(0,1fr));}.gallery-card{overflow:hidden;border-radius:24px;border:1px solid #DDE0D5;background:var(--color-cream);}.gallery-card a.gallery-photo{display:block;position:relative;aspect-ratio:4 / 3;background:var(--color-blue-soft);isolation:isolate;}.gallery-grid-featured .gallery-photo{aspect-ratio:4 / 3;}.gallery-photo img{display:block;position:relative;z-index:1;height:100%;width:100%;object-fit:contain;}.gallery-fallback{display:flex;position:absolute;inset:0;align-items:center;justify-content:center;flex-direction:column;gap:.7rem;padding:2rem;text-align:center;color:var(--color-brand-blue);}.gallery-fallback strong{font-family:Georgia, serif;font-size:1.7rem;line-height:1.25;font-weight:400;}.gallery-fallback span{font-size:.78rem;max-width:22rem;}.gallery-photo-tag{position:absolute;bottom:1rem;right:1rem;z-index:2;background:var(--color-cream);border:1px solid #DDE0D5;border-radius:999px;min-height:44px;padding:.6rem .85rem;font-size:.75rem;color:var(--color-brand-blue);display:inline-flex;align-items:center;gap:.6rem;}.gallery-caption{padding:1.35rem 1.5rem;border-top:3px solid var(--color-brand-yellow);}.gallery-card:nth-child(even) .gallery-caption{border-top-color:var(--color-brand-blue);}.gallery-caption h3{font-family:Georgia, serif;color:var(--color-forest);font-size:1.5rem;font-weight:400;}.gallery-caption p{margin-top:.4rem;color:var(--color-muted);font-size:.8rem;}.gallery-visit-wrap{padding-block:3.5rem;}.gallery-visit{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:3rem;padding:3rem;border-radius:28px;background:var(--color-forest);border-bottom:5px solid var(--color-brand-yellow);color:#FFFFFF;}.gallery-visit .eyebrow{color:var(--color-brand-yellow);}.gallery-visit p:not(.eyebrow){color:#E5EBE5;}.gallery-visit-actions{display:flex;flex-direction:column;align-items:center;gap:.65rem;text-align:center;}.gallery-visit-actions .text-link{color:#FFFFFF;}.gallery-visit-actions p{font-size:.8rem;}.gallery-visit :focus-visible{outline-color:var(--color-brand-yellow);}.gallery-dialog{width:min(980px, calc(100% - 2rem));max-height:calc(100dvh - 2rem);padding:1.5rem;border:1px solid #DDE0D5;border-radius:22px;background:var(--color-cream);color:var(--color-ink);margin:auto;overflow:auto;}.gallery-dialog::backdrop{background:rgb(18 31 27 / 85%);}.lightbox-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;}.lightbox-close{display:inline-flex;gap:.65rem;align-items:center;justify-content:center;min-width:80px;min-height:44px;border-radius:999px;border:1px solid #BAC4BD;color:var(--color-brand-blue);padding:.5rem .8rem;}.lightbox-close:hover{background:var(--color-blue-soft);}.lightbox-stage{display:grid;place-items:center;background:var(--color-blue-soft);min-height:200px;}.lightbox-stage img{max-width:100%;max-height:62dvh;object-fit:contain;display:block;}.lightbox-status{font-size:.85rem;color:var(--color-muted);padding-block:.6rem;}.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap;}}@media (max-width: 1023px){.gallery-intro-grid{gap:2rem;grid-template-columns:1.35fr 1fr;}.gallery-invitation{padding:1.5rem;}.gallery-visit{padding:2rem;gap:2rem;}}@media (max-width: 639px){.gallery-hero{padding-bottom:2.5rem;}.gallery-intro-grid, .gallery-grid, .gallery-visit{grid-template-columns:1fr;}.gallery-intro-grid{gap:1.75rem;}.gallery-invitation{padding:1.5rem;}.gallery-sun{display:none;}.gallery-section-header{align-items:flex-start;flex-direction:column;}.gallery-section{padding-bottom:2.5rem;}.gallery-grid{gap:1.25rem;}.gallery-card{border-radius:20px;}.gallery-visit{padding:1.75rem;}.gallery-visit-actions{align-items:stretch;}.gallery-visit-actions .text-link{justify-content:center;}.gallery-dialog{padding:1rem;width:calc(100% - 1rem);max-height:calc(100dvh - 1rem);}.lightbox-controls{gap:.5rem;}.lightbox-controls .button{min-height:44px;font-size:.78rem;padding:.65rem .8rem;gap:.5rem;}.lightbox-controls .text-link{font-size:.75rem;gap:.3rem;}}@property --tw-font-weight{syntax:"*";inherits:false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*, ::before, ::after, ::backdrop{--tw-font-weight:initial;}}}
@layer components{
.hero-figure{position:relative;}
.hero-photo-surround{position:relative;padding:0;}
.hero-photo-surround::before,.hero-photo-surround::after{display:none;}
.photo-frame{position:relative;z-index:1;overflow:hidden;border-radius:50% 50% 7px 7px / 42% 42% 7px 7px;background:#e9ece5;box-shadow:0 22px 50px rgba(30,59,47,.13);aspect-ratio:4 / 3;}
.photo-frame img{display:block;width:100%;height:100%;object-fit:cover;}
.photo-tag{position:absolute;top:7%;right:-2.8%;z-index:3;width:86px;height:86px;min-height:0;padding:0;border:0;border-radius:50%;background:#dfe5bc;color:var(--color-brand-blue);box-shadow:0 10px 24px rgba(30,59,47,.10);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-family:Georgia, 'Times New Roman', serif;font-size:.76rem;font-style:italic;font-weight:400;line-height:1.05;text-align:center;transform:rotate(-2deg);}
.photo-tag .tag-copy{display:block;}
.photo-tag .tag-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--color-brand-green);}
.photo-tag .tag-icon svg{width:25px;height:25px;display:block;}
@media (max-width:639px){
 .hero-photo-surround{padding-right:4px;}
 .photo-frame{border-radius:50% 50% 6px 6px / 34% 34% 6px 6px;}
 .photo-tag{top:5%;right:-2%;width:72px;height:72px;font-size:.67rem;}
 .photo-tag .tag-icon{width:23px;height:23px;}
 .photo-tag .tag-icon svg{width:21px;height:21px;}
}
}
