/* The lower-page illustrations extend the dawn, paper and glass art direction. */
.section-label{display:flex;align-items:center;gap:13px;font:500 .6rem/1.5 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:#667e89;margin:0 0 19px}
.section-label>span{display:grid;place-items:center;width:25px;height:25px;border:1px solid #8ca1ab66;border-radius:50%;font-size:.57rem;letter-spacing:0;flex-shrink:0}
.detail-scene{position:absolute;width:100%;aspect-ratio:1;top:50%;left:0;translate:0 -50%;background:url('assets/discovery-atlas.webp') var(--tile-x,0%) var(--tile-y,0%)/300% 200% no-repeat}
.living-scene{--scene-shift:0px}
.approach-section{position:relative;overflow:hidden;background:radial-gradient(ellipse at 8% 22%,#cad9e780,transparent 58%),linear-gradient(145deg,#e8eef1,#f3eee6);border-block:1px solid #c3ced580}
.approach-section>.section{padding-block:95px}
.approach-section .section-heading{align-items:center;margin-bottom:47px}
.approach-section .section-intro{max-width:340px}
.journey-layout{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:65px}
.journey-stage{position:relative;isolation:isolate;margin:0;padding:0 0 31px}
.journey-image{aspect-ratio:1.08;overflow:hidden;border-radius:220px 220px 16px 16px;box-shadow:0 22px 60px #314b5c17;background:#c7d7e0}
.journey-image>img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:44% center;scale:1.09;translate:0 var(--scene-shift);transition:filter .7s}
.journey-stage[data-step="1"] .journey-image>img{filter:saturate(.9) brightness(1.025)}
.journey-stage[data-step="2"] .journey-image>img{filter:saturate(1.07)}
.journey-stage[data-step="3"] .journey-image>img{filter:brightness(1.04)}
.journey-stage:before{content:'';position:absolute;inset:-13px 15px 43px -12px;border:1px solid #8fa8b17d;border-radius:240px 240px 22px 22px;z-index:-1;rotate:-3deg}
.journey-route{position:absolute;inset:4% -5% auto;width:110%;height:88%;overflow:visible;pointer-events:none;stroke:#f6f3e5;stroke-width:1.3}
.route-track{stroke:#f6f3e536}.route-ink{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--ease)}
.journey-stage.is-in-view[data-step="0"] .route-ink{stroke-dashoffset:.75}
.journey-stage.is-in-view[data-step="1"] .route-ink{stroke-dashoffset:.5}
.journey-stage.is-in-view[data-step="2"] .route-ink{stroke-dashoffset:.25}
.journey-stage.is-in-view[data-step="3"] .route-ink{stroke-dashoffset:0}
.journey-route circle{fill:#fff8e7;stroke:none}
.journey-glint{position:absolute;right:24px;top:21px;font:400 3.7rem/1 var(--serif);color:#f6ecce;text-shadow:0 0 35px #fff}
.journey-caption{position:absolute;left:25px;right:-15px;bottom:0;display:flex;align-items:center;gap:17px;padding:23px 24px;background:#f8f9f2d9;backdrop-filter:blur(18px);border:1px solid #ffffffd9;border-radius:13px;box-shadow:0 15px 40px #304a5e16}
.journey-caption-number{font:italic 2.9rem/1 var(--serif);color:#7b98a7;min-width:42px}
.journey-caption small{display:block;color:#6c808a;font:.55rem/1.6 var(--sans);margin-bottom:6px}
.journey-caption strong{font:400 1.46rem/.95 var(--serif);letter-spacing:-.035em}
.journey-caption-arrow{margin-left:auto;color:#506c7a;font-size:1.4rem}
.steps.journey-steps{display:block;margin:0;position:relative;--journey-progress:0}
.journey-steps:before{content:'';position:absolute;top:38px;bottom:38px;left:23px;width:1px;background:#a9bcc480;pointer-events:none}
.journey-steps article{display:block;position:relative;border:1px solid transparent;padding:12px 16px 15px 0;border-radius:12px;transition:background .4s,border-color .4s,translate .4s}
.journey-steps article+article{margin-top:7px}
.journey-steps article.is-active{background:#f9fbf477;border-color:#ffffff99;translate:8px 0}
.journey-control{position:relative;display:grid;grid-template-columns:47px 1fr 24px;align-items:center;column-gap:20px;width:100%;padding:0;border:0;background:none;text-align:left;color:var(--ink)}
.journey-control .step-number{display:grid;place-items:center;width:47px;height:47px;border:1px solid #b2c2c9;border-radius:50%;padding:0;margin:0;background:#e7eef0;color:#6c8b9c;font:italic 1.55rem/1 var(--serif);transition:background .4s,color .4s,box-shadow .4s}
.journey-control[aria-pressed="true"] .step-number{background:#203d4d;border-color:#203d4d;color:#fff;box-shadow:0 0 0 5px #f2f5f1}
.journey-title{font:400 1.9rem/.95 var(--serif);letter-spacing:-.035em}
.journey-step-arrow{font-size:1.1rem;color:#7d99a6;opacity:0;translate:-6px 0;transition:translate .3s,opacity .3s}
.journey-control:hover .journey-step-arrow,.journey-control[aria-pressed="true"] .journey-step-arrow{opacity:1;translate:0 0}
.journey-steps article>p{font-size:.77rem;line-height:1.85;margin:2px 12px 0 67px;color:#536a76}
.try-panel{position:relative;margin-top:79px;overflow:hidden;border-radius:20px;background:linear-gradient(120deg,#f8f7efb8,#dae6ebba);padding:48px 53px;grid-template-columns:1fr 1.1fr;gap:65px}
.try-intro{position:relative;z-index:2}.try-intro .section-label{margin-bottom:18px}
.reading-object{position:relative;min-width:0;padding:25px 15px;perspective:900px}
.reading-orbit{position:absolute;width:125%;height:120%;left:-13%;top:-10%;stroke:#8ba4b185;stroke-width:1;rotate:-10deg;pointer-events:none}
.reading-preview{position:relative;z-index:1;border-radius:3px 13px 13px 3px;background:#fffdf5;border:1px solid #e2ddd0;padding:31px 32px;box-shadow:-8px 2px 0 -3px #ede9df,-14px 4px 0 -7px #b5c4c8,0 23px 38px #415c6c26;transform:rotate(-5deg);transform-origin:40% 70%}
.reading-preview:before{content:'';position:absolute;left:11px;top:0;bottom:0;width:1px;background:#d1cbbc70}
.reading-preview>p{font-size:1.95rem;margin:12px 0 23px}
.reading-page-label{display:block;font:.47rem/1.6 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:#829391}
.reading-preview .reading-bottom{justify-content:space-between;border-color:#d8ddd5}
.reading-dots{display:flex;gap:6px}.reading-dots i{width:4px;height:4px;border-radius:50%;background:#adc3c7}
.reading-letter{position:absolute;z-index:2;font:italic 2.1rem/.95 var(--serif);color:#5d8194;background:#f8faf7c2;border:1px solid #fff;backdrop-filter:blur(8px);border-radius:10px;box-shadow:0 8px 20px #314c6110;padding:12px 15px;pointer-events:none}
.reading-letter-a{top:-7px;left:-18px;rotate:-13deg}.reading-letter-b{bottom:4px;right:-13px;rotate:12deg}
.about{padding-block:120px;gap:95px}
.portrait-composition{position:relative;isolation:isolate;min-width:0;padding:0 14px}
.portrait-composition:before{content:'';position:absolute;inset:18px -25px -19px 37px;background:linear-gradient(145deg,#d6e2e9,#e9ddca);border-radius:230px 230px 30px 30px;rotate:5deg;z-index:-1}
.portrait-composition .director-photo{width:100%;height:570px;overflow:visible}
.director-photo>img{width:100%;height:100%;object-fit:cover;border-radius:180px 180px 14px 14px}
.director-photo>.director-portrait{object-position:50% 43%;filter:none}
.portrait-orbit{position:absolute;inset:-35px -40px;width:calc(100% + 80px);height:calc(100% + 70px);z-index:2;pointer-events:none;stroke:#7893a17d;stroke-width:1}
.portrait-orbit ellipse{stroke-dasharray:4 10}.portrait-orbit path{stroke:#b59b72;stroke-width:1.2}
.mentor-chip{position:absolute;top:39px;right:-25px;z-index:3;display:flex;align-items:center;gap:12px;background:#f8f7eddc;border:1px solid #fff;border-radius:100px;backdrop-filter:blur(14px);font:.63rem/1.4 var(--sans);padding:13px 19px;box-shadow:0 10px 25px #39586a10;rotate:6deg}
.mentor-chip>span{font-size:1.4rem;color:#90aab3;line-height:1}
.photo-note{z-index:3;bottom:38px;left:-18px;rotate:-5deg}
.about-copy .section-label{margin-bottom:22px}.about-copy h2{font-size:3.5rem}
.credentials-section{overflow:hidden;background:radial-gradient(ellipse at 5% 100%,#c5d9e7aa,transparent 65%),linear-gradient(120deg,#e4ebef,#f4eee4)}
.credentials-heading{display:flex;align-items:center;gap:30px;min-width:0}
.credential-emblem{position:relative;top:auto;left:auto;translate:none;width:155px;flex-shrink:0;aspect-ratio:1;mask-image:radial-gradient(ellipse,#000 38%,transparent 72%);rotate:-8deg;scale:1.25}
.credentials-section .section-heading{gap:35px}.credentials-heading h2{font-size:3.6rem}
.credential-placeholder .credential-preview{background:radial-gradient(ellipse at 50% 40%,#f9f7edcc,#d3e0e775);border-color:#ffffffb3;transition:box-shadow .4s,translate .4s}
.credential-placeholder .credential-preview:after{content:'';position:absolute;inset:0;translate:-140% 0;background:linear-gradient(110deg,transparent 30%,#ffffff80 50%,transparent 70%);pointer-events:none}
.credential-placeholder .credential-outline{position:relative;border:1px solid #ded9c9;background:#fffcf2;box-shadow:0 17px 25px #435d6c17;transition:transform .5s}
.credential-placeholder .credential-outline:before{content:'';position:absolute;inset:9px;border:1px solid #d9d1bbaa}
.credential-placeholder .credential-outline:after{content:'';position:absolute;width:25px;height:36px;right:22px;bottom:-10px;background:linear-gradient(90deg,#a99c7c,#d6c8a5,#bbae8e);clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%)}
.credential-outline svg{stroke:#a49473}.credential-coming{z-index:1;background:#f5f7f0cd;backdrop-filter:blur(6px);padding:5px 9px;border-radius:30px;width:max-content;max-width:90%;margin:auto}
.credential-placeholder:hover .credential-outline{transform:rotate(0) translateY(-5px)}
.price-grid{align-items:stretch;gap:25px}.price-card{--card-inset:31px;overflow:hidden;padding:var(--card-inset);border:1px solid #d4dfe3;background:#f8f9f5;box-shadow:0 12px 40px #4c667208;transform-style:preserve-3d}
.price-card.featured{background:linear-gradient(160deg,#e2ebef,#f6f1e6);border-color:#9db2be;box-shadow:0 20px 45px #42677a14}
.format-art{position:relative;height:250px;margin:calc(-1 * var(--card-inset)) calc(-1 * var(--card-inset)) 25px;background:radial-gradient(ellipse,#cfdfe9,#e5e9e8 80%);overflow:hidden;isolation:isolate}
.format-art .detail-scene{width:280px;max-width:100%;left:50%;translate:-50% -50%;mask-image:radial-gradient(ellipse,#000 44%,transparent 74%);transition:scale .7s var(--ease)}
.format-art:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 70%,#f8f9f5);pointer-events:none}
.featured .format-art:after{background:linear-gradient(transparent 70%,#e6ecec)}
.format-number{position:absolute;left:23px;top:20px;color:#5e7c8c;font:italic 1.25rem/1 var(--serif)}
.format-caption{position:absolute;z-index:1;left:50%;bottom:13px;translate:-50% 0;white-space:nowrap;font:.49rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#607b88}
.price-card:hover .format-art .detail-scene{scale:1.065}.price-card>p:not(.price-category){min-height:48px}.price-card .sample-label{margin-bottom:17px}
.reviews-section{position:relative;isolation:isolate;overflow:hidden;background:#1b303d;color:#f8f4ec;border:0}
.reviews-section:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 94% 0%,#96b4c43b,transparent 53%),radial-gradient(ellipse at 0% 90%,#b8997030,transparent 55%)}
.reviews-section:after{content:'“';position:absolute;left:-30px;bottom:-160px;font:400 40rem/.8 var(--serif);color:#f1e8d808;z-index:-1;pointer-events:none}
.reviews-section>.section{padding-block:75px 90px}.reviews-heading{align-items:center;margin-bottom:14px;gap:45px}
.reviews-heading h2{font-size:4.2rem}.reviews-heading h2 em{color:#d4c6aa}
.reviews-section .section-label{color:#a8bdc5}.reviews-section .section-label>span{border-color:#9fb4c557}
.reviews-aside{width:290px;position:relative;align-self:stretch;min-height:185px;display:flex;align-items:flex-end;justify-content:flex-end;flex-shrink:0}
.conversation-art{width:270px;top:45%;left:0;translate:0 -50%;mask-image:radial-gradient(ellipse,#000 30%,transparent 70%);opacity:.94}
.reviews-aside .review-controls{position:relative;z-index:1;padding-bottom:7px}
.review-controls button{border-color:#a5b7bf60;background:#ffffff0a;color:#e7eceb;transition:background .3s,translate .3s}.review-controls button:hover{background:#ffffff20;translate:0 -2px}
.reviews-section .demo-note{color:#acbdc3;font-size:.62rem;margin:0 0 25px;max-width:640px}
.review-grid{gap:22px}.review-card{position:relative;border:1px solid #d6e3e326;border-radius:15px;background:linear-gradient(145deg,#ffffff0e,#ffffff04);padding:30px;box-shadow:0 12px 30px #0a1a2410;backdrop-filter:blur(10px);transition:background .4s,translate .4s}
.review-card:hover{translate:0 -5px;background:#ffffff12}
.review-card .sample-label{background:#ffffff09;border-color:#a1b4bf38;color:#bccbcf;font-size:.49rem}
.review-card blockquote{color:#e0e7e7;font-size:.79rem;line-height:1.95}.review-card .quote-mark{color:#b9a98a;opacity:.8;right:25px;top:53px;font-size:5rem}
.review-card footer{border-color:#a1b5c32b}.review-card strong{color:#f2f4ee}.review-card small{color:#9db4be}.review-avatar{background:#a9c4ca1c;color:#d1deda;border:1px solid #a9c4ca33}
.faq-section{padding-block:100px;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:start}
.faq-intro{position:relative}.faq-intro h2{margin-bottom:25px}.faq-intro>p:not(.section-label){max-width:300px}.curiosity-art{position:relative;margin:31px 0 0;width:285px;max-width:100%;height:250px}
.curiosity-art .detail-scene{width:265px;max-width:100%;top:44%;mask-image:radial-gradient(ellipse,#000 38%,transparent 72%);rotate:-7deg}
.curiosity-art figcaption{position:absolute;bottom:0;left:0;right:0;text-align:center;color:#6f8793;font:italic 1.25rem/1.1 var(--serif)}
.faq-list{padding-top:12px}.faq-list details{position:relative;border-bottom:1px solid #bfced4;overflow:hidden;padding-inline:14px;transition:background .4s,border-color .4s}.faq-list details[open]{background:#e4ecee;border-radius:10px;border-color:transparent;margin-bottom:5px}.faq-list summary{font-size:.81rem;padding-block:24px;gap:26px;line-height:1.7}.faq-list summary>span{display:grid;place-items:center;width:27px;height:27px;flex-shrink:0;border-radius:50%;border:1px solid #aabdc7;font-size:1.1rem;color:#7893a2;transition:rotate .4s,background .4s,color .4s}.faq-list details[open] summary>span{rotate:45deg;background:#284859;color:#fff;border-color:#284859}.faq-list details p{padding-bottom:7px}
.contact-section{overflow:hidden;background:radial-gradient(ellipse at 100% 20%,#bdcfdc96,transparent 70%),linear-gradient(130deg,#dfe8ed,#eee9de);border:1px solid #d5dfe0}
.contact-inner{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:40px 75px;padding-block:75px 45px}
.contact-copy{position:relative;z-index:2}.contact-copy h2{font-size:4.3rem;line-height:.93;max-width:540px;margin-bottom:23px}.contact-copy>p:not(.section-label){font-size:.84rem;line-height:1.9;max-width:390px;margin-bottom:24px}
.contact-art{position:relative;min-width:0;margin:0;isolation:isolate;padding:0 0 48px}
.contact-art:before{content:'';position:absolute;inset:-12px 8px 67px -12px;rotate:-3deg;border:1px solid #7b96a778;border-radius:230px 230px 20px 20px;z-index:-1}
.contact-art>img{width:100%;height:435px;object-fit:cover;object-position:59% center;border-radius:200px 200px 16px 16px;box-shadow:0 20px 40px #3a586514}
.contact-art figcaption{position:absolute;left:0;right:0;bottom:4px;text-align:center;color:#4a6473;font:400 1.15rem/1.1 var(--serif)}
.contact-art figcaption em{font-size:1.2em;color:#324f60}.contact-spark{position:absolute;top:27px;right:16px;color:#f9eccb;font:400 4.5rem/1 var(--serif);text-shadow:0 0 25px #fff8}
.contact-card{display:grid;grid-column:1/-1;grid-template-columns:1fr 1fr 1.25fr;align-items:start;gap:22px 40px;padding:28px 34px;background:#f6f8f18a;border:1px solid #ffffffc7;border-radius:16px;box-shadow:0 8px 20px #46647207;backdrop-filter:blur(12px)}
.contact-identity h3{font-size:1.9rem;margin:12px 0 7px}.contact-identity>p{font-size:.65rem;line-height:1.65;color:#5f7783;margin:0}.contact-city{font-size:.57rem}
.contact-card .contact-item{border:0;border-left:1px solid #acbec780;margin:0;padding:5px 0 0 27px;min-height:110px}
.contact-item>span{font-size:.96rem}.contact-card .contact-notice{grid-column:1/-1;border-top:1px solid #bfced57a;padding-top:16px;margin:0;font-size:.58rem;line-height:1.8;color:#6b808a}
.footer{padding-top:50px}

/* Motion is activated only in visible scenes and respects the existing switch. */
@media(prefers-reduced-motion:no-preference){
 html[data-motion="on"] .is-in-view .journey-glint,html[data-motion="on"] .is-in-view .contact-spark{animation:discovery-turn 26s linear infinite}
 html[data-motion="on"] .is-in-view .reading-letter-a,html[data-motion="on"] .is-in-view .mentor-chip{animation:discovery-drift 6s ease-in-out infinite}
 html[data-motion="on"] .is-in-view .reading-letter-b{animation:discovery-drift 7s -3s ease-in-out infinite reverse}
 html[data-motion="on"] .is-in-view .reading-preview{animation:discovery-book 7s ease-in-out infinite}
 html[data-motion="on"] .reading-dots i{animation:discovery-dot 2.4s ease-in-out infinite}.reading-dots i:nth-child(2){animation-delay:.2s}.reading-dots i:nth-child(3){animation-delay:.4s}
 html[data-motion="on"] .credential-placeholder.is-in-view .credential-preview:after{animation:discovery-sheen 9s ease-in-out infinite}
 html[data-motion="on"] .credential-placeholder:nth-child(2) .credential-preview:after{animation-delay:2s}html[data-motion="on"] .credential-placeholder:nth-child(3) .credential-preview:after{animation-delay:4s}
 html[data-motion="on"] .format-art.is-in-view .detail-scene,html[data-motion="on"] .curiosity-art.is-in-view .detail-scene,html[data-motion="on"] .conversation-art.is-in-view{animation:discovery-drift 7s ease-in-out infinite}
 html[data-motion="on"] .format-art.is-in-view .detail-scene{animation-duration:8s}
 html[data-motion="on"] .portrait-composition.is-in-view .portrait-orbit ellipse{animation:discovery-dash 22s linear infinite}
 html[data-motion="on"] .scene-reveal{opacity:0;translate:0 35px;transition:opacity 1.1s var(--ease),translate 1.1s var(--ease);transition-delay:var(--reveal-delay,0ms)}
 html[data-motion="on"] .scene-reveal.is-in-view{opacity:1;translate:0 0}
 html[data-motion="on"] .price-card{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:translate .4s,box-shadow .4s,transform .4s}
}
@keyframes discovery-drift{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1deg)}}
@keyframes discovery-turn{to{rotate:360deg}}
@keyframes discovery-book{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(-2deg) translateY(-9px)}}
@keyframes discovery-dot{0%,60%,100%{opacity:.3;scale:1}30%{opacity:1;scale:1.4}}
@keyframes discovery-sheen{0%,65%{translate:-140% 0}85%,100%{translate:140% 0}}
@keyframes discovery-dash{to{stroke-dashoffset:-140}}

@media(min-width:1450px){.journey-image{aspect-ratio:1.14}.about{gap:110px}.format-art{height:270px}.format-art .detail-scene{width:310px}.contact-art>img{height:470px}}
@media(max-width:1100px){.journey-layout{gap:40px;grid-template-columns:1fr 1fr}.journey-caption{left:12px;right:-12px;padding:20px 17px;gap:11px}.journey-caption strong{font-size:1.27rem}.journey-caption small{font-size:.5rem}.journey-title{font-size:1.65rem}.journey-control{column-gap:13px}.journey-steps article>p{font-size:.72rem;margin-left:60px}.try-panel{padding:40px 35px;gap:35px}.reading-preview>p{font-size:1.7rem}.about{gap:65px}.about-copy h2{font-size:3rem}.portrait-composition .director-photo{height:520px}.mentor-chip{right:-12px;font-size:.56rem;padding:11px 14px}.credential-emblem{width:110px}.credentials-heading{gap:18px}.credentials-heading h2{font-size:3.1rem}.price-card{--card-inset:25px}.format-art{height:230px}.format-art .detail-scene{width:260px}.reviews-heading h2{font-size:3.6rem}.reviews-aside{width:230px}.conversation-art{width:230px}.review-card{padding:24px}.review-card blockquote{font-size:.76rem}.faq-section{gap:55px}.contact-inner{gap:35px 45px}.contact-copy h2{font-size:3.5rem}.contact-art>img{height:390px}.contact-card{gap:20px 25px;padding:27px}.contact-card .contact-item{padding-left:20px}.contact-item>span{font-size:.82rem}.contact-item .email-placeholder{font-size:.7rem}}
@media(max-width:800px){.section-label{font-size:.54rem;gap:10px;margin-bottom:17px}.approach-section>.section{padding-block:70px}.approach-section .section-heading{align-items:flex-start;gap:25px;margin-bottom:35px}.approach-section .section-intro{max-width:470px}.journey-layout{grid-template-columns:1fr;gap:35px}.journey-stage{max-width:550px;width:100%;margin:auto}.journey-image{aspect-ratio:1.17}.journey-caption{right:10px;left:25px}.journey-caption strong{font-size:1.55rem}.journey-steps{max-width:550px;width:100%;margin:auto!important}.journey-title{font-size:1.9rem}.journey-steps article>p{font-size:.78rem;max-width:400px;margin-left:60px}.journey-steps article.is-active{translate:0 0}.try-panel{grid-template-columns:1fr;max-width:620px;margin:55px auto 0;padding:35px 40px;gap:20px}.reading-object{width:100%;max-width:430px;margin:auto;padding:28px 25px}.reading-preview{padding:30px}.reading-preview>p{font-size:2rem}.reading-letter-a{left:0}.reading-letter-b{right:0}.about{padding-block:85px;gap:60px}.portrait-composition{max-width:420px;width:85%;margin-inline:auto}.portrait-composition .director-photo{height:500px}.mentor-chip{right:-35px}.portrait-orbit{inset:-25px -30px;width:calc(100% + 60px);height:calc(100% + 50px)}.about-copy .section-label{margin-bottom:20px}.credential-emblem{width:120px}.credentials-heading h2{font-size:3.25rem}.credentials-section .section-heading{gap:25px}.credentials-intro{max-width:500px}.price-grid{gap:30px}.price-card{--card-inset:30px}.format-art{height:270px}.format-art .detail-scene{width:310px}.price-card>p:not(.price-category){min-height:0}.reviews-section>.section{padding-block:60px 70px}.reviews-heading{flex-direction:row;align-items:center;gap:20px}.reviews-heading h2{font-size:3.1rem}.reviews-aside{min-height:180px;width:180px}.conversation-art{width:210px;left:-25px}.review-card{padding:30px}.review-card blockquote{font-size:.83rem}.review-grid{gap:20px}.faq-section{padding-block:70px;gap:35px;grid-template-columns:1fr}.faq-intro{padding-right:240px;min-height:250px}.faq-intro h2{font-size:3rem}.curiosity-art{position:absolute;right:-5px;top:15px;margin:0;width:225px;height:230px}.curiosity-art .detail-scene{width:225px}.curiosity-art figcaption{font-size:1.05rem}.faq-list{padding-top:0}.contact-inner{grid-template-columns:1fr 1fr;padding-block:60px 35px;gap:30px}.contact-copy h2{font-size:3.1rem}.contact-copy>p:not(.section-label){font-size:.77rem}.contact-art>img{height:330px}.contact-art figcaption{font-size:1rem}.contact-spark{font-size:3rem;right:0}.contact-card{grid-template-columns:1fr 1fr;gap:22px;padding:27px}.contact-identity{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:20px;align-items:center}.contact-identity .contact-city{grid-column:1;grid-row:1}.contact-identity h3{grid-column:1;grid-row:2;margin-bottom:0}.contact-identity>p{grid-column:2;grid-row:1/3;margin:0}.contact-card .contact-item{border:0;border-top:1px solid #b5c7cf70;padding:16px 0 0;min-height:0}.contact-card .contact-notice{font-size:.57rem}.contact-item>span{font-size:.86rem}.contact-item .email-placeholder{font-size:.73rem}}
@media(max-width:520px){.approach-section>.section{padding-block:55px}.approach-section .section-heading h2{font-size:2.75rem}.approach-section .section-intro{font-size:.76rem}.journey-layout{gap:27px}.journey-stage{padding-bottom:29px}.journey-image{aspect-ratio:1.03;border-radius:170px 170px 12px 12px}.journey-stage:before{inset:-8px 12px 40px -5px}.journey-caption{left:12px;right:0;padding:17px 15px;gap:11px;border-radius:10px}.journey-caption-number{font-size:2.5rem;min-width:34px}.journey-caption small{font-size:.45rem;margin-bottom:4px}.journey-caption strong{font-size:1.21rem;line-height:1}.journey-caption-arrow{font-size:1.1rem}.journey-glint{font-size:3.2rem;top:12px;right:17px}.journey-steps article{padding:10px 9px 13px 0}.journey-steps article+article{margin-top:3px}.journey-control{grid-template-columns:42px 1fr 18px;gap:13px}.journey-control .step-number{width:42px;height:42px;font-size:1.4rem}.journey-title{font-size:1.65rem;line-height:1}.journey-steps:before{left:20px}.journey-steps article>p{font-size:.72rem;line-height:1.85;margin:3px 5px 0 55px}.try-panel{padding:27px 22px;margin-top:42px;gap:17px}.try-intro .section-label{font-size:.5rem}.try-intro h3{font-size:2.15rem}.try-intro>p:not(.section-label){font-size:.74rem}.reading-object{padding:25px 11px}.reading-preview{padding:25px 24px}.reading-preview>p{font-size:1.65rem}.reading-page-label{font-size:.41rem;letter-spacing:.09em}.reading-letter{font-size:1.65rem;padding:10px}.reading-letter-a{top:-1px;left:-8px}.reading-letter-b{right:-6px;bottom:10px}.about{padding-block:75px;gap:58px}.portrait-composition{width:84%;padding:0 4px}.portrait-composition .director-photo{height:420px}.portrait-composition:before{inset:20px -15px -17px 17px}.mentor-chip{right:-25px;top:30px;font-size:.51rem;gap:7px;padding:10px 12px}.mentor-chip>span{font-size:1.1rem}.photo-note{left:-16px;bottom:20px;font-size:1rem;padding:15px 18px}.portrait-orbit{inset:-18px -22px;width:calc(100% + 44px);height:calc(100% + 36px)}.about-copy h2{font-size:2.75rem}.credentials-heading{gap:14px}.credentials-heading h2{font-size:2.65rem}.credential-emblem{width:80px;scale:1.25}.credentials-heading .section-label{font-size:.44rem;letter-spacing:.07em;gap:7px;margin-bottom:11px}.credentials-heading .section-label>span{width:21px;height:21px;font-size:.48rem}.credential-placeholder .credential-preview{aspect-ratio:1.4}.credential-placeholder .credential-outline{height:74%;width:48%}.price-card{--card-inset:27px}.format-art{height:250px}.format-art .detail-scene{width:285px}.format-number{left:23px;top:20px}.reviews-section>.section{padding-block:50px 60px}.reviews-heading{display:block;position:relative;padding-bottom:24px;margin-bottom:20px}.reviews-heading h2{font-size:2.8rem;max-width:85%}.reviews-aside{position:absolute;right:-5px;bottom:0;min-height:0;width:100px;height:130px;pointer-events:none}.conversation-art{width:155px;left:-25px;top:27%;opacity:.55}.reviews-aside .review-controls{pointer-events:auto;padding:0;gap:7px}.reviews-aside .review-controls button{width:32px;height:32px}.reviews-section .demo-note{font-size:.57rem;max-width:100%;line-height:1.8;margin-top:18px;margin-bottom:25px}.review-card{padding:27px}.review-card blockquote{font-size:.8rem}.faq-section{padding-block:60px;gap:25px}.faq-intro{padding-right:0;min-height:0}.faq-intro h2{font-size:2.8rem;max-width:300px}.faq-intro>p:not(.section-label){font-size:.76rem;max-width:260px}.curiosity-art{position:relative;top:auto;right:auto;margin:20px auto 0;width:230px;height:215px}.curiosity-art .detail-scene{width:230px}.curiosity-art figcaption{font-size:1.1rem}.faq-list details{padding-inline:9px}.faq-list summary{font-size:.74rem;padding-block:22px;gap:16px}.faq-list details p{font-size:.73rem}.contact-inner{display:grid;grid-template-columns:1fr;gap:30px;padding-block:45px 26px;width:calc(100% - 40px)}.contact-copy h2{font-size:3.1rem;max-width:330px}.contact-copy>p:not(.section-label){font-size:.76rem}.contact-art{max-width:380px;width:100%;margin:10px auto 0;padding-bottom:47px}.contact-art>img{height:340px}.contact-art:before{inset:-8px 8px 63px -6px}.contact-art figcaption{font-size:1.1rem}.contact-spark{right:8px;top:18px;font-size:3.4rem}.contact-card{padding:24px 20px;grid-template-columns:1fr;gap:19px}.contact-identity{display:block;grid-column:auto}.contact-identity h3{font-size:2rem;margin:11px 0}.contact-identity>p{font-size:.67rem}.contact-card .contact-item{padding-top:17px}.contact-item>span{font-size:1rem}.contact-item .email-placeholder{font-size:.77rem}.contact-card .contact-notice{font-size:.55rem;padding-top:15px}.contact-item em{font-size:.55rem}.section-label>span{width:23px;height:23px}.footer{padding-top:35px}}

@media(max-width:380px){.credential-emblem{display:none}.credentials-heading h2{font-size:2.6rem}.journey-title{font-size:1.5rem}.contact-copy h2{font-size:clamp(2.3rem,11.3vw,2.7rem)}.contact-card{padding-inline:17px}.contact-item .email-placeholder{font-size:.68rem}.reviews-heading h2{font-size:2.5rem}}
/* Real photographs supplied by the school for the etiquette course. */
.program-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 57%;transition:scale .6s var(--ease)}
.program-card:hover .program-photo{scale:1.035}
.format-art-real .format-photo{width:100%;height:100%;object-fit:cover;object-position:50% 47%;transition:scale .65s var(--ease)}
.format-art-real:after{background:linear-gradient(transparent 48%,#f8f9f5 100%)}
.price-card:hover .format-photo{scale:1.035}
#main-dialog:has(.etiquette-gallery),#main-dialog:has(.etiquette-viewer){width:min(980px,calc(100% - 28px))}
.etiquette-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:23px 0 30px}
.etiquette-gallery figure{margin:0;min-width:0}
.etiquette-gallery button{display:block;position:relative;width:100%;padding:0;border:1px solid #c4d2d8;border-radius:10px;overflow:hidden;background:#dce3e4;cursor:zoom-in}
.etiquette-gallery img{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;transition:scale .5s var(--ease)}
.etiquette-gallery button:hover img{scale:1.025}
.etiquette-gallery button>span{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#edf2edeb;color:#254554;font-size:1rem;border:1px solid #ffffffa0}
.etiquette-gallery figcaption{font:.67rem/1.7 var(--sans);color:#5e7785;margin:10px 2px 0}
.etiquette-viewer img{width:100%;height:64svh;object-fit:contain;background:#dfe6e8;border:1px solid #d0dce0;border-radius:9px;padding:10px;margin-bottom:20px}
.etiquette-viewer .text-link{font-size:.75rem}
@media(max-width:520px){.etiquette-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 13px}.etiquette-gallery figure:first-child{grid-column:1/-1}.etiquette-gallery figure:first-child img{aspect-ratio:4/3;object-position:50% 50%}.etiquette-gallery figcaption{font-size:.61rem;margin-top:7px}.etiquette-gallery button>span{right:8px;bottom:8px;width:27px;height:27px}.etiquette-viewer img{height:58svh;padding:6px}.etiquette-viewer h2{font-size:2.25rem}}
html[data-images="true"] :is(.program-photo,.format-photo,.etiquette-gallery){display:none}
/* Confirmed school information, biography and fees. */
.about{align-items:start}.about .portrait-composition{position:sticky;top:130px}
.about-copy .about-lead strong{font-weight:500;color:var(--ink)}
.teaching-since{display:inline-flex;align-items:center;gap:9px;font:.64rem/1.6 var(--sans);color:#4b6c7b;border:1px solid #b5c8d0;border-radius:50px;background:#e1e9ec78;padding:7px 13px;margin:0 0 21px}
.teaching-since:before{content:'';width:5px;height:5px;border-radius:50%;background:#739a8c}
.mentor-history{border-block:1px solid #c1cfd4;margin:24px 0;padding:0}
.mentor-history summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;font:.74rem/1.6 var(--sans);cursor:pointer}
.mentor-history summary::-webkit-details-marker{display:none}.mentor-history summary>span{font-size:1.25rem;color:#6b8b9a;transition:rotate .3s}.mentor-history[open] summary>span{rotate:45deg}
.mentor-history summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.mentor-timeline{list-style:none;margin:5px 0 23px;padding:0;display:grid;gap:21px}
.mentor-timeline>li{display:grid;grid-template-columns:44px 1fr;gap:17px;align-items:start}
.mentor-timeline>li>span{font:italic 1.4rem/1.1 var(--serif);color:#6b8b9a}
.mentor-timeline strong{font:500 .74rem/1.6 var(--sans);display:block}
.mentor-timeline p{font:.7rem/1.85 var(--sans);color:#5f7884;margin:4px 0 0}
.mentor-additional h3{font:400 1.65rem/1.05 var(--serif);margin:0 0 14px}
.mentor-additional ul{padding-left:18px;margin:0 0 17px;display:grid;gap:10px;font:.7rem/1.85 var(--sans);color:#536d79}
.mentor-additional>p{font:.7rem/1.85 var(--sans);color:#536d79;margin-bottom:22px}
.credentials-grid.has-documents{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1200px;margin:auto;gap:35px}
.has-documents .credential-preview{aspect-ratio:1.48;background:#f5f7f1a8}
.has-documents .credential-preview>img{padding:15px}
.has-documents .credential-caption strong{font-size:1.8rem;line-height:1.05}
.credential-description{display:block;font:.7rem/1.8 var(--sans);color:#607b88;margin:12px 4px 0}
.tariff-kicker{display:block;font:500 .58rem/1.6 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#657f8e;margin-bottom:12px}
.intro-session{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:32px;padding:30px 34px;margin-bottom:30px;background:linear-gradient(115deg,#dfe9ee,#f6f1e5);border:1px solid #c1d0d6;border-radius:16px}
.intro-session h3{font-size:2.3rem;line-height:1;margin:0 0 13px}.intro-session p{font:.75rem/1.8 var(--sans);color:#526c79;max-width:460px;margin:0}
.intro-session .tariff-kicker{margin-bottom:10px}
.intro-session-price{text-align:center;white-space:nowrap}.intro-session-price strong{display:block;font:400 3rem/1 var(--serif);letter-spacing:-.04em}.intro-session-price>span{font:.67rem/1.5 var(--sans);color:#5c7683;display:block;margin-top:9px}
.intro-session .button{font-size:.7rem;padding:14px 18px;gap:18px}
.prices-section .price-card{display:flex;flex-direction:column}.prices-section .format-art{flex-shrink:0}
.prices-section .price-card h3{font-size:2.2rem;line-height:.98;min-height:2em;margin-bottom:17px}
.prices-section .price-card .tariff-programs{font-size:.76rem;line-height:1.85;min-height:5.55em;margin-bottom:10px;max-width:none}
.prices-section .price-card .price{margin-top:auto;padding-top:19px;margin-bottom:24px;white-space:nowrap}
.prices-section .price-card .price small{white-space:normal;font-size:.61rem;line-height:1.65;display:block;margin-top:10px}
.prices-section .price-card>.button{margin-top:0}
.individual-session{display:grid;grid-template-columns:1.2fr 1fr;gap:24px 40px;align-items:center;padding:33px 35px;margin-top:30px;border:1px solid #c8d5da;border-radius:15px;background:#ffffff6b}
.individual-session h3{font-size:2.15rem;line-height:1;margin:0 0 15px}.individual-session>div>p{font:.74rem/1.85 var(--sans);color:#586f7c;max-width:540px;margin:0}
.individual-rates{display:flex;align-items:center;justify-content:flex-end;gap:30px}
.individual-rates>p+p{border-left:1px solid #c5d2d8;padding-left:30px}
.individual-rates strong{font:400 2.55rem/1 var(--serif);color:var(--ink);letter-spacing:-.045em;display:block;white-space:nowrap}
.individual-rates span{display:block;font:.6rem/1.6 var(--sans);color:#68818f;margin-top:10px}
.individual-session>.text-link{grid-column:1/-1;justify-self:start;margin-top:-5px}
.course-prices{background:#e3ecee;border:1px solid #c8d9df;border-radius:10px;padding:20px 22px;margin-top:22px}
.dialog-body .course-prices h3{font-size:1.85rem;margin:0 0 14px}.course-prices dl{margin:0;display:grid;gap:11px}
.course-prices dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;font:.71rem/1.75 var(--sans)}
.course-prices dt{color:#536d7a}.course-prices dd{white-space:nowrap;margin:0;font-weight:600;color:#294555}
.booking-price{padding:14px 17px;background:#e1e9eb;border-left:2px solid #6e91a4;border-radius:5px;margin-bottom:17px}
.booking-price strong{font:500 .85rem/1.6 var(--sans);color:#2b4959;display:block}.booking-price span{font:.68rem/1.6 var(--sans);color:#647e8a}
@media(max-width:1100px){.intro-session{grid-template-columns:1fr auto;gap:23px}.intro-session>.button{grid-column:1/-1;justify-self:start}.individual-session{grid-template-columns:1fr}.individual-rates{justify-content:flex-start}.prices-section .price-card h3{font-size:2rem}.credentials-grid.has-documents{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
@media(max-width:800px){.about .portrait-composition{position:relative;top:auto}.intro-session{padding:28px}.individual-session{padding:29px}.credentials-grid.has-documents{gap:22px}.has-documents .credential-caption strong{font-size:1.55rem}.credential-description{font-size:.64rem}.prices-section .price-card h3{font-size:2.4rem;min-height:0}.prices-section .price-card .tariff-programs{min-height:0;margin-bottom:19px}.prices-section .price-card .price{padding-top:0}}
@media(max-width:520px){.mentor-history summary{font-size:.7rem;gap:14px}.mentor-timeline>li{gap:13px}.mentor-timeline strong{font-size:.7rem}.mentor-timeline p,.mentor-additional ul,.mentor-additional>p{font-size:.67rem}.teaching-since{font-size:.59rem}.credentials-grid.has-documents{grid-template-columns:1fr;gap:30px}.has-documents .credential-preview{aspect-ratio:1.45}.has-documents .credential-preview>img{padding:10px}.has-documents .credential-caption strong{font-size:1.75rem}.credential-description{font-size:.65rem;margin-top:10px}.intro-session{grid-template-columns:1fr;padding:26px 23px;gap:20px}.intro-session h3{font-size:2.2rem}.intro-session p{font-size:.72rem}.intro-session-price{text-align:left;display:flex;align-items:baseline;gap:16px}.intro-session-price strong{font-size:2.8rem}.intro-session-price>span{font-size:.67rem;margin:0}.intro-session>.button{grid-column:auto;font-size:.69rem}.prices-section .price-card h3{font-size:2.3rem}.prices-section .price-card .tariff-programs{font-size:.76rem}.tariff-kicker{font-size:.53rem}.individual-session{padding:27px 23px;gap:24px}.individual-session h3{font-size:2rem}.individual-session>div>p{font-size:.7rem}.individual-rates{gap:22px}.individual-rates>p+p{padding-left:22px}.individual-rates strong{font-size:2.05rem}.individual-rates span{font-size:.54rem}.course-prices{padding:18px 16px}.course-prices dl>div{font-size:.66rem;gap:15px}.dialog-body .course-prices h3{font-size:1.65rem}}
@media(max-width:380px){.individual-rates{gap:15px}.individual-rates>p+p{padding-left:15px}.individual-rates strong{font-size:1.85rem}.individual-rates span{font-size:.5rem}.prices-section .price-card h3{font-size:2.1rem}.course-prices dl>div{align-items:start;flex-wrap:wrap;gap:3px 14px}.course-prices dd{margin-left:auto}}
html:is([data-font="large"],[data-font="xl"],[data-spacing="true"]) .intro-session,html:is([data-font="large"],[data-font="xl"],[data-spacing="true"]) .individual-session{grid-template-columns:1fr}
html:is([data-font="large"],[data-font="xl"],[data-spacing="true"]) .intro-session-price{text-align:left}
html:is([data-font="large"],[data-font="xl"],[data-spacing="true"]) .individual-rates{flex-wrap:wrap;justify-content:flex-start}
html:is([data-font="large"],[data-font="xl"],[data-spacing="true"]) .about .portrait-composition{position:relative;top:auto}
html:is([data-font="large"],[data-font="xl"],[data-spacing="true"]) .course-prices dl>div{flex-wrap:wrap}
/* Decorative art never displaces readable content in accessible display modes. */
html[data-images="true"] :is(.detail-scene,.journey-stage,.reading-object,.portrait-orbit,.mentor-chip,.contact-art,.credential-emblem,.curiosity-art,.format-art,.reviews-aside .conversation-art){display:none}
html[data-images="true"] .journey-layout{grid-template-columns:1fr}
html[data-images="true"] .portrait-composition:before{display:none}
html:is([data-font="large"],[data-font="xl"],[data-spacing="true"]) :is(.journey-layout,.try-panel,.contact-inner,.contact-card,.faq-section){grid-template-columns:1fr}
html:is([data-font="large"],[data-font="xl"],[data-spacing="true"]) .journey-title{font-size:1.8rem;line-height:1.3}
html:is([data-font="large"],[data-font="xl"],[data-spacing="true"]) .journey-steps article>p{font-size:.9rem}
html:is([data-font="large"],[data-font="xl"],[data-spacing="true"]) .journey-caption{position:relative;inset:auto;margin-top:10px}
html:is([data-font="large"],[data-font="xl"],[data-spacing="true"]) .faq-intro{padding:0}
html:is([data-font="large"],[data-font="xl"],[data-spacing="true"]) .curiosity-art{position:relative;inset:auto}
html:is([data-font="large"],[data-font="xl"],[data-spacing="true"]) .reviews-heading{display:block;padding:0}
html:is([data-font="large"],[data-font="xl"],[data-spacing="true"]) .reviews-aside{position:relative;inset:auto;width:100%;min-height:0;height:auto;margin-top:25px}
html:is([data-font="large"],[data-font="xl"],[data-spacing="true"]) .conversation-art{display:none}
html:is([data-font="large"],[data-font="xl"],[data-spacing="true"]) .contact-identity{display:block;grid-column:auto}
html:is([data-font="large"],[data-font="xl"],[data-spacing="true"]) .contact-item{border:0;padding:0}
html:is([data-font="large"],[data-font="xl"],[data-spacing="true"]) .credentials-heading{display:block}
html:is([data-font="large"],[data-font="xl"],[data-spacing="true"]) .credential-emblem{display:none}
html:is([data-font="large"],[data-font="xl"],[data-spacing="true"]) .credentials-heading h2{font-size:2.3rem;overflow-wrap:anywhere}
html[data-theme]:not([data-theme="normal"]) :is(.detail-scene,.journey-route,.journey-glint,.portrait-orbit,.mentor-chip,.reading-orbit,.reading-letter,.contact-spark){display:none}
html[data-theme]:not([data-theme="normal"]) .reviews-section{background:var(--bg);color:var(--ink)}
html[data-theme]:not([data-theme="normal"]) .reviews-section :is(h2 em,.section-label,.demo-note,blockquote,strong,small){color:var(--ink)}
html[data-theme]:not([data-theme="normal"]) .reviews-section:after,html[data-theme]:not([data-theme="normal"]) .portrait-composition:before{display:none}
html[data-theme]:not([data-theme="normal"]) .journey-stage:before{display:none}
html[data-motion="off"] .scene-reveal{opacity:1;translate:none}
html[data-motion="off"] .route-ink{stroke-dashoffset:0}
@media(prefers-reduced-motion:reduce){.scene-reveal{opacity:1!important;translate:none!important}.route-ink{stroke-dashoffset:0}.living-scene *{animation:none!important;transition:none!important}.scroll-scene img{translate:0 0!important}}
