@font-face{font-family:CollegeMaruSoft;src:url('assets/v17/maru-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:CollegeKaku;src:url('assets/v17/sans-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:CollegeKaku;src:url('assets/v17/sans-700.ttf') format('truetype');font-weight:700;font-display:swap}@font-face{font-family:CollegeMaru;src:url('assets/v17/maru-900.ttf') format('truetype');font-weight:900;font-display:swap}
:root{--paper:#f7f2ee;--peach:#f4e5db;--hero:#efe0d7;--ink:#3d332c;--orange:#f47e36;--orange-ink:#a33f0c;--blue:#56b9c6;--teal:#176b73;--line:#dacbc1;--body:CollegeKaku,'Hiragino Kaku Gothic ProN',sans-serif;--round:CollegeMaru,'Hiragino Maru Gothic ProN',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:20px;line-height:2.05;letter-spacing:.09em;-webkit-text-size-adjust:100%}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}a,button,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button,summary,a{touch-action:manipulation}button{border:0}img{max-width:100%;height:auto;display:block}svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;width:1.3em;height:1.3em;flex-shrink:0}h1,h2,h3,p,figure,ol,ul,dl,dd{margin:0}h1,h2{font-family:var(--round);font-weight:900;letter-spacing:.13em;line-height:1.8}h2{font-size:clamp(32px,3vw,46px);margin:20px 0 36px}h3{font-size:25px;line-height:1.8;letter-spacing:.08em}p+p{margin-top:1.2em}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #126d79;outline-offset:6px}button:hover,a:hover{filter:brightness(.96)}.wrap{width:min(1120px,calc(100% - 100px));margin-inline:auto}.section{padding-block:110px}.eyebrow{font-size:18px;font-weight:700;letter-spacing:.14em;color:var(--orange-ink);display:flex;align-items:center;gap:13px;line-height:1.6}.eyebrow:before{content:'';width:10px;height:10px;flex-shrink:0;border-radius:50%;background:var(--orange)}.chapter-intro{max-width:800px;margin-bottom:64px}.chapter-intro>p:last-child:not(.eyebrow){max-width:38em}.note,.hours,figcaption{font-size:18px;line-height:1.95;letter-spacing:.06em}.lead{font-size:26px;font-weight:700;line-height:1.95;margin-bottom:24px}.inline-copy{display:inline}.pill-link{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--orange);border-radius:100px;font-weight:700;padding:21px 34px;min-height:72px;max-width:520px;letter-spacing:.16em}.pill-link span{font-size:18px;flex-shrink:0}.skip{position:fixed;top:-100px;left:20px;z-index:200;background:white;padding:12px 24px}.skip:focus{top:10px}
.header{position:sticky;top:0;background:var(--paper);z-index:50}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1500px;margin:auto;min-height:120px;padding-left:40px}.brand{display:block;min-width:0;line-height:1.6}.brand-small{display:block;font-size:18px;letter-spacing:.08em;margin-bottom:3px}.brand-name{display:block;font-family:var(--round);font-size:38px;font-weight:900;letter-spacing:.12em}.header-tabs{display:flex;align-self:stretch;gap:8px}.header-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:16px 24px;width:110px;border-radius:0 0 28px 28px;line-height:1.5;font-size:20px;font-weight:700;letter-spacing:.08em}.header-tab svg{width:26px;height:26px}.fee-tab{background:var(--blue)}.call-tab{background:var(--orange)}.menu-button{background:var(--ink);color:white;min-width:122px}.menu-lines{display:block;width:42px;height:20px;border-top:2px solid white;border-bottom:2px solid white;margin:4px 0}.menu-open .menu-lines{transform:rotate(90deg)}#navigation{display:none;position:absolute;right:20px;top:100%;width:min(650px,calc(100vw - 40px));padding:30px 40px;background:white;border-radius:24px;box-shadow:0 10px 30px #40352e18;border:1px solid var(--line);max-height:calc(100dvh - 130px);overflow:auto}.menu-open #navigation{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px}#navigation a{display:block;border-bottom:1px dotted var(--line);padding:16px 0;font-weight:700;font-size:20px}
.notebook{position:relative;background:white;border-radius:28px}.rings{position:absolute;top:-16px;left:18px;right:18px;height:32px;z-index:4;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='32' viewBox='0 0 25 32'%3E%3Cpath d='M7 24C3 19 3 7 8 4C15 0 19 7 18 12' fill='none' stroke='%23c6d4d8' stroke-width='1.7' stroke-linecap='round'/%3E%3Crect x='3' y='23' width='8' height='8' rx='3' fill='%23f4f0ee'/%3E%3C/svg%3E");background-repeat:repeat-x;background-size:25px 32px;pointer-events:none}.person{display:block;aspect-ratio:1/1;background-image:url('assets/v9/people.webp');background-repeat:no-repeat;background-size:400% 300%;width:170px;flex-shrink:0}.person-1{background-position:0 0}.person-2{background-position:33.333% 0}.person-3{background-position:66.667% 0}.person-4{background-position:100% 0}.person-5{background-position:0 50%}.person-6{background-position:33.333% 50%}.person-7{background-position:66.667% 50%}.person-8{background-position:100% 50%}.person-9{background-position:0 100%}.person-10{background-position:33.333% 100%}.person-11{background-position:66.667% 100%}.person-12{background-position:100% 100%}
.hero{margin:36px 22px 0;padding:34px 24px 24px;border-radius:38px}.hero-canvas{position:relative;background:var(--hero);border-radius:24px;height:690px;overflow:hidden}.hero-people{position:absolute;inset:0}.hero-people .person{position:absolute;width:175px}.hero-people .person-1{top:-40px;left:5%}.hero-people .person-2{top:13%;left:28%}.hero-people .person-3{top:3%;right:16%}.hero-people .person-4{top:35%;right:1%}.hero-people .person-5{top:38%;left:5%}.hero-people .person-6{bottom:-20px;left:24%}.hero-people .person-7{bottom:7%;right:23%}.hero-people .person-8{bottom:34%;right:22%}.hero-people .person-9{top:-11%;left:50%}.hero-people .person-10{bottom:0;left:0}.hero-people .person-11{top:48%;left:27%}.hero-people .person-12{bottom:-20px;right:0}.hero h1{position:absolute;top:47%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:row-reverse;align-items:flex-start;gap:9px;font-size:40px;line-height:1.4;letter-spacing:.17em;width:max-content;max-width:65%;z-index:3}.hero h1>span{writing-mode:vertical-rl;background:white;border-radius:20px;padding:22px 15px;display:block;white-space:nowrap}.hero h1>span+span{margin-top:48px}.trip-stamp{position:absolute;top:0;right:0;width:146px;background:white;border-radius:0 0 0 27px;padding:18px 10px 22px;z-index:3;text-align:center;line-height:1.5;letter-spacing:.04em}.trip-stamp>span{font-size:18px;color:var(--orange-ink);font-weight:700}.trip-stamp strong{display:block;font-size:46px;letter-spacing:0}.trip-stamp strong span{font-size:22px}.balloon{position:absolute;display:block;background:#eb947f;border-radius:55% 55% 8% 55%;padding:7px 18px;line-height:1.8;font-size:18px;letter-spacing:.08em;z-index:2}.balloon-1{top:24%;left:-10px;background:#c3dba9}.balloon-2{bottom:24%;right:5%;transform:rotate(-6deg)}.balloon-3{bottom:2%;left:45%;background:#f0a25f}.hero-scroll{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);width:45px;height:45px;border-radius:50%;background:white;display:grid;place-items:center;line-height:1;z-index:5}
.about{background:var(--peach);margin:22px 22px 0;padding-bottom:130px}.about>.wrap{max-width:730px}.about .eyebrow{margin-bottom:32px}.hand-heading{position:relative;font-size:clamp(32px,3.3vw,48px);margin-top:16px;line-height:1.9}.hand-heading>span{display:inline}.hand-heading:after{content:'';display:block;width:70%;max-width:380px;height:12px;margin-top:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='20' viewBox='0 0 400 20'%3E%3Cpath d='M2 15Q50 -5 85 10T150 8T220 11T300 12T398 5' fill='none' stroke='%23ed9b4d' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat}.intro-copy{max-width:34em;margin-block:46px}.intro-copy>p:first-child{font-size:24px;font-weight:700}.about .pill-link{max-width:none}.photo-montage{width:min(1100px,100%);margin:100px auto 0;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:50px 60px;padding-inline:24px}.photo-montage figure{border-radius:25px;overflow:hidden;aspect-ratio:1.7}.photo-montage img{width:100%;height:100%;object-fit:cover}.montage-one{transform:rotate(-3deg);grid-column:1;grid-row:1}.montage-two{transform:rotate(4deg);grid-column:2;grid-row:1;margin-top:80px}.montage-three{transform:rotate(-2deg);grid-column:1 / 3;width:64%;justify-self:center}.montage-one img{object-position:50% 44%}.montage-three img{object-position:center 50%}
.orange-section{background:var(--orange);margin:0 22px;position:relative}.orange-section:before,.orange-section:after{content:'';position:absolute;left:0;right:0;height:75px;background:var(--peach);pointer-events:none;clip-path:polygon(0 0,100% 0,100% 30%,95% 47%,90% 62%,85% 70%,80% 72%,75% 67%,70% 56%,65% 42%,60% 28%,55% 18%,50% 13%,45% 15%,40% 24%,35% 39%,30% 55%,25% 69%,20% 78%,15% 75%,10% 64%,5% 45%,0 25%)}.orange-section:before{top:-1px}.orange-section:after{bottom:-1px;transform:rotate(180deg);background:white}.flow{padding-block:160px}.flow .eyebrow{color:var(--ink)}.flow .eyebrow:before{background:#ffef81}.flow .hand-heading:after{filter:brightness(2)}.flow .section-lead{max-width:32em}.calendar-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:88px}.calendar-card{padding:30px 24px 34px;transform:rotate(-5deg);box-shadow:7px 9px 0 #c4571526}.calendar-card:nth-child(2){transform:rotate(4deg);margin-top:36px}.calendar-card:nth-child(3){transform:rotate(-3deg);margin-top:-10px}.card-top{display:flex;align-items:center;justify-content:space-between;gap:15px;font-weight:700;font-size:18px;line-height:1.5}.card-top b{font-size:46px;letter-spacing:0}.card-top small{font-size:18px;margin-left:6px}.calendar-card>.person{width:80%;margin:20px auto;background-color:var(--peach);border-radius:15px}.calendar-card:nth-child(2)>.person{background-color:#e0eff0}.calendar-card:nth-child(3)>.person{background-color:#e5efd9}.calendar-card h3{font-family:var(--round);font-weight:900;font-size:24px;letter-spacing:.05em}.calendar-card p{font-size:20px;margin-top:20px}.flow-note{margin-top:66px;font-weight:700}
.travel{background:white;margin-inline:22px;overflow:hidden}.experiences{display:flex;gap:40px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--blue) #eee;padding:8px 8px 32px;scroll-padding-left:8px}.experience{flex:0 0 45%;scroll-snap-align:start;min-width:0}.experience figure{position:relative;aspect-ratio:1.45;border-radius:20px;background:var(--peach);margin-bottom:32px}.experience img{width:100%;height:100%;object-fit:cover;border-radius:20px}.experience figure:after{content:'';position:absolute;inset:12px;border:1px solid white;border-radius:12px;pointer-events:none}.experience figcaption{position:absolute;bottom:12px;left:12px;background:white;padding:4px 14px;border-radius:0 12px 0 12px;z-index:1}.experience figcaption>span{color:var(--orange-ink);font-weight:700;margin-right:10px}.experience-person{width:auto;height:100%;margin:auto;aspect-ratio:1}.experience-copy h3{font-family:var(--round);font-weight:900;margin-bottom:18px}.rail-controls{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:24px}.rail-controls>span{margin-right:auto;font-size:18px}.rail-controls button{width:56px;height:56px;border-radius:50%;background:white;border:2px solid var(--orange);font-size:26px;line-height:1}.disclosure{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:50px}.disclosure+ .disclosure{border-top:0}.disclosure summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:22px;font-weight:700;padding:25px 0;cursor:pointer}.disclosure summary::-webkit-details-marker,.faq summary::-webkit-details-marker{display:none}.disclosure summary>span{width:1.2em;flex-shrink:0;text-align:center;color:var(--orange-ink)}.disclosure[open] summary>span{transform:rotate(45deg)}.disclosure-body{padding:5px 0 30px}.route-list,.curriculum{list-style:none;padding:0}.route-list li,.curriculum li{display:grid;grid-template-columns:120px 1fr;gap:25px;border-top:1px dotted var(--line);padding:22px 0}.route-list li:first-child,.curriculum li:first-child{border-top:0}.route-list strong,.curriculum span{font-weight:700;color:var(--teal)}.disclosure-body>.note{margin-top:24px}
.lessons{background:var(--peach);margin-inline:22px}.lesson-story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.lesson-story>div p+p{margin-top:24px}.lesson-story figure{transform:rotate(-3deg)}.lesson-notebook{padding:42px 25px 28px;text-align:center}.lesson-notebook .person{width:80%;margin:auto;background-color:#e3eff0;border-radius:20px}.lesson-notebook>span:last-child{font-family:var(--round);font-weight:900;display:block;margin-top:20px;font-size:25px}.lesson-story figcaption{margin-top:25px}.subjects{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:80px}.subject{position:relative;display:flex;align-items:start;gap:22px;padding:40px 30px;background:white;border-radius:20px}.subject svg{width:38px;height:38px;color:var(--orange-ink);margin-top:8px}.subject h3{font-family:var(--round);font-weight:900;margin-bottom:10px}.subject p{font-size:20px}.lesson-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:60px;padding-block:35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.lesson-facts strong{display:block;font-size:23px}.lesson-facts span{font-size:18px;display:block;margin-top:10px}.trip-break{background:#fff8ed;padding-inline:15px!important;border-radius:12px}
.memories{background:white;margin-inline:22px}.memory-layout{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:70px}.memory-copy h2{font-size:36px}.memory-album{background:var(--peach);padding:50px 20px 30px;transform:rotate(4deg);box-shadow:10px 10px 0 #e6eff0}.memory-album>div{display:flex}.memory-album .person{width:50%}.memory-album p{text-align:center;font-family:var(--round);font-weight:900;font-size:23px;margin-top:30px}.album-note{margin-top:36px;padding-top:28px;border-top:1px dotted var(--line)}.album-note .tag{display:block;color:var(--orange-ink);font-size:18px;font-weight:700}.album-note h3{font-size:24px;margin:12px 0 20px}.stay{background:var(--paper);margin-inline:22px}.stay-gallery{display:grid;grid-template-columns:1fr 1fr;gap:44px}.photo-button{padding:0;background:white;display:block;text-align:left;border-radius:22px;overflow:hidden;transform:rotate(-2deg)}.photo-button:nth-child(2){transform:rotate(3deg);margin-top:45px}.photo-button img{width:100%;height:330px;object-fit:cover}.photo-button>span{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 25px;font-size:20px;font-weight:700}.photo-button>span svg{width:25px;height:25px;color:var(--orange-ink)}.room-facts{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:70px;margin-bottom:24px}.room-facts>div{display:flex;gap:18px;align-items:start}.room-facts svg{width:36px;height:36px;color:var(--orange-ink);margin-top:8px}.room-facts strong{display:block}.room-facts span{display:block;font-size:18px;margin-top:12px}
.fee{background:var(--peach);margin-inline:22px}.price-sheet{background:white;padding:50px;border-radius:28px;position:relative}.price-sheet:before,.price-sheet:after{content:'';position:absolute;top:23px;width:9px;height:9px;background:var(--peach);border-radius:50%}.price-sheet:before{left:22px}.price-sheet:after{right:22px}.price-main{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;padding-bottom:40px;border-bottom:1px dotted var(--line)}.price-label{font-weight:700}.price{font-size:clamp(42px,5vw,65px);font-weight:700;color:var(--orange-ink);line-height:1.55;letter-spacing:0;margin-top:10px;white-space:nowrap}.price span{font-size:.42em;margin-left:6px}.flight{display:flex;align-items:center;gap:12px;margin-top:25px}.food-summary{padding-left:40px;border-left:1px dotted var(--line)}.food-summary>svg{width:45px;height:45px;color:var(--orange-ink);margin:0 0 12px}.food-summary h3{font-family:var(--round);font-weight:900}.food-summary .note{margin-top:14px}.album-included{font-weight:700;font-size:20px}.inclusions{padding-block:36px}.inclusions h3{margin-bottom:28px}.inclusions ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:24px 40px}.inclusions li{display:flex;gap:16px;align-items:start}.inclusions svg{margin-top:8px;color:var(--orange-ink)}.fee-notes{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding-top:32px;border-top:1px dotted var(--line)}.fee-notes h3{font-size:22px;margin-bottom:15px}.fee-notes strong{white-space:nowrap}.fee-notes p+p{margin-top:12px}.participation{margin-top:55px}.participation>div{display:grid;grid-template-columns:210px 1fr;gap:35px;padding:25px 0;border-bottom:1px solid var(--line)}.participation dt{font-weight:700}.participation dd>span{display:block;font-size:18px;margin-top:12px}.phone-strip{display:flex;align-items:center;justify-content:space-between;gap:30px;border-radius:22px;padding:32px 40px;background:var(--orange);color:var(--ink)}.price-phone{margin-top:50px}.phone-label{font-size:18px;line-height:1.8;letter-spacing:.04em}.school{font-size:24px;display:block;margin-top:8px;letter-spacing:.1em}.phone-number{display:flex;align-items:center;justify-content:center;gap:14px;font-size:36px;line-height:1.6;font-weight:700;letter-spacing:.02em;min-height:60px}.phone-number>span{min-width:0}.phone-number svg{width:30px;height:30px}.hours{background:white;border-radius:60px;text-align:center;margin-top:10px;padding:3px 20px}
.questions{background:white;margin-inline:22px}.faq-list{border-top:1px solid var(--line)}.faq{border-bottom:1px solid var(--line)}.faq summary{list-style:none;display:grid;grid-template-columns:1.2em minmax(0,1fr) 1.2em;gap:18px;padding:27px 0;cursor:pointer;font-weight:700;font-size:22px;line-height:1.9}.faq .q{color:var(--orange-ink);font-weight:700}.faq i{font-style:normal;color:var(--orange-ink)}.faq[open] i{transform:rotate(45deg)}.answer{padding:0 40px 32px;line-height:2.05}.contact{background:white;margin-inline:22px;padding-top:50px}.contact>.wrap{background:var(--orange);padding:65px 55px;border-radius:24px}.contact .eyebrow{color:var(--ink);justify-content:center}.contact .eyebrow:before{background:#ffee7a}.contact h2{font-family:var(--body);font-weight:700;font-size:30px;text-align:center;max-width:26em;margin:25px auto}.contact-lead{text-align:center;max-width:34em;margin:0 auto 30px}.contact-phone{padding:15px 0 0;max-width:870px;margin:auto}.contact-phone .school{font-size:24px}.contact-phone .phone-number{font-size:43px;letter-spacing:.02em}.contact-phone .phone-label{font-size:18px}.company{background:white;margin-inline:22px;padding-top:20px}.company-table>div{display:grid;grid-template-columns:190px minmax(0,1fr);gap:40px;padding:24px 0;border-bottom:1px solid var(--line)}.company-table dt{font-weight:700}.company-table dd{overflow-wrap:anywhere}.company-table ul{padding-left:1.3em}.company-table li+li{margin-top:18px}
.footer{margin:0 22px 35px;background:white;border-radius:0 0 35px 35px;overflow:hidden}.footer-links{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding-block:50px 65px;border-bottom:5px dotted #f0eeeb}.footer-links a{font-weight:700;line-height:1.8}.footer-links a>span{display:block;color:var(--orange-ink);font-size:18px;letter-spacing:.1em;margin-bottom:12px}.footer-company{padding-top:70px}.footer-brand{font-family:var(--round);font-size:42px;font-weight:900;letter-spacing:.16em;display:inline-block;margin-bottom:25px}.footer-company p{margin-top:8px}.footer-company>div{display:flex;gap:30px;margin-top:24px;font-size:18px;flex-wrap:wrap}.footer-company a:not(.footer-brand),.footer-company button{text-decoration:underline;text-underline-offset:6px}.footer-company button{background:none;padding:0;font-size:18px;line-height:2}.footer-landscape{position:relative;margin-top:30px}.footer-landscape>img{width:100%;aspect-ratio:2;object-fit:cover}.footer-landscape small{position:absolute;left:50px;top:25%;font-size:18px;letter-spacing:.15em;font-weight:700}.back-top{display:flex;align-items:center;justify-content:center;flex-direction:column;position:absolute;bottom:24px;left:50%;transform:translateX(-50%);width:80px;height:88px;border-radius:25px 25px 12px 12px;background:var(--blue);font-size:23px;line-height:1.4;font-weight:700}.back-top span{font-size:18px}
dialog{border:0;border-radius:20px;background:white;color:var(--ink);padding:60px 35px 30px;max-width:min(900px,calc(100vw - 30px));max-height:90dvh;overflow:auto}dialog::backdrop{background:#2a221ebf}.close-dialog{position:absolute;right:18px;top:14px;background:var(--paper);padding:8px 18px;border-radius:50px;font-size:18px;min-height:44px}.photo-dialog img{max-height:70dvh;max-width:100%;width:auto;margin:auto;object-fit:contain}.photo-dialog p{font-size:18px;margin-top:20px}.text-dialog{max-width:760px}.text-dialog h2{font-size:28px}.text-dialog a{text-decoration:underline}
@media(min-width:1600px){.hero{max-width:1500px;margin-inline:auto}.about,.orange-section,.travel,.lessons,.memories,.stay,.fee,.questions,.contact,.company,.footer{max-width:1500px;margin-inline:auto}}
@media(max-width:1000px){.wrap{width:calc(100% - 70px)}.header-inner{min-height:98px;padding-left:24px}.brand-name{font-size:30px}.brand-small{font-size:18px;max-width:280px}.header-tab{width:86px;padding:12px 15px;border-radius:0 0 22px 22px;font-size:18px}.menu-button{min-width:100px}.hero-people .person{width:155px}.hero-people .person-2{left:24%}.hero-people .person-8{right:19%}.hero-people .person-11{left:22%}.calendar-cards{gap:20px}.calendar-card{padding:24px 20px}.calendar-card h3{font-size:22px}.lesson-story{gap:45px}.memory-layout{gap:40px}.phone-strip{flex-direction:column;text-align:center;gap:20px}.phone-action{min-width:0}.phone-number{font-size:36px}.price-sheet{padding:35px}.price-main{gap:25px}.food-summary{padding-left:25px}.contact-phone .phone-number{font-size:40px}.footer-links{grid-template-columns:repeat(2,1fr)}.hero h1{font-size:36px}.hero-canvas{height:700px}}
@media(max-width:700px){html{scroll-padding-top:110px}body{font-size:20px;line-height:2.05;letter-spacing:.08em}.header-inner{padding-left:15px;gap:8px;min-height:92px}.brand-name{font-size:24px;letter-spacing:.08em}.brand-small{font-size:18px;letter-spacing:.02em;max-width:185px;line-height:1.5}.header-tabs{gap:4px}.header-tab{width:66px;padding:10px 8px;font-size:18px;gap:6px;border-radius:0 0 18px 18px}.header-tab svg{width:22px;height:22px}.menu-button{min-width:84px}.menu-lines{width:32px;height:16px;margin:5px 0}.header-tab>span:last-child{white-space:nowrap;letter-spacing:0}#navigation{right:12px;width:calc(100vw - 24px);padding:18px 25px;max-height:calc(100dvh - 110px)}.menu-open #navigation{grid-template-columns:1fr;gap:0}#navigation a{font-size:20px;padding:14px 0}.wrap{width:calc(100% - 48px)}.section{padding-block:75px}.eyebrow{font-size:18px;letter-spacing:.12em;gap:12px}.eyebrow:before{width:8px;height:8px}h2,.hand-heading{font-size:32px;line-height:1.85;letter-spacing:.13em;margin-block:24px 35px}h3{font-size:24px;line-height:1.85}.hand-heading>span{display:inline}.chapter-intro{margin-bottom:45px}.lead{font-size:23px;line-height:2}.pill-link{padding:20px 27px;min-height:70px;font-size:20px;letter-spacing:.11em;gap:16px}.pill-link span{font-size:16px}.note,.hours,figcaption{font-size:18px;line-height:2}.hero{margin:30px 7px 0;padding:30px 15px 15px;border-radius:25px}.rings{left:12px;right:12px;top:-13px;height:28px;background-size:23px 28px}.hero-canvas{height:690px;border-radius:15px}.hero h1{font-size:31px;letter-spacing:.18em;gap:4px;top:49%;max-width:none;line-height:1.45}.hero h1>span{padding:18px 9px;border-radius:15px}.hero h1>span+span{margin-top:45px}.trip-stamp{width:91px;padding:12px 8px 20px;border-radius:0 0 0 20px}.trip-stamp>span{font-size:18px}.trip-stamp strong{font-size:31px;white-space:nowrap}.trip-stamp strong span{font-size:18px;margin:0 1px}.hero-people .person{width:113px}.hero-people .person-1{top:-30px;left:0}.hero-people .person-2{top:7%;left:39%}.hero-people .person-3{top:25%;right:-5%}.hero-people .person-4{top:47%;right:-4%}.hero-people .person-5{top:24%;left:-5%}.hero-people .person-6{bottom:-22px;left:36%}.hero-people .person-7{bottom:22%;left:-6%;right:auto}.hero-people .person-8{bottom:9%;right:-4%}.hero-people .person-9{top:61%;left:37%;z-index:0}.hero-people .person-10{bottom:5%;left:-3%}.hero-people .person-11,.hero-people .person-12{display:none}.balloon{font-size:18px;padding:5px 10px;line-height:1.65;letter-spacing:.02em}.balloon-1{top:19%;left:-32px}.balloon-2{bottom:29%;right:-17px}.balloon-3{bottom:1%;left:50%;white-space:nowrap}.hero-scroll{bottom:15px;left:19%;width:36px;height:36px;font-size:22px}.about{margin:16px 7px 0;padding-bottom:90px}.about .wrap{max-width:none}.about .eyebrow{margin-bottom:25px}.intro-copy{margin-block:35px 36px}.intro-copy>p:first-child{font-size:22px}.intro-copy p+p{margin-top:1.4em}.photo-montage{display:flex;flex-direction:column;gap:55px;padding-inline:18px;margin-top:75px}.photo-montage figure{width:88%;aspect-ratio:1.65;border-radius:17px}.montage-one{align-self:flex-start;transform:rotate(-3deg)}.montage-two{align-self:flex-end;transform:rotate(3deg);margin-top:0}.montage-three{align-self:flex-start;transform:rotate(-3deg)}.orange-section{margin-inline:7px}.orange-section:before,.orange-section:after{height:50px}.flow{padding-block:110px 120px}.calendar-cards{display:flex;flex-direction:column;gap:60px;margin:65px 0 0}.calendar-card{width:88%;align-self:flex-start;padding:30px 24px;border-radius:18px;transform:rotate(-5deg)}.calendar-card:nth-child(2){align-self:flex-end;transform:rotate(4deg);margin-top:0}.calendar-card:nth-child(3){align-self:flex-start;transform:rotate(-3deg);margin-top:0}.calendar-card>.person{width:80%;margin-block:16px 20px}.calendar-card h3{font-size:25px;line-height:1.7}.calendar-card p{font-size:20px;letter-spacing:.07em}.card-top b{font-size:48px}.flow-note{margin-top:55px;font-size:20px}.travel,.lessons,.memories,.stay,.fee,.questions,.contact,.company{margin-inline:7px}.travel .wrap{width:calc(100% - 48px)}.experiences{gap:25px;overflow:visible;display:block;padding:0}.experience{margin-bottom:65px}.experience:nth-child(even){margin-left:10px}.experience:nth-child(odd){margin-right:10px}.experience figure{aspect-ratio:1.5;transform:rotate(-2deg);border-radius:15px;margin-bottom:28px}.experience:nth-child(even) figure{transform:rotate(2deg)}.experience img{border-radius:15px}.experience figcaption{font-size:18px}.experience-copy h3{font-size:25px;letter-spacing:.08em}.experience-copy p{font-size:20px}.rail-controls{display:none}.disclosure{margin-top:36px}.disclosure summary{font-size:21px;gap:12px;padding:22px 0;line-height:1.9;letter-spacing:.07em}.disclosure-body{padding:0 0 25px}.route-list li,.curriculum li{display:block;padding:22px 0}.route-list p,.curriculum p{margin-top:10px}.lesson-story{display:flex;flex-direction:column;gap:45px}.lesson-story figure{width:90%;align-self:center}.lesson-notebook{padding:35px 18px 23px}.lesson-notebook>span:last-child{font-size:23px}.subjects{grid-template-columns:1fr;gap:28px;margin-top:50px}.subject{padding:28px 23px;gap:17px}.subject svg{width:30px;height:30px}.subject h3{font-size:25px}.lesson-facts{display:block;padding-block:15px;margin-top:45px}.lesson-facts p{margin:0;padding-block:23px}.lesson-facts p+p{border-top:1px dotted var(--line)}.lesson-facts strong{font-size:22px}.lesson-facts span{font-size:18px}.memory-layout{display:flex;flex-direction:column;gap:60px}.memory-copy h2{font-size:32px}.memory-art{width:94%}.memory-album{padding:40px 15px 25px}.memory-album p{font-size:22px}.album-note h3{font-size:24px}.stay-gallery{grid-template-columns:1fr;gap:40px}.photo-button{width:94%;transform:rotate(-2deg)}.photo-button:nth-child(2){width:94%;justify-self:end;margin-top:0}.photo-button img{height:auto;aspect-ratio:1.3;object-fit:cover}.photo-button>span{padding:15px 20px;font-size:20px}.room-facts{grid-template-columns:1fr;gap:30px;margin-top:50px}.room-facts>div{gap:16px}.room-facts svg{width:30px;height:30px}.price-sheet{padding:35px 23px 30px;border-radius:20px}.price-main{grid-template-columns:1fr;gap:28px;padding-bottom:28px}.price{font-size:clamp(39px,11vw,58px);line-height:1.65}.price-label{font-size:20px}.food-summary{border-left:0;border-top:1px dotted var(--line);padding:25px 0 0}.food-summary h3{font-size:24px}.food-summary>svg{width:36px;height:36px}.flight{gap:10px;font-size:20px}.inclusions{padding-block:30px}.inclusions h3{font-size:23px}.inclusions ul{grid-template-columns:1fr;gap:24px}.inclusions li{gap:12px;font-size:20px;letter-spacing:.04em}.inclusions svg{width:24px;height:24px}.fee-notes{grid-template-columns:1fr;gap:28px;padding-top:28px}.fee-notes h3{font-size:22px}.fee-notes p{font-size:20px}.fee-notes .note{font-size:18px}.participation{margin-top:35px}.participation>div{display:block;padding:24px 0}.participation dt{margin-bottom:13px}.phone-strip{padding:27px 20px;border-radius:18px;gap:15px}.school{font-size:23px}.phone-label{font-size:18px}.phone-number{font-size:29px;gap:8px;letter-spacing:0;line-height:1.7;flex-wrap:wrap}.phone-number svg{width:24px;height:24px}.hours{padding:3px 12px;font-size:18px;letter-spacing:0}.faq summary{font-size:21px;gap:12px;grid-template-columns:1em minmax(0,1fr) 1em;padding:25px 0;letter-spacing:.06em}.answer{padding:0 0 28px 32px;font-size:20px}.contact{padding-top:20px;padding-bottom:65px}.contact>.wrap{width:calc(100% - 36px);padding:42px 22px;border-radius:16px}.contact h2{font-size:24px;line-height:1.95;letter-spacing:.09em;text-align:left}.contact-lead{text-align:left;font-size:20px;margin-bottom:30px}.contact-phone{padding:0;background:transparent}.contact-phone .school{font-size:22px}.contact-phone .phone-number{font-size:32px;letter-spacing:0;gap:6px;white-space:nowrap;flex-wrap:nowrap}.contact-phone .phone-number svg{width:22px;height:22px}.company{padding-top:0}.company-table>div{display:block;padding:24px 0}.company-table dt{margin-bottom:12px}.company-table dd{font-size:20px;line-height:2.1;letter-spacing:.06em}.company-table ul{padding-left:1em}.company-table li+li{margin-top:20px}.footer{margin:0 7px 20px;border-radius:0 0 24px 24px}.footer-links{grid-template-columns:1fr 1fr;gap:35px 25px;padding-block:20px 50px}.footer-links a{font-size:20px}.footer-links a>span{font-size:18px}.footer-company{padding-top:55px}.footer-brand{font-size:30px;letter-spacing:.1em;margin-bottom:22px}.footer-company p{font-size:20px}.footer-company>div{gap:15px 25px}.footer-landscape{margin-top:25px}.footer-landscape>img{height:410px;aspect-ratio:auto;object-fit:cover;object-position:65% center;max-width:none}.footer-landscape small{left:20px;top:17%;font-size:18px;letter-spacing:.1em}.back-top{bottom:15px;width:65px;height:78px;border-radius:20px 20px 10px 10px}dialog{padding:66px 22px 25px;max-width:calc(100vw - 24px)}.text-dialog h2{font-size:27px}.photo-dialog p{font-size:18px}}
@media(max-width:400px){.header-inner{padding-left:9px;min-height:84px}.brand-small{display:none}.brand-name{font-size:21px;letter-spacing:.03em}.header-tabs{gap:3px}.header-tab{width:54px;padding:10px 5px;font-size:18px}.menu-button{min-width:76px}.menu-lines{width:29px}.hero-canvas{height:650px}.hero h1{font-size:29px}.hero-people .person{width:100px}.wrap{width:calc(100% - 40px)}h2,.hand-heading{font-size:30px;letter-spacing:.12em}.pill-link{padding-inline:24px;letter-spacing:.08em}.calendar-card{width:92%;padding-inline:22px}.contact>.wrap{padding-inline:18px}.contact-phone .phone-number{font-size:28px}.price-sheet{padding-inline:20px}.price{font-size:39px}.footer-links{grid-template-columns:1fr}.footer-brand{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}@media(min-width:701px) and (max-height:600px){.header{position:relative}}
.header-tab>span:last-child{white-space:nowrap;letter-spacing:0}.hero-scroll{left:50%;bottom:10px}.balloon-3{left:33%;bottom:2%}
@media(max-width:700px){.hero-scroll{left:18%;bottom:12px}.balloon-3{left:50%;bottom:1%}}
.trip-stamp>span{white-space:nowrap;letter-spacing:0}.hero h1{font-family:CollegeMaruSoft,var(--round);font-weight:500}h2,.hand-heading{font-family:CollegeMaruSoft,var(--round);font-weight:500}.calendar-card h3,.experience-copy h3,.subject h3{font-family:CollegeMaruSoft,var(--round);font-weight:500}
@media(max-width:700px){.brand-small{display:none}.brand-name{font-size:23px}.trip-stamp{width:94px}}
@media(max-width:360px){.header-inner{padding-left:7px;gap:3px}.brand-name{font-size:20px;letter-spacing:0}.header-tab{width:48px;padding-inline:4px}.menu-button{min-width:72px;width:72px}.header-tabs{gap:3px}}
h2{text-wrap:balance}.hero-canvas{min-height:30em}
.orange-section:before{clip-path:none;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 140' preserveAspectRatio='none'%3E%3Cpath fill='%23f4e5db' d='M0 0H1200V60C930 170 750 -50 510 45S220 130 0 60Z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.orange-section:after{clip-path:none;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 140' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0H1200V60C930 170 750 -50 510 45S220 130 0 60Z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.price{white-space:normal;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px}.price span{margin-left:0}.flow{overflow:hidden}.header.oversized{position:relative}
@media(max-width:700px){.header-inner{flex-wrap:wrap}.brand{flex:1 0 7.5rem}.header-tabs{max-width:100%;flex-wrap:wrap;margin-left:auto}.header-tab{width:auto;min-width:66px;flex-shrink:0}.menu-button{min-width:84px;width:auto}.header-tab>span:last-child{white-space:nowrap}.contact-phone .phone-number{white-space:normal;flex-wrap:wrap}}
@media(max-width:400px){.header-tab{min-width:54px}.menu-button{min-width:76px}}
@media(max-width:360px){.header-tab{min-width:48px}.menu-button{min-width:72px}}
.eyebrow{overflow-wrap:anywhere;word-break:break-word}.trip-stamp{width:max-content;min-width:146px;max-width:100%}.large-type .calendar-card,.large-type .photo-button,.large-type .lesson-story figure,.large-type .memory-album{transform:none}.large-type .calendar-card{max-width:100%}
@media(max-width:700px){.trip-stamp{min-width:94px}}
@media(max-width:360px){.price-sheet{margin-inline:-18px}}
.contact h2{font-size:24px;font-weight:400;max-width:25em;margin:24px auto;text-align:center}.contact-phone{padding-top:0}.contact-phone .school{margin-top:0}.contact-phone .phone-number{font-size:43px}.contact-phone .hours{margin-top:12px}
@media(max-width:700px){.contact h2{font-size:21px;line-height:1.9;letter-spacing:.07em;margin:20px 0 18px}.contact-phone .phone-number{font-size:35px}.contact>.wrap{padding-block:36px}.contact-phone{gap:10px}}
@media(max-width:360px){.menu-button{padding-inline:0}.contact-phone .school{font-size:20px;letter-spacing:.04em}.contact-phone .phone-number{font-size:28px}.contact h2{font-size:20px}}

/* v12: restore the approved orange, rounded shapes and warm illustrations;
   retain the uncluttered contact dock and photo-led story. */
:root{--dock-height:64px}html{scroll-padding-top:24px;scroll-padding-bottom:calc(var(--dock-height) + 24px)}body{padding-bottom:var(--dock-height)}h1,h2,h3{overflow-wrap:break-word}.header,.header.oversized{position:relative;top:auto}.header-inner{min-height:88px;padding:10px 32px;gap:24px}.brand-name{font-size:32px}.header-tabs{align-self:center;gap:10px}.header-tab{min-height:48px;flex-direction:row;width:auto;padding:10px 20px;border-radius:100px;gap:12px}.menu-button{min-width:134px}.menu-lines{width:28px;height:15px;margin:0}#navigation{max-height:calc(100dvh - var(--dock-height) - 100px)}.text-link{display:inline-block;min-height:44px;font-weight:700;text-decoration:underline;text-underline-offset:7px;line-height:1.9}
.trip-hero{margin:20px 22px 26px;padding:22px;background:white;border-radius:38px}.hero-heading{position:relative;display:grid;grid-template-columns:.95fr 1.05fr;grid-template-rows:auto auto auto;gap:0 55px;width:100%;max-width:1400px;padding:65px 60px;background:var(--hero);border-radius:25px;align-items:center}.hero-heading>.eyebrow{grid-column:1;grid-row:1;align-self:end}.hero-heading>h1{grid-column:1;grid-row:2;font:500 clamp(36px,3.2vw,46px)/1.85 CollegeMaruSoft,var(--round);letter-spacing:.11em;margin:24px 0;text-wrap:balance}.hero-heading>.hero-explanation{grid-column:1;grid-row:3;align-self:start;font-size:20px;max-width:26em}.hero-photo{grid-column:2;grid-row:1 / 4;align-self:center;border:9px solid white;border-radius:26px;overflow:hidden;transform:rotate(2deg)}.hero-photo img{width:100%;aspect-ratio:1/1.14;object-fit:cover;object-position:center 55%}.hero-friends{position:absolute;right:42px;bottom:5px;display:flex;pointer-events:none}.hero-friends .person{width:92px}.about{margin-top:0;padding-block:85px 95px}.about>.wrap{max-width:1120px}.about>.wrap>.eyebrow{margin-bottom:0}.pretrip-story{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:65px}.pretrip-story .intro-copy{margin:0;max-width:34em}.online-scene{transform:rotate(-2deg);padding:10px;background:white;border-radius:24px}.online-scene img{width:100%;border-radius:17px}.online-scene figcaption{margin:14px 8px 6px}.pretrip-story .intro-copy>p:first-child{font-size:25px}.lesson-duration{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-block:1px dotted var(--line);margin-block:25px;padding-block:18px}.lesson-duration>span{display:block;font-size:18px;line-height:1.8}.lesson-duration strong{display:block;font-size:24px}.pretrip-story .intro-copy .note{font-size:18px;margin-top:18px}.lesson-detail{scroll-margin-top:24px;margin-top:42px}.lesson-detail>.disclosure{margin-top:30px}.lesson-detail .subjects{margin-top:30px;gap:24px}.lesson-detail .subject{padding:30px 24px}.lesson-detail .lesson-facts{margin-top:35px}.lesson-detail h3+.curriculum{margin-top:20px}.lesson-detail .lesson-facts+h3{margin-top:35px}.study-material{max-width:560px;margin:32px auto 0}.study-material img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:20px}.study-material figcaption{margin-top:14px}.travel .chapter-intro{margin-bottom:45px}.memories{padding-block:145px 130px}.memories .eyebrow{color:var(--ink)}.memories .eyebrow:before{background:#fff18b}.memories .hand-heading:after{filter:brightness(2)}.memories.orange-section:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 140' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0H1200V60C930 170 750 -50 510 45S220 130 0 60Z'/%3E%3C/svg%3E")}.memories.orange-section:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 140' preserveAspectRatio='none'%3E%3Cpath fill='%23f7f2ee' d='M0 0H1200V60C930 170 750 -50 510 45S220 130 0 60Z'/%3E%3C/svg%3E")}.memory-art{max-width:440px;padding:20px;background:white;border-radius:45px;transform:rotate(3deg)}.memory-art>img{width:100%;max-height:470px;object-fit:contain}.album-note{background:white;border:0;border-radius:24px;padding:28px 30px;margin-top:35px}.album-note h3{font-family:CollegeMaruSoft,var(--round);font-weight:500}.course-overview{margin-inline:22px;background:var(--paper);padding-block:55px}.course-overview h2{font-size:30px}.course-overview .hand-heading:after{display:none}.course-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}.course-steps li{padding:25px;background:white;border-radius:22px}.step-label{font-size:18px;font-weight:700;color:var(--orange-ink)}.step-duration{margin-top:12px;font-size:20px;font-weight:700}.step-duration strong{font-size:25px;letter-spacing:.04em}.course-total{font-size:18px;margin-top:26px;padding-top:22px;border-top:1px dotted var(--line);font-weight:700}.fee-apply{margin-top:45px;max-width:none}.application{background:var(--peach);margin-inline:22px}.application>.wrap{max-width:1000px}.application-lead{max-width:36em}.application-steps{list-style:none;padding:0;margin-block:40px}.application-steps li{display:flex;gap:25px;padding-block:28px;border-top:1px dotted var(--line)}.application-steps li>span{font-size:24px;flex-shrink:0;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:white;color:var(--orange-ink);font-weight:700;line-height:1;letter-spacing:0}.application-steps h3{font-size:24px;margin-bottom:12px}.application-actions{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;margin-bottom:25px}.application-actions .pill-link{max-width:none}.application-actions p{font-size:18px;line-height:1.9}.application-actions p>span{display:block;margin-top:6px}.footer-signature{background:var(--peach);margin-top:70px;padding:70px 0 30px;border-radius:50% 50% 0 0 / 30px 30px 0 0}.footer-signature p{font:500 32px/1.9 CollegeMaruSoft,var(--round);max-width:18em}.signature-people{display:flex;justify-content:flex-end;margin-top:0}.signature-people .person{width:130px}.signature-people .person:nth-child(even){margin-top:22px}.signature-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px dotted var(--line);padding-top:22px;margin-top:10px;flex-wrap:wrap;font-size:18px}.signature-bottom small{font-size:18px}.signature-bottom a{padding:8px 0;text-decoration:underline;text-underline-offset:6px}
.call-dock{position:fixed;z-index:80;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:25px;min-height:64px;background:white;border-top:1px solid var(--line);padding:7px max(24px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));box-shadow:0 -5px 22px #3d332c0e;line-height:1.5;letter-spacing:.04em}.dock-copy p{font-size:18px;line-height:1.5}.dock-action{min-width:0;text-align:center}.dock-action>a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;font-size:29px;font-weight:700;letter-spacing:0;line-height:1.4}.dock-action>a span{min-width:0}.dock-action svg{width:24px;height:24px;color:var(--orange-ink)}.dock-apply{display:flex;align-items:center;justify-content:center;align-self:center;gap:16px;min-height:48px;padding:8px 26px;background:var(--orange);color:var(--ink);border-radius:100px;font-weight:700;font-size:20px;line-height:1.5;flex-shrink:0}.call-dock a:focus-visible{outline-offset:3px}.large-type .hero-photo,.large-type .online-scene,.large-type .memory-art,.large-type .experience figure{transform:none}.large-type .fee-notes strong{white-space:normal}
@media(min-width:1600px){.trip-hero,.course-overview,.application{max-width:1500px;margin-inline:auto}}
@media(max-width:1000px){.hero-heading{gap:0 35px;padding:45px 35px}.hero-heading>h1{font-size:36px}.hero-friends{right:25px;bottom:-8px}.hero-friends .person{width:75px}.pretrip-story{gap:35px}.dock-copy{display:none}.application-actions{grid-template-columns:1fr}.application-actions p{margin-top:0}.signature-people .person{width:110px}}
@media(max-width:700px){.header-inner{min-height:70px;padding:8px 18px;gap:12px}.brand-name{font-size:25px;letter-spacing:.07em}.fee-tab{display:none}.header-tabs{flex-wrap:nowrap}.header-tab{min-height:46px;padding:9px 12px;font-size:18px;gap:8px;border-radius:100px}.menu-button{min-width:108px}.menu-lines{width:21px;height:12px}.trip-hero{margin:12px 7px 16px;padding:14px;border-radius:28px}.hero-heading{display:block;width:100%;padding:28px 17px 26px;border-radius:18px}.hero-heading>.eyebrow{font-size:18px;letter-spacing:.06em}.hero-heading>h1{font-size:32px;line-height:1.85;letter-spacing:.09em;margin:18px 0 25px;text-wrap:balance}.hero-photo{width:calc(100% + 12px);margin:0 -6px 26px;border-width:6px;border-radius:18px;transform:rotate(-2deg)}.hero-photo img{aspect-ratio:1.18;object-position:center 55%}.hero-heading>.hero-explanation{font-size:20px;line-height:2.05;letter-spacing:.08em;max-width:none}.hero-friends{position:static;justify-content:flex-end;margin-top:8px;margin-bottom:-18px;height:88px;overflow:hidden}.hero-friends .person{width:90px}.about{padding-block:65px 75px}.about>.wrap>h2{font-size:30px;margin-block:20px 35px}.pretrip-story{display:flex;flex-direction:column;gap:32px;align-items:stretch}.online-scene{margin-inline:-10px;width:calc(100% + 20px);padding:7px;border-radius:18px}.online-scene img{border-radius:12px}.online-scene figcaption{margin:12px 8px 5px}.pretrip-story .intro-copy p:first-child{font-size:23px}.lesson-duration{gap:16px;margin-block:22px;padding-block:16px}.lesson-duration strong{font-size:24px}.lesson-detail{margin-top:30px}.lesson-detail .subject{padding:25px 20px}.lesson-detail .disclosure summary{font-size:20px}.travel{padding-top:65px}.experience{margin-bottom:60px}.experience-copy h3{font-size:24px}.memories{padding-block:105px 100px}.memory-layout{display:flex;gap:35px}.memory-copy>h2{font-size:30px}.memory-art{width:88%;max-width:340px;padding:14px;border-radius:28px}.memory-art>img{max-height:330px}.album-note{padding:25px 22px;border-radius:20px}.album-note h3{font-size:24px}.course-overview{margin-inline:7px;padding-block:35px}.course-overview h2{font-size:28px;margin-block:18px 25px}.course-steps{display:block;margin:0}.course-steps li{display:grid;grid-template-columns:4.2em minmax(0,1fr);align-items:baseline;gap:16px;padding:20px 18px;margin-top:14px;border-radius:18px}.step-label{letter-spacing:.04em}.step-duration{margin:0;font-size:20px;line-height:1.8}.step-duration strong{font-size:24px}.course-total{margin-top:25px;padding-top:20px}.application{margin-inline:7px}.application-steps li{gap:16px;flex-direction:column}.application-steps li>span{width:44px;height:44px}.application-steps h3{font-size:23px}.application-actions .pill-link{padding-inline:24px;gap:12px}.footer-signature{padding-top:50px}.footer-signature p{font-size:28px}.signature-people{margin-top:20px;flex-wrap:wrap;justify-content:center}.signature-people .person{width:25%;max-width:110px}.signature-bottom{gap:10px}.call-dock{min-height:60px;justify-content:space-between;gap:10px;padding:6px max(10px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.dock-action{flex:1}.dock-action>a{font-size:25px;min-height:46px;gap:6px;line-height:1.4}.dock-action svg{display:none}.dock-apply{flex-basis:104px;min-height:46px;font-size:20px;padding:7px 8px;gap:0}.dock-apply>span{display:none}#navigation{max-height:calc(100dvh - var(--dock-height) - 85px)}}
@media(max-width:360px){.header-inner{padding-inline:12px;gap:8px}.brand-name{font-size:22px;letter-spacing:.03em}.menu-button{min-width:98px}.header-tab{font-size:18px;padding-inline:8px;gap:6px}.hero-heading{padding-inline:12px}.hero-heading>h1{font-size:30px;letter-spacing:.06em}.dock-action>a{font-size:24px}.dock-apply{flex-basis:94px;font-size:18px}.call-dock{gap:8px;padding-inline:8px}.course-steps li{grid-template-columns:1fr;gap:5px}.album-note{margin-inline:-8px}.price-sheet{margin-inline:-10px}}
.memories{background:var(--orange)}.album-note h3{text-wrap:balance}

/* v13 — travel notebook, subject-led lecturer portraits and deliberate movement. */
.shape-defs{position:absolute;pointer-events:none;overflow:hidden}.travel-notebook{position:relative;margin-top:42px;padding:42px 24px 24px;border-radius:30px;box-shadow:0 8px 0 -2px #e7ded5,0 15px 0 -5px #f0e7df}.notebook-binding,.card-binding{position:absolute;z-index:3;pointer-events:none;left:30px;right:30px;top:-18px;height:43px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='43' viewBox='0 0 40 43'%3E%3Cellipse cx='16' cy='33' rx='6' ry='5' fill='%23ebe2d8'/%3E%3Cpath d='M16 33C8 30 7 5 16 4C25 3 27 13 24 20' fill='none' stroke='%23a4b7bb' stroke-width='2.4' stroke-linecap='round'/%3E%3Cpath d='M17 31C11 27 11 6 17 6' fill='none' stroke='%23e8eff0' stroke-width='1.5'/%3E%3C/svg%3E") left center/40px 43px repeat-x}.notebook-label{position:absolute;right:45px;top:22px;z-index:3;padding:5px 24px 7px;background:var(--orange);border-radius:3px 3px 15px 15px;font-size:18px;letter-spacing:.1em;font-weight:700;transform:rotate(3deg)}.hero-heading{grid-template-columns:.85fr 1.2fr;padding:58px 50px 75px;background:var(--hero);border-radius:20px;column-gap:46px}.hero-heading>h1{font-size:clamp(34px,3.1vw,44px)}.hero-photo{padding:10px 10px 0;border:0;overflow:visible;background:white;transform:rotate(2.5deg);box-shadow:8px 12px 0 #c3d9dd7a;border-radius:19px;position:relative}.hero-photo:before{content:'';position:absolute;top:-14px;left:40%;width:95px;height:28px;background:#f5d7a5c9;transform:rotate(-5deg);z-index:2;clip-path:polygon(0 8%,96% 0,100% 91%,3% 100%)}.hero-photo img{aspect-ratio:3/2;object-fit:contain;width:100%;height:auto;border-radius:11px}.hero-photo figcaption{padding:14px 6px 16px;font:500 20px/1.8 CollegeMaruSoft,var(--round);letter-spacing:.08em;text-align:center}.notebook-doodle{position:absolute;bottom:0;left:37%;display:flex;align-items:end;pointer-events:none}.notebook-doodle .person{width:94px;transform:rotate(-6deg)}.doodle-line{width:96px;height:30px;margin-bottom:23px;border-bottom:2px dashed #c2a184;border-radius:50%;transform:rotate(-15deg)}.about{position:relative;padding-bottom:85px}.about:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:45px;background:white;clip-path:polygon(0 75%,10% 60%,20% 74%,30% 90%,40% 80%,50% 65%,60% 73%,70% 88%,80% 70%,90% 58%,100% 77%,100% 100%,0 100%)}.teachers{background:white;margin-inline:22px;padding-block:90px 85px;overflow:hidden}.teachers-intro{position:relative;padding-right:210px}.teachers-intro>p:not(.eyebrow){max-width:34em}.teachers-ornament{position:absolute;right:20px;top:0;width:160px;height:170px;border-radius:60% 40% 44% 56%;background:#e5f0ee;transform:rotate(8deg)}.teachers-ornament .person{position:absolute;bottom:0;left:0;width:160px;transform:rotate(-8deg)}.dot-patch{position:absolute;width:75px;height:75px;left:-35px;bottom:-15px;background-image:radial-gradient(#e4b389 1.5px,transparent 1.5px);background-size:10px 10px;border-radius:50%}.teacher-gallery{margin-top:40px}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;font-size:18px}.motion-toggle{display:flex;align-items:center;gap:10px;min-height:46px;padding:8px 20px;border-radius:60px;background:#f7f2ee;font-size:18px;border:1px solid var(--line);line-height:1.5;flex-shrink:0}.motion-toggle>span{font-size:19px;letter-spacing:-.16em;margin-right:3px}.teacher-rail{--card-width:310px;--card-gap:42px;overflow:hidden;padding:28px 0 35px}.teacher-track{display:flex;width:max-content;will-change:transform;animation:classmates-left 58s linear infinite;animation-play-state:paused}.teacher-group{display:flex;gap:var(--card-gap);padding-right:var(--card-gap);align-items:flex-start}.teacher-card{width:var(--card-width);position:relative;flex-shrink:0;background:var(--paper);border-radius:22px;padding:16px 12px 22px;box-shadow:8px 9px 0 #e4edef}.teacher-card:nth-child(2){margin-top:48px}.teacher-card:nth-child(3){margin-top:18px}.card-binding{left:18px;right:18px;top:-16px;height:32px;background-size:30px 32px}.subject-tab{position:absolute;right:14px;top:12px;z-index:2;background:var(--tab-color,#f2c4a1);border-radius:0 0 12px 12px;padding:5px 13px;font-size:18px;font-weight:700;line-height:1.6;letter-spacing:.06em}.subject-1{--tab-color:#c8e5e7}.subject-2{--tab-color:#d9e6c6}.subject-3{--tab-color:#f3d5b3}.subject-4{--tab-color:#f1cbc2}.subject-5{--tab-color:#c6dde9}.subject-6{--tab-color:#e2d3e7}.teacher-card figure{aspect-ratio:3/4;overflow:hidden;border-radius:14px}.teacher-card img{width:100%;height:100%;object-fit:cover;object-position:center}.teacher-caption{padding:18px 13px 0}.lesson-number{font-size:18px;color:var(--orange-ink);font-weight:700;letter-spacing:.08em}.teacher-caption h3{font:500 24px/1.8 CollegeMaruSoft,var(--round);letter-spacing:.08em;margin-top:12px}.rail-2 .teacher-track{animation-name:classmates-right;animation-duration:64s}.rail-2 .teacher-card:nth-child(1){margin-top:34px}.rail-2 .teacher-card:nth-child(2){margin-top:0}.rail-2 .teacher-card:nth-child(3){margin-top:48px}.teacher-gallery.is-visible .teacher-track{animation-play-state:running}.teacher-gallery.is-paused .teacher-track,.teacher-gallery.page-hidden .teacher-track{animation-play-state:paused}.teacher-details .lesson-detail{margin-top:35px}.teacher-details .lesson-facts{margin-top:24px}.teacher-details .disclosure{border-top:2px dotted var(--line)}.teachers+.travel{background:#f7f7f7;border-radius:36px 36px 0 0}.experience figure{background:transparent}.experience img{clip-path:url(#photo-wave);border-radius:12px}.experience figure:after{display:none}.experience figcaption{bottom:0;left:16px;box-shadow:3px 4px 0 #e4d2c4;border-radius:20px 20px 20px 3px;transform:rotate(2deg)}.experience:nth-child(even) figcaption{transform:rotate(-2deg)}.memories.orange-section:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 140' preserveAspectRatio='none'%3E%3Cpath fill='%23f7f7f7' d='M0 0H1200V60C930 170 750 -50 510 45S220 130 0 60Z'/%3E%3C/svg%3E")}.album-note{position:relative;box-shadow:6px 7px 0 #ffffff55}.album-note:after{content:'';position:absolute;width:62px;height:22px;right:20px;top:-10px;background:#f5d7a5db;transform:rotate(8deg)}.memory-art{box-shadow:7px 9px 0 #f9c598}.footer-signature{position:relative;overflow:hidden;background:linear-gradient(to bottom,var(--peach) 0 78%,#dcecef 78% 100%)}.signature-people .person{animation:gentle-up 5s ease-in-out infinite alternate}.signature-people .person:nth-child(even){animation-delay:-2.5s}.signature-bottom{position:relative;border-top:0;padding-top:28px}.signature-bottom a{background:var(--blue);border-radius:100px;padding:10px 20px;text-decoration:none;font-weight:700}.motion-ready [data-reveal]{opacity:0;transition:opacity .85s ease,translate 1.05s cubic-bezier(.2,.7,.25,1);will-change:opacity,translate}.motion-ready [data-reveal="up"]{translate:0 58px}.motion-ready [data-reveal="left"]{translate:-60px 18px}.motion-ready [data-reveal="right"]{translate:60px 18px}.motion-ready [data-reveal].in-view{opacity:1;translate:0 0}.large-type .teacher-card{--card-width:340px}.large-type .teacher-caption h3{overflow-wrap:anywhere}
@keyframes classmates-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes classmates-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}@keyframes gentle-up{from{transform:translateY(4px)}to{transform:translateY(-7px)}}
@media(min-width:1600px){.teachers{max-width:1500px;margin-inline:auto}}
@media(max-width:1000px){.hero-heading{padding:50px 35px 70px;column-gap:30px}.hero-heading>h1{font-size:34px}.teachers-intro{padding-right:160px}.teachers-ornament{right:0;width:130px;height:140px}.teachers-ornament .person{width:130px}.teacher-rail{--card-width:280px;--card-gap:32px}}
@media(max-width:700px){.travel-notebook{margin:34px 7px 22px;padding:30px 13px 14px;border-radius:27px}.notebook-binding{left:18px;right:18px;top:-17px;height:35px;background-size:32px 35px}.notebook-label{top:16px;right:24px;padding:3px 15px 6px;font-size:18px}.hero-heading{padding:45px 17px 30px;display:block;border-radius:17px}.hero-heading>.eyebrow{font-size:18px}.hero-heading>h1{font-size:32px;line-height:1.85;margin:20px 0 30px}.hero-photo{margin:0 -13px 30px;width:calc(100% + 26px);padding:7px 7px 0;border-radius:14px;transform:rotate(-2deg);box-shadow:5px 7px 0 #c3d9dd7a}.hero-photo img{aspect-ratio:3/2;object-fit:contain;border-radius:9px}.hero-photo figcaption{font-size:18px;line-height:1.8;padding:12px 9px 14px;letter-spacing:.04em;text-wrap:balance}.hero-photo:before{width:70px;height:21px;top:-10px}.hero-heading>.hero-explanation{font-size:20px;margin:0}.notebook-doodle{position:relative;left:auto;bottom:auto;justify-content:flex-end;margin-top:10px;margin-bottom:-18px;height:80px}.notebook-doodle .person{width:85px}.doodle-line{width:65px;height:20px;margin-bottom:15px}.about{padding-bottom:75px}.teachers{margin-inline:7px;padding-block:65px 70px}.teachers-intro{padding-right:0;padding-top:55px}.teachers-intro h2{font-size:30px;max-width:10em;margin-top:22px}.teachers-intro>.eyebrow{max-width:60%}.teachers-intro>p:not(.eyebrow){font-size:20px}.teachers-ornament{top:-24px;right:-4px;width:110px;height:115px}.teachers-ornament .person{width:110px}.dot-patch{width:45px;height:45px;left:-18px;bottom:-8px;background-size:8px 8px}.teacher-gallery{margin-top:30px}.gallery-controls{align-items:flex-start;flex-wrap:wrap;gap:14px;margin-bottom:15px;font-size:18px}.motion-toggle{font-size:18px;padding:8px 16px;min-height:44px}.teacher-rail{--card-width:264px;--card-gap:26px;padding-block:24px 30px}.teacher-card{padding:13px 9px 20px;border-radius:18px;box-shadow:6px 7px 0 #e4edef}.teacher-card:nth-child(2){margin-top:38px}.teacher-card:nth-child(3){margin-top:10px}.teacher-card figure{border-radius:12px}.subject-tab{right:12px;top:12px;padding:4px 12px}.teacher-caption{padding:16px 13px 0}.teacher-caption h3{font-size:23px;line-height:1.8;margin-top:10px}.teacher-track{animation-duration:56s}.rail-2 .teacher-track{animation-duration:62s}.rail-2 .teacher-card:nth-child(1){margin-top:28px}.rail-2 .teacher-card:nth-child(3){margin-top:40px}.teacher-details .lesson-detail{margin-top:25px}.teachers+.travel{border-radius:24px 24px 0 0}.experience figure{margin-bottom:28px}.signature-bottom a{padding:9px 17px}.large-type .teacher-card{--card-width:264px}.large-type .hero-photo{transform:none}.motion-ready [data-reveal="left"]{translate:-28px 18px}.motion-ready [data-reveal="right"]{translate:28px 18px}.motion-ready [data-reveal].in-view{translate:0 0}}
@media(max-width:360px){.hero-heading{padding-inline:12px}.hero-heading>h1{font-size:30px;letter-spacing:.06em}.hero-photo{margin-inline:-8px;width:calc(100% + 16px)}.teacher-rail{--card-width:236px;--card-gap:24px}.teacher-caption h3{font-size:22px}.teachers-intro h2{font-size:29px}.large-type .teacher-card{--card-width:236px}}
@media(prefers-reduced-motion:reduce){.motion-ready [data-reveal]{opacity:1;translate:none;transition:none}.teacher-track,.rail-2 .teacher-track,.signature-people .person{animation:none!important;transform:none!important}.teacher-rail{overflow-x:auto;scroll-snap-type:x mandatory;padding-inline:24px}.teacher-card{scroll-snap-align:start}.teacher-group[aria-hidden="true"]{display:none}.teacher-gallery:hover .teacher-track{animation-play-state:paused}.motion-toggle{display:none}}

@media(hover:hover){.teacher-rail:hover .teacher-track{animation-play-state:paused}}
.subject-tab{max-width:calc(100% - 24px);overflow-wrap:anywhere}.large-type .notebook-label{position:relative;display:table;top:auto;right:auto;margin:0 16px 24px auto}.large-type .gallery-controls{flex-wrap:wrap}.large-type .motion-toggle{white-space:normal;flex-shrink:1}

@media(max-width:700px){.large-type .header-inner{flex-wrap:wrap;gap:8px}.large-type .header-inner>.brand{flex:0 0 100%}.large-type .header-tabs{margin-left:auto}}

/* V14 — illustrated travel diary, with scroll-triggered conversation. */
.chapter-head{display:flex;align-items:center;justify-content:space-between;gap:28px;position:relative}.chapter-heading{min-width:0;flex:1}.chapter-heading h2{margin-bottom:28px}.chapter-heading .eyebrow{margin-bottom:0}.chapter-intro:has(.chapter-head){max-width:none}.chapter-intro:has(.chapter-head)>p{max-width:38em}.teachers-intro{padding-right:0;padding-top:0}.teachers-intro .chapter-head{margin-bottom:5px}.teachers-intro .chapter-heading h2{max-width:18em}.teachers-intro>.eyebrow{max-width:none}
.play-scene{position:relative;isolation:isolate;flex:0 0 245px;width:245px;height:185px;max-width:100%;pointer-events:none}.scene-blob{position:absolute;inset:36px 0 5px 45px;border-radius:61% 39% 47% 53% / 42% 58% 42% 58%;background:#e1eff0;transform:rotate(-10deg);z-index:-1}.scene-speckles{position:absolute;left:15px;bottom:15px;width:74px;height:65px;background:radial-gradient(#d6b69c 1.6px,transparent 1.8px) 0 0/11px 11px;border-radius:45%;transform:rotate(12deg)}.scene-people{position:absolute;bottom:0;right:0;display:flex;align-items:flex-end}.scene-people .person{width:132px}.scene-people .person+.person{margin-left:-23px;margin-bottom:8px}.speech-bubble{position:absolute;z-index:3;left:0;top:5px;display:block;padding:12px 21px 14px;border-radius:49% 51% 43% 57% / 48% 44% 56% 52%;background:#e9a18c;color:var(--ink);font:700 18px/1.65 var(--body);letter-spacing:.05em;max-width:100%;text-align:center;transform:rotate(-5deg);transform-origin:78% 100%;box-shadow:0 3px 0 #b4654420}.speech-bubble:after{content:'';position:absolute;right:19%;bottom:-10px;width:22px;height:23px;background:inherit;clip-path:polygon(0 0,75% 0,100% 100%);transform:rotate(-15deg)}.scene-study .speech-bubble{background:#f0c176;left:12px}.scene-study .scene-blob{background:#fff7e4}.scene-teacher .speech-bubble{background:#b5dce0}.scene-teacher .scene-blob{background:#ecf0e2}.scene-trip{flex-basis:280px;width:280px}.scene-trip .scene-blob{inset:45px 0 0 10px;background:#dfecef}.scene-trip .speech-bubble{left:38px;background:#f4c58c}.scene-cooking{margin:20px 0 0 auto;height:170px}.scene-cooking .speech-bubble{background:#d4e2b8}.scene-cooking .scene-blob{background:#f6e6d5}.scene-rest .speech-bubble{background:#d2e1bf}.scene-contact .speech-bubble{background:#b8dce2}.scene-contact .scene-blob{background:#faead7}.play-mark{position:absolute;width:38px;height:38px;stroke:#c9804d;stroke-width:2;fill:none;overflow:visible}.play-scene .mark-spark{right:7px;top:50px;width:29px;height:35px;color:#cf9653}.play-scene .mark-leaf{left:55px;bottom:5px;width:34px;height:43px;stroke:#709f80;transform:rotate(-24deg)}
.scene-hello{position:relative;grid-column:1 / -1;justify-self:end;width:270px;height:130px;flex-basis:auto;margin:-15px 5% -20px 0}.scene-hello .scene-blob{display:none}.scene-hello .scene-people .person{width:108px}.scene-hello .speech-bubble{left:0;top:0;background:#badde0}.scene-hello .scene-speckles{left:auto;right:-13px;width:58px;bottom:5px}.scene-hello .mark-leaf{left:80px;bottom:10px}.scene-hello .mark-spark{right:10px;top:5px}.hero-heading:has(.scene-hello){padding-bottom:30px}
.play-ready .speech-bubble{opacity:0;transform:translateY(15px) scale(.78) rotate(-9deg);transition:opacity .35s ease .12s,transform .62s cubic-bezier(.18,.85,.25,1.2) .12s}.play-ready.has-spoken .speech-bubble{opacity:1;transform:translateY(0) scale(1) rotate(-5deg)}.play-ready .play-mark{opacity:0;transition:opacity .5s ease .35s}.play-ready.has-spoken .play-mark{opacity:1}
#about,#okinawa,#memories,#flow{position:relative;isolation:isolate}.chapter-texture{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.chapter-texture .wash{position:absolute;display:block;border-radius:52% 48% 42% 58% / 43% 58% 42% 57%;background:#fff6;transform:rotate(-18deg)}.wash-one{width:390px;height:280px;left:-210px;top:12%}.wash-two{width:270px;height:210px;right:-135px;bottom:15%;opacity:.65}.texture-dots{position:absolute;width:105px;height:100px;background:radial-gradient(#c2d4d7 2px,transparent 2.3px) 0 0/15px 15px;border-radius:52% 40% 56% 44%;transform:rotate(-8deg)}.dots-one{top:60px;right:30px}.dots-two{left:13px;bottom:75px;width:90px;height:80px}.chapter-texture .mark-waves{bottom:22px;right:8%;width:150px;height:48px;stroke:#c5dfe0;stroke-width:2.5}.chapter-texture .mark-leaf{top:48%;right:0;width:72px;height:90px;stroke:#e6d7c8;transform:rotate(20deg)}#about .dots-one{top:16px;right:-25px}#about .wash-one{background:#fff7}#okinawa .wash-one{left:auto;right:-190px;background:#f2e7de;top:80px}#okinawa .dots-one{top:auto;bottom:110px;right:-16px}#flow .dots-one{right:-28px;top:35px}#flow .wash-two{background:#e2eff0}
.memories{padding-top:175px;padding-bottom:145px;overflow:hidden}.memories.orange-section:before,.memories.orange-section:after{height:115px}.memories .chapter-texture .wash-one{background:#ffc58c55;left:-170px;top:140px;width:460px;height:280px}.memories .chapter-texture .wash-two{background:#ffe0b333;width:450px;height:370px;right:-230px;bottom:90px}.memories .dots-one{top:130px;right:25px;background-image:radial-gradient(#ffe9b3 2px,transparent 2.4px)}.memories .dots-two{left:22px;bottom:110px;background-image:radial-gradient(#e2eff0 2px,transparent 2.4px)}.memories .chapter-texture .mark-waves{stroke:#ffd48e;right:6%;bottom:95px}.memories .chapter-texture .mark-leaf{display:none}.memories .hand-heading:after{height:16px;max-width:440px}.memory-layout{gap:55px;align-items:center}.memory-copy{position:relative;z-index:2}.album-note{border-radius:8px 24px 12px 22px;box-shadow:7px 8px 0 #ffdbaa70}.album-note:before{content:'';position:absolute;left:14px;top:18px;width:6px;height:6px;border-radius:50%;background:#ebd8c4;box-shadow:0 14px 0 #ebd8c4}
.memory-spread{position:relative;isolation:isolate;width:100%;min-width:0;height:555px}.memory-spread .memory-art{position:absolute;z-index:2;bottom:20px;left:4%;width:88%;max-width:none;margin:0;padding:18px;background:#fff;border-radius:12px 17px 20px 15px;transform:rotate(5deg);box-shadow:7px 9px 0 #c967332a}.memory-spread .memory-art:before{content:'';position:absolute;left:40%;top:-12px;width:88px;height:27px;background:#f7dc9cdd;transform:rotate(-8deg);clip-path:polygon(0 8%,96% 0,100% 92%,3% 100%)}.memory-spread .memory-art>img{max-height:none;aspect-ratio:1;object-fit:contain}.souvenir-sheet{position:absolute;width:43%;padding:12px 8px 18px;background:white;border-radius:10px;box-shadow:5px 7px 0 #b9552526}.souvenir-sheet .person{width:100%;border-radius:7px;background-color:#f2e3d7}.sheet-left{left:0;top:55px;transform:rotate(-13deg)}.sheet-right{right:0;top:78px;transform:rotate(11deg)}.sheet-right .person{background-color:#e0edef}.souvenir-line{display:block;width:55%;height:5px;border-radius:8px;background:#e6d8c5;margin:14px auto 0}.memory-spread>.speech-bubble{top:0;left:11%;background:#fff2bd;z-index:4;font-size:18px}.memory-spread>.mark-shell{right:-15px;bottom:10px;width:68px;height:64px;fill:#ead0a5;stroke:#c79c64;z-index:3;transform:rotate(14deg)}.memory-spread>.mark-spark{left:-12px;top:260px;width:40px;height:52px;stroke:#ffe6a2;z-index:3}
.course-steps li{position:relative;border-radius:5px 20px 7px 18px;box-shadow:4px 5px 0 #e9ddd2;padding-top:78px}.course-steps li:before{content:'';position:absolute;top:-9px;left:42%;width:55px;height:20px;background:#e9cda5ac;transform:rotate(-8deg)}.step-sketch{position:absolute;left:24px;top:22px;width:42px;height:42px;stroke:#a86b43}.course-steps li:nth-child(2) .step-sketch{stroke:#4c8f99}.course-steps li:nth-child(3) .step-sketch{stroke:#78946a}
.footer-signature{background:var(--peach);padding-bottom:35px}.footer-signature:after{content:'';position:absolute;left:-2%;right:-2%;bottom:-2px;height:145px;background:#dcecef;clip-path:polygon(0 28%,10% 24%,22% 35%,34% 25%,47% 36%,58% 28%,72% 42%,86% 30%,100% 36%,100% 100%,0 100%);z-index:0}.footer-signature>.wrap{position:relative;z-index:1}.footer-play{position:relative;padding-top:75px;margin-top:5px}.footer-play .speech-bubble{left:auto;right:10%;top:0;background:#fff5da;font-size:18px}.footer-trail{position:absolute;left:6%;bottom:75px;width:45%;height:120px;opacity:.8}.footer-trail .mark-route{left:0;top:0;width:100%;height:90px;stroke:#b4cfd2;stroke-width:1.4}.footer-trail .mark-shell{width:38px;height:38px;bottom:0;left:8%;fill:#ecd8b8;stroke:#c4aa7a}.signature-bottom{padding-top:25px}.signature-people .person{position:relative;z-index:1}
@media(max-width:1000px){.chapter-head{gap:12px}.play-scene{flex-basis:215px;width:215px}.scene-people .person{width:115px}.scene-trip{flex-basis:250px;width:250px}.memory-spread{height:470px}.memory-layout{gap:35px}.scene-hello{width:250px}}
@media(max-width:700px){.chapter-head{display:block}.chapter-heading h2{margin-bottom:10px}.chapter-head>.play-scene{margin:-2px 0 20px auto;width:235px;height:155px;max-width:100%}.chapter-heading .eyebrow{margin-bottom:0}.scene-people .person{width:112px}.play-scene .speech-bubble{top:0;font-size:18px;padding:9px 18px 12px}.scene-blob{inset:30px 0 3px 48px}.scene-speckles{height:48px;width:54px;left:35px;bottom:14px}.scene-people{right:4px}.play-scene .mark-spark{right:0;top:43px;width:25px}.play-scene .mark-leaf{left:56px;bottom:4px;width:27px;height:34px}.scene-trip .speech-bubble{left:28px}.scene-trip .scene-blob{inset:35px 0 0 0}.scene-trip .scene-speckles{left:0}.scene-trip .mark-leaf{left:8px;bottom:0}.teachers-intro{padding-top:0}.teachers-intro .chapter-heading h2{max-width:100%;font-size:30px}.teachers-intro .chapter-head{margin:0}.scene-hello{height:135px;width:235px;margin:20px 0 -10px auto}.scene-hello .speech-bubble{left:0;top:4px}.scene-hello .scene-people .person{width:103px}.scene-hello .scene-speckles{left:auto;right:0}.hero-heading:has(.scene-hello){padding-bottom:24px}.scene-cooking{width:230px;height:150px;margin-top:18px}.scene-cooking .scene-people .person{width:110px}.chapter-texture .wash-one{width:290px;height:230px;left:-180px}.chapter-texture .wash-two{width:230px;height:180px;right:-155px}.texture-dots{width:70px;height:72px;background-size:12px 12px}.dots-one{right:-22px;top:24px}.dots-two{left:-20px;bottom:45px}.chapter-texture .mark-waves{width:100px;right:12px}.memories{padding-top:135px;padding-bottom:115px}.memories.orange-section:before,.memories.orange-section:after{height:90px}.memories .dots-one{top:91px;right:4px;width:68px;height:58px}.memories .dots-two{left:4px;bottom:105px;width:66px;height:74px}.memories .chapter-texture .wash-one{left:-220px;top:200px;width:420px;height:300px}.memory-layout{gap:45px;display:flex}.memory-spread{height:440px;max-width:360px;margin-top:15px}.memory-spread .memory-art{padding:12px;bottom:15px;left:5%;width:90%;border-radius:12px}.memory-spread .memory-art>img{max-height:none}.souvenir-sheet{width:45%;padding:9px 6px 12px}.sheet-left{top:50px;left:-3px}.sheet-right{top:78px;right:-3px}.memory-spread>.speech-bubble{top:0;left:0;font-size:18px;padding:10px 17px 13px;max-width:100%}.memory-spread>.mark-shell{width:48px;height:45px;right:-10px;bottom:0}.memory-spread>.mark-spark{left:-12px;top:210px;width:30px;height:40px}.course-steps li{padding:24px 18px 22px 65px;grid-template-columns:1fr;gap:4px;margin-top:23px}.step-sketch{left:13px;top:27px;width:35px;height:35px}.course-steps li:before{left:auto;right:22px;width:44px;height:17px}.footer-play{padding-top:70px;justify-content:center;margin-top:25px}.footer-play .speech-bubble{right:3%;top:0;font-size:18px}.footer-trail{left:0;width:100%;bottom:70px;height:95px}.footer-signature:after{height:125px}.footer-trail .mark-route{width:80%;height:60px}.footer-trail .mark-shell{left:5%;width:30px;height:30px}.contact .chapter-head>.play-scene{margin-top:18px;margin-bottom:25px}.contact .chapter-heading h2{font-size:30px}.large-type .chapter-head>.play-scene,.large-type .scene-hello,.large-type .scene-cooking{width:100%;height:240px;margin-top:25px}.large-type .speech-bubble{max-width:100%;overflow-wrap:anywhere}.large-type .memory-spread{height:510px}.large-type .memory-spread>.speech-bubble{max-width:100%}.large-type .souvenir-sheet{top:155px}.large-type .footer-play{padding-top:160px}.large-type .course-steps li{padding-left:18px;padding-top:68px}}
@media(max-width:360px){.memory-spread{height:395px}.chapter-head>.play-scene{height:155px}.chapter-heading h2{font-size:29px}.teachers-intro .chapter-heading h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){.play-ready .speech-bubble,.play-ready.has-spoken .speech-bubble{opacity:1;transform:rotate(-5deg);transition:none}.play-ready .play-mark{opacity:1;transition:none}}

/* V15: separate album cards, clear dates and phone hours. */
.memory-spread{height:auto!important;display:grid;grid-template-columns:1fr 1fr;gap:30px 24px;align-items:start;padding:12px 10px 20px;max-width:460px}.memory-spread>.speech-bubble{position:relative;top:auto;left:auto;grid-column:1/-1;justify-self:center;margin:0 0 8px;max-width:100%}.memory-spread .souvenir-sheet{position:relative;top:auto!important;left:auto;right:auto;width:100%;transform:rotate(-4deg);margin:0}.memory-spread .sheet-right{transform:rotate(4deg)}.memory-spread .memory-art{position:relative;grid-column:1/-1;grid-row:3;left:auto;bottom:auto;width:100%;margin:4px 0 0;transform:rotate(0);padding:12px}.memory-spread .speech-bubble{grid-row:1}.memory-spread .souvenir-sheet{grid-row:2}.memory-spread>.mark-shell{bottom:-10px;right:-8px}.memory-spread>.mark-spark{top:46%;left:-12px}.price-meals{font-weight:700;margin-top:12px}.participation dd .schedule-line{display:block;color:inherit;margin:0 0 12px}.call-dock{padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.dock-hours{font-size:18px;line-height:1.3;margin:0;letter-spacing:.04em}.dock-action>a{min-height:36px}.dock-copy{display:none}.call-dock{gap:24px}.dock-apply{min-height:50px}.scene-people .person+.person{margin-left:8px}#stay-title{max-width:none;letter-spacing:.02em}
@media(max-width:700px){.call-dock{gap:10px;padding-inline:max(10px,env(safe-area-inset-left))}.dock-action>a{min-height:34px;font-size:25px}.dock-hours{font-size:18px;line-height:1.3}.dock-apply{flex-basis:108px;min-height:50px}#stay-title{font-size:clamp(18px,5vw,32px);white-space:nowrap}.large-type #stay-title{white-space:normal}.memory-spread{max-width:360px;gap:28px 20px}.large-type .memory-spread{height:auto!important}.scene-trip .scene-people .person{width:100px}}
@media(max-width:360px){.dock-action>a{font-size:24px}.dock-apply{flex-basis:94px}.memory-spread{gap:25px 18px}}

/* V16 — one 90-minute lesson and an accessible application form. */
.lesson-notebook{background:#fff;border-radius:12px 26px 18px 12px;padding:32px 28px;position:relative;box-shadow:6px 7px 0 #e5d3bf}.lesson-notebook:before{content:'';position:absolute;left:40%;top:-11px;width:80px;height:24px;transform:rotate(-5deg);background:#efd6a8cc}.lesson-kicker{font-weight:700;font-size:20px;margin:0 0 16px!important}.lesson-notebook h3{font-size:24px;line-height:1.8;letter-spacing:.05em;margin:0 0 25px}.lesson-total{display:block;font-size:28px;color:#9a441c}.lesson-total strong{font-size:78px;line-height:1.3;letter-spacing:0;margin:0 8px}.lesson-timeline{list-style:none;padding:0;margin:0;display:grid;gap:14px}.lesson-timeline li{padding:20px;border-radius:12px;background:#f7e5d5}.lesson-timeline li+li{background:#e3eff0}.lesson-timeline .lesson-clock{font-size:18px;font-weight:700;margin:0 0 8px}.lesson-timeline h4{font-size:22px;line-height:1.7;margin:0 0 8px}.lesson-timeline h4 strong{white-space:nowrap}.lesson-timeline p{font-size:20px;margin:0;line-height:1.9}.lesson-close{margin:30px 0 22px}.material-note{padding-top:20px;border-top:1px dashed #cbbcae}.application-form{background:#fff;padding:36px;border-radius:24px;margin:36px 0 45px;box-shadow:5px 6px 0 #e9dcd0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-grid label{display:block;font-weight:700;font-size:20px}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;min-width:0;min-height:54px;margin-top:9px;padding:12px 14px;border:1.5px solid #8e8277;border-radius:8px;background:#fff;color:#352f2a;font:400 20px/1.5 var(--body);letter-spacing:.02em}.full-field{grid-column:1/-1}.required,.optional{font-size:18px;font-weight:400;margin-left:8px}.required{color:#99401a}.optional{color:#64594f}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:3px solid #3f7f86;outline-offset:2px}.consent-line{display:flex;align-items:flex-start;gap:12px;margin-top:30px;font-size:18px;line-height:1.9}.consent-line input{flex:0 0 24px;width:24px;height:24px;margin-top:5px;accent-color:#9a441c}.privacy-form-link{border:0;background:none;text-decoration:underline;font:inherit;font-size:18px;padding:12px 0;color:#5c4e43;cursor:pointer}.form-notice{font-size:18px;font-weight:700}.form-submit{width:100%;border:0;cursor:pointer;font-family:inherit}.form-submit:disabled{opacity:.65;cursor:wait}.form-status{font-size:20px;margin:20px 0 0;overflow-wrap:anywhere}.form-status:empty{display:none}.form-status.error{color:#912c21}.form-status.success{color:#275c4b}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-grid input::placeholder{color:#776c62;opacity:1}
@media(max-width:700px){.lesson-notebook{padding:25px 18px}.lesson-notebook h3{font-size:22px}.lesson-total strong{font-size:68px}.lesson-timeline li{padding:17px 14px}.lesson-timeline h4{font-size:21px}.application-form{padding:25px 18px;margin-inline:-8px}.form-grid{grid-template-columns:1fr;gap:22px}.full-field{grid-column:auto}.form-submit{padding-inline:20px}.large-type .lesson-total strong{font-size:inherit}}

/* V17: applicant chooses phone or email; large, keyboard accessible radio cards. */
.contact-preference{padding:0;margin:0 0 30px;border:0;min-width:0}.contact-preference legend{font-size:22px;font-weight:700;letter-spacing:.03em}.contact-preference legend em{font-size:18px;font-style:normal;margin-left:10px;color:#8a4323}.contact-preference>p{font-size:20px;line-height:1.8;margin:14px 0 18px}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-option{display:flex;align-items:center;gap:12px;padding:16px;border:2px solid #b9b0a6;border-radius:14px;min-height:64px;cursor:pointer;font-size:21px;font-weight:700;background:white}.contact-option:has(input:checked){border-color:#ae4b14;background:#fff1e5}.contact-option:has(input:focus-visible){outline:3px solid #315f5c;outline-offset:3px}.contact-option input[type=radio]{width:24px;height:24px;min-height:0;padding:0;margin:0;flex-shrink:0;accent-color:#ae4b14}.contact-option span{min-width:0}.application-form .field-help{font-size:18px;line-height:1.65;font-weight:400;display:block;margin-top:6px}.form-grid [hidden]{display:none!important}.application-form .form-followup{font-size:19px;line-height:1.8;margin:20px 0 12px}@media(max-width:700px){.contact-options{grid-template-columns:1fr;gap:12px}.contact-preference legend{font-size:21px}.contact-option{font-size:21px;padding:14px}.contact-preference>p{font-size:19px}}

/* Contact dock: clear phone action, warm paper frame, compact safe-area spacing. */

.call-dock{display:block;min-height:0;padding:6px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:linear-gradient(180deg,#f7f2ee00,#f7f2eef5 30%);border:0;box-shadow:none;pointer-events:none;letter-spacing:0}
.dock-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(124px,.65fr);gap:8px;width:min(100%,640px);margin-inline:auto;padding:6px;background:#fffaf5;border:1px solid #d4bfae;border-radius:20px;box-shadow:0 4px 20px #3d332c1f;pointer-events:auto}
.call-dock .dock-phone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:0;min-height:76px;padding:3px 8px;border-radius:14px;color:#3d332c;background:transparent;line-height:1.25}
.call-dock .dock-label{display:flex;align-items:center;justify-content:center;gap:7px;font-size:1.125rem;font-weight:700;line-height:1.3;white-space:nowrap}
.call-dock .dock-label svg{display:block;flex:none;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;color:#a33f0c}
.call-dock .dock-number{display:block;font-size:1.5rem;font-weight:700;line-height:1.3;font-variant-numeric:tabular-nums;letter-spacing:.015em;white-space:nowrap}
.call-dock .dock-hours{display:block;font-size:1rem;line-height:1.3;letter-spacing:.025em;color:#655044;white-space:nowrap}
.call-dock .dock-apply{display:flex;align-self:stretch;align-items:center;justify-content:center;flex-basis:auto;gap:10px;min-width:0;min-height:76px;margin:0;padding:10px 14px;border:1px solid #a33f0c;border-radius:14px;background:#a33f0c;color:#fffaf5;font-size:1.25rem;font-weight:700;line-height:1.35;letter-spacing:.03em;white-space:nowrap}
.call-dock .dock-apply svg{display:block;flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.call-dock .dock-phone:hover{background:#f4e5db}.call-dock .dock-apply:hover{background:#87340a}.call-dock a:focus-visible{outline:3px solid #176b73;outline-offset:2px}
@media(min-width:701px){.dock-inner{grid-template-columns:minmax(0,1fr) 216px}.call-dock .dock-phone{display:grid;grid-template-columns:auto auto;column-gap:16px;row-gap:0;min-height:64px;padding-inline:16px}.call-dock .dock-label{grid-column:1;grid-row:1/3;justify-content:flex-start}.call-dock .dock-number{grid-column:2;grid-row:1;align-self:end;font-size:1.625rem}.call-dock .dock-hours{grid-column:2;grid-row:2;align-self:start;text-align:center}.call-dock .dock-apply{min-height:64px}}
@media(max-width:360px){.call-dock{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.dock-inner{grid-template-columns:minmax(0,1fr) 102px;gap:6px;padding:5px;border-radius:17px}.call-dock .dock-phone{padding-inline:4px}.call-dock .dock-label{gap:5px;font-size:1.0625rem}.call-dock .dock-number{font-size:1.3125rem}.call-dock .dock-apply{padding-inline:8px;font-size:1.125rem}.call-dock .dock-apply svg{display:none}}

/* Form footer: filled submit action and a distinct outlined telephone option. */
.application .form-submit{justify-content:center;gap:12px;font-size:20px;letter-spacing:.03em;padding-inline:18px}
.application .form-submit>span{font-size:20px}
.application-alternative{max-width:650px;margin:30px auto 26px;text-align:center}
.application-or{display:flex;align-items:center;justify-content:center;gap:16px;margin:0 0 20px;font-size:18px;line-height:1.6;letter-spacing:.03em}
.application-or:before,.application-or:after{content:"";height:1px;flex:1;background:#b9a18e}
.application-phone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:96px;padding:14px 18px;border:2px solid #655044;border-radius:18px;background:#fffaf5;color:#3d332c;line-height:1.4;letter-spacing:0}
.application-phone-label{display:flex;align-items:center;justify-content:center;gap:10px;font-size:20px;font-weight:700;white-space:nowrap}
.application-phone-label svg{flex:none;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.application-phone-number{font-size:26px;font-weight:700;letter-spacing:.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.application-phone:hover{background:#f4e5db}.application-phone:focus-visible{outline:3px solid #176b73;outline-offset:4px}
.application-phone-details{margin:12px 0 0;font-size:18px;line-height:1.65;letter-spacing:.03em}
.application-phone-details strong,.application-phone-details>span{display:block}
@media(max-width:360px){.application .form-submit{gap:8px;font-size:18px;letter-spacing:0;padding-inline:12px}.application .form-submit>span{font-size:18px}.application-or{gap:10px;font-size:17px}.application-phone{padding-inline:12px}.application-phone-label{font-size:19px;gap:8px}.application-phone-number{font-size:25px}}
