@charset "UTF-8";
:root{--ink:#173849;--muted:#587080;--blue:#1b638b;--sky:#e9f6fc;--line:#d7e3e9;--paper:#f8fbfc;--serif:"Re Lab Serif","Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Re Lab Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.9 var(--sans);-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,img{border:0}button{background:none}img,video{display:block;max-width:100%}img{height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}button:disabled,button[aria-disabled="true"]{cursor:wait}a:focus-visible,button:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:3px solid var(--blue);outline-offset:6px}::selection{background:#cee9ff;color:var(--ink)}.page-width{width:min(1224px,calc(100% - 112px));margin-inline:auto}.section{padding-block:118px}.eyebrow{font:500 12px/1.5 Arial,sans-serif;letter-spacing:.16em;color:var(--blue)}.script-word{font:italic 62px/1 Georgia,serif;color:#5aa8cd;letter-spacing:-.045em;margin-bottom:27px}.skip-link{position:fixed;left:20px;top:-70px;z-index:100;background:#fff;padding:12px 22px}.skip-link:focus{top:14px}.section-rail{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:21px;margin-bottom:68px}.rail-note{font-size:12px;color:var(--muted);letter-spacing:.05em}h2{font-family:var(--serif);font-size:clamp(32px,3.6vw,50px);line-height:1.7;letter-spacing:.04em}.section-heading{display:flex;justify-content:space-between;gap:44px;align-items:flex-end;margin-bottom:56px}.section-heading>p,.prose p,.about-copy>p:not(.script-word),.together-copy>p:not(.eyebrow){font-size:16px;line-height:2.2}.section-heading>p{color:var(--muted);padding-bottom:9px}.section-note{font-size:12px;line-height:1.9;color:#61717e;margin-top:24px}.text-link{display:inline-flex;align-items:center;gap:30px;font-size:14px;padding:12px 0;border-bottom:1px solid var(--ink)}.link-dot,.button-dot{display:block;border-radius:50%;width:7px;height:7px;background:currentColor;flex-shrink:0;transition:transform .3s}.text-link:hover .link-dot,.button:hover .button-dot{transform:scale(1.6)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:62px;padding:17px 26px;font-size:15px;font-weight:600;border-radius:3px;transition:background .25s,box-shadow .25s,transform .25s}.button-blue{color:#fff;background:var(--blue);box-shadow:0 10px 30px #284ae81a}.button-blue:hover{background:#154e70;transform:translateY(-2px);box-shadow:0 12px 24px #284ae826}
/* Navigation */
.site-header{position:absolute;left:0;top:0;width:100%;z-index:20;height:106px;padding-inline:44px;display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{display:inline-flex;flex-direction:column;white-space:nowrap}.brand-name{font:500 27px/1.15 Arial,sans-serif;letter-spacing:-1.1px}.brand-name b{font-family:Georgia,serif;font-size:33px;font-style:italic;letter-spacing:-2.8px;font-weight:500;margin-right:6px}.brand-dot{color:var(--blue)}.brand-caption{font-size:12px;letter-spacing:.12em;margin-top:8px}.site-nav{display:flex;align-items:center;gap:29px;font-size:13px}.site-nav>a{position:relative}.site-nav>a:not(.nav-contact):after{content:"";position:absolute;bottom:-5px;height:1px;background:var(--ink);left:0;right:100%;transition:right .2s}.site-nav>a:hover:after{right:0}.nav-contact{padding:13px 21px;border:1px solid #12304e55;background:#ffffff5c;border-radius:3px}.nav-contact:hover{background:#fff}.menu-toggle{display:none}
/* A light-filled, moving horizon */
.hero{position:relative;isolation:isolate;background:#d6effb;overflow:hidden;min-height:820px;height:min(960px,100svh)}.hero-motion{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:63% 50%;z-index:-3}.hero-wash{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(250,254,255,.96) 0%,rgba(250,254,255,.81) 26%,rgba(250,254,255,.30) 53%,rgba(255,255,255,0) 75%),linear-gradient(0deg,rgba(244,251,255,.7),transparent 25%,transparent 80%,rgba(244,251,255,.6))}.hero-inner{position:relative;height:100%;min-height:820px;padding-top:163px;padding-bottom:95px}.hero-copy{position:relative;width:58%;z-index:2}.hero-eyebrow{margin-bottom:26px;letter-spacing:.2em}.hero h1{font:500 clamp(58px,6.1vw,91px)/1.5 var(--serif);letter-spacing:.035em;white-space:nowrap;color:#143753}.hero-lead{font-size:16px;line-height:2.1;margin-top:26px;letter-spacing:.045em}.hero-invitation .button{margin-top:30px;min-width:268px}.hero-school{font-size:12px;margin-top:18px;color:#355776;letter-spacing:.06em}.hero-bottom{position:absolute;bottom:29px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;font:12px/1.3 Arial,sans-serif;letter-spacing:.14em;color:#173e5e}.scroll-link{display:flex;align-items:center;gap:16px}.scroll-line{width:46px;height:1px;background:currentColor}.motion-toggle{display:flex;gap:8px;align-items:center;padding:10px 12px;background:#fff9;border:1px solid #fff9;border-radius:2px;font:14px/1 var(--sans);letter-spacing:.02em}.motion-toggle[hidden]{display:none}.motion-icon{width:9px;height:11px;border-left:3px solid currentColor;border-right:3px solid currentColor}.motion-toggle.is-paused .motion-icon{width:0;height:0;border-left:9px solid currentColor;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent}
/* The portfolio is an actual two-sided, turning sheet */
.portfolio-dock{position:absolute;width:min(44vw,550px);right:-4px;bottom:105px;z-index:3}.book-heading{display:flex;flex-direction:column;align-items:flex-end;margin-bottom:22px;padding-right:12px}.book-handwriting{font:italic clamp(24px,2.5vw,35px)/1.2 Georgia,serif;letter-spacing:-.045em;color:#174c6d}.book-invitation{font-size:12px;letter-spacing:.075em;margin-top:9px;color:#163c58}.book-stage{perspective:1500px;padding:15px 0 20px;filter:drop-shadow(9px 30px 25px #1a52752b)}.book-spread{position:relative;aspect-ratio:1080/680;width:100%;transform:rotateX(10deg) rotateZ(-6deg);transform-style:preserve-3d;outline-offset:12px!important;cursor:pointer;touch-action:pan-y;transition:transform .5s var(--ease);user-select:none}.book-spread:hover{transform:rotateX(6deg) rotateZ(-4deg) translateY(-4px)}.book-spread.is-turning{cursor:progress}.book-cover{position:absolute;inset:-5px -6px -12px;background:#406d8e;border-radius:2px 4px 5px 2px;transform:translateZ(-4px);box-shadow:0 2px 0 #dfebee,0 4px 0 #bdcccf,0 6px 0 #f6f9f9,0 8px 0 #96acb8,0 11px 0 #315976}.book-page{position:absolute;top:0;bottom:0;width:50%;background:#fffefb;overflow:hidden}.page-left{left:0;box-shadow:inset -12px 0 17px -15px #32454bbd;border-radius:2px 0 0 2px}.page-right{right:0;box-shadow:inset 12px 0 17px -15px #32454bbd;border-radius:0 3px 3px 0;padding:16px 15px 14px 17px;display:flex;flex-direction:column}.page-meta,.page-footer{display:flex;justify-content:space-between;gap:8px;font:12px/1.4 Arial,sans-serif;letter-spacing:.1em;color:#637580}.page-meta{padding:19px 21px 0}.page-footer{position:absolute;left:21px;right:21px;bottom:16px}.page-editorial{padding:26px 21px 12px;display:flex;flex-direction:column;align-items:flex-start}.page-category{font:12px/1.4 Arial,sans-serif;letter-spacing:.13em;color:#67899b}.page-title{font:500 49px/1.25 Georgia,serif;letter-spacing:-.02em;margin-top:9px;color:#214d60}.page-tagline{font:500 15px/1.65 var(--serif);letter-spacing:.08em;margin-top:10px}.page-line,.page-description{display:none}.page-description{font-size:12px;line-height:1.9;letter-spacing:.02em;color:#546d7b}.page-art{flex:1;min-height:0;background:#f3f8f9;display:flex;align-items:center;overflow:hidden}.page-art img{width:100%;height:100%;object-fit:contain;pointer-events:none}.art-caption{font:12px/1.5 Arial,sans-serif;letter-spacing:.055em;display:flex;justify-content:space-between;gap:8px;padding-top:12px;color:#5a7585}.book-spine{position:absolute;left:calc(50% - 7px);top:0;bottom:0;width:14px;pointer-events:none;background:linear-gradient(90deg,transparent,#18334c10 38%,#17334c38 51%,#fff4 59%,transparent);transform:translateZ(.4px);z-index:5}.turning-leaf{position:absolute;left:50%;top:0;width:50%;height:100%;transform-origin:left center;transform-style:preserve-3d;z-index:4;display:none;will-change:transform}.sheet-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#fffefb;overflow:hidden}.sheet-front{display:flex;flex-direction:column;padding:16px 15px 14px 17px;box-shadow:inset 12px 0 18px -15px #12304e88}.sheet-back{transform:rotateY(180deg);box-shadow:inset -12px 0 18px -15px #12304e88}.sheet-front:after,.sheet-back:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#183b5518,transparent 35%,#fff3)}.book-controls{display:flex;align-items:center;justify-content:center;gap:23px;margin-top:12px;position:relative}.book-controls button{font-size:14px;padding:8px 4px;border-bottom:1px solid #335b6c66;line-height:1.5;min-height:36px}.book-controls button:hover{border-color:var(--blue);color:var(--blue)}.book-status{font:12px/1.5 Arial,sans-serif;letter-spacing:.1em;min-width:87px;text-align:center}.book-disclaimer{font-size:12px;line-height:1.5;text-align:center;margin-top:15px;color:#284f68}
/* Editorial content */
.philosophy{padding-top:76px}.philosophy-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:90px}.philosophy h2{font-size:clamp(31px,3.1vw,44px)}.prose{padding-top:10px}.prose p+p{margin-top:25px}.works{background:#f5f9fb}.works .section-rail{border-color:#ccdde6}.works-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 34px}.work-card{display:block;text-align:left;padding:0;width:100%}.work-wide{grid-column:1/-1;width:85%;margin-inline:auto}.work-image{display:block;position:relative;overflow:hidden;background:#dceaf1}.work-open{position:absolute;right:20px;bottom:20px;background:#ffffffed;border-radius:2px;padding:10px 17px;font-size:12px;box-shadow:0 3px 20px #12304e1a;transition:transform .3s}.work-card:hover .work-open{transform:translateY(-3px)}.work-caption{display:flex;align-items:baseline;gap:18px;padding-top:21px}.work-caption strong{font:500 27px/1.2 Georgia,serif;letter-spacing:.02em}.work-caption>span:not(.work-type){font-size:13px;line-height:1.7}.work-type{margin-left:auto;font:12px/1.5 Arial,sans-serif;letter-spacing:.05em;color:#567085}.practice-types{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--line);margin-top:60px;padding-top:26px}.practice-types>span{font-size:13px;color:var(--muted)}.practice-types>p{font-size:17px;letter-spacing:.03em}.practice-types p span{font-size:12px;color:#86a2b5;margin:0 18px}.learning-grid{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:42px;padding:0;margin:0}.learning-grid>li{border-top:1px solid #92bfd7;padding-top:22px}.step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:38px}.step-number{font:italic 61px/1 Georgia,serif;color:#82b7d4}.step-top .eyebrow{color:#45637b}.learning-grid h3{font-size:19px;font-weight:600;letter-spacing:-.025em;margin-bottom:18px;line-height:1.7}.learning-grid p{font-size:16px;line-height:2;color:#567085}.step-detail{font-size:12px;margin-top:30px;padding-top:15px;border-top:1px solid var(--line)}.learning-info{margin-top:54px;padding:27px 0 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.learning-info p{font-size:12px;color:#567085}.learning-info p span{display:block;font-size:16px;color:var(--ink);margin-bottom:4px}.learning-info .text-link{flex-shrink:0}.together{position:relative;isolation:isolate;background:linear-gradient(120deg,#ecf8fd,#eef5fc 65%,#f7f8ff);padding:106px 0 150px;overflow:hidden}.together-grid{display:grid;grid-template-columns:1fr 1.13fr;align-items:center;gap:80px}.together h2{margin:22px 0 29px}.together-copy>p+p{margin-top:19px}.community-photo{transform:rotate(3deg);background:#fff;padding:13px 13px 10px;box-shadow:0 24px 50px #4e80951c}.community-photo img{aspect-ratio:1.23;object-fit:cover;object-position:48% center;width:100%}.community-photo figcaption{font-size:12px;line-height:1.6;padding:10px 4px 0;color:#587488}.together-word{position:absolute;bottom:-12px;left:48%;white-space:nowrap;font:italic clamp(65px,9.6vw,146px)/1 Georgia,serif;letter-spacing:-.06em;color:#beddea99;z-index:-1}.about-grid{display:grid;grid-template-columns:.93fr 1.07fr;gap:100px;align-items:center}.portrait img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:2px}.portrait figcaption{display:flex;align-items:center;gap:25px;margin-top:25px}.portrait-nickname{font-family:var(--serif);font-size:23px;white-space:nowrap}.portrait figcaption>span:last-child{font-size:12px;line-height:1.8;color:#567085}.about-copy .script-word{font-size:48px;margin-bottom:25px}.about-copy h2{font-size:clamp(28px,2.8vw,40px);margin-bottom:30px}.about-copy>p:not(.script-word){font-size:16px}.about-copy>p+p{margin-top:22px}.about-copy .text-link{margin-top:25px}.stories{background:#f8fafb}.compact{align-items:center}.compact h2{font-size:30px;margin-top:16px}.compact>p{font-size:14px}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.story{display:flex;flex-direction:column;background:#fff;border-top:2px solid #92bfd7;padding:25px 27px 21px;min-height:255px;transition:transform .3s,box-shadow .3s}.story:hover{transform:translateY(-5px);box-shadow:0 14px 28px #2549660c}.story-category{font:12px/1.5 Arial,sans-serif;letter-spacing:.11em;color:#65869c}.story h3{font-family:var(--serif);font-size:22px;line-height:1.8;margin:22px 0 29px}.story-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px;margin-top:auto}.story-watch{font-size:12px;white-space:nowrap;border-bottom:1px solid #8da5b5}.faq{display:grid;grid-template-columns:1fr 1.8fr;gap:80px}.faq h2{font-size:37px;margin-top:17px}.faq>div>p:last-child{font-size:14px;margin-top:16px;color:#567085}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;gap:20px;cursor:pointer;list-style:none;padding:27px 0;font-size:15px;line-height:1.7}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span:first-child{font:italic 17px/1 Georgia,serif;color:#739db6}.faq-plus{position:relative;width:14px;height:14px;flex-shrink:0;margin-left:auto}.faq-plus:before,.faq-plus:after{content:"";position:absolute;top:6px;left:0;width:14px;height:1px;background:currentColor;transition:transform .2s}.faq-plus:after{transform:rotate(90deg)}details[open] .faq-plus:after{transform:rotate(0)}.faq-list details>p{padding:0 22px 27px 39px;font-size:16px;line-height:2.1;color:#567085}.faq-list a{text-decoration:underline;text-underline-offset:4px}.contact{position:relative;isolation:isolate;overflow:hidden;background:#f4fbff;text-align:center;padding:114px 0 100px}.contact-horizon{position:absolute;inset:0;background:linear-gradient(#fffffff5,#ffffffc9 50%,#e7f6ff66),url('assets/hero-still.webp') 50% 67%/cover;z-index:-1}.contact h2{font-size:clamp(34px,4.2vw,58px);line-height:1.65;letter-spacing:.055em;margin:29px 0 25px}.contact-content>p:not(.eyebrow):not(.contact-price){font-size:16px;line-height:2.1}.contact-actions{display:flex;justify-content:center;align-items:center;flex-direction:column;gap:23px;margin-top:34px}.contact-secondary{font-size:14px;text-decoration:underline;text-underline-offset:6px}.contact-price{font-size:14px;margin-top:34px}.contact-price span{display:block;font-size:12px;margin-top:4px;color:#486c86}.site-footer{padding-block:48px;display:flex;justify-content:space-between;gap:40px;align-items:center}.footer-right{text-align:right}.footer-right nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:22px;font-size:12px;color:#567085}.footer-right a:hover{text-decoration:underline}.footer-right small{font:12px/1.6 Arial,sans-serif;letter-spacing:.04em;color:#658095;display:block;margin-top:18px}
/* Work viewer */
.work-dialog{border:0;background:#fff;color:var(--ink);padding:0;width:min(1000px,calc(100% - 48px));max-height:88svh;box-shadow:0 24px 90px #12304e40;overflow:auto}.work-dialog::backdrop{background:#173b59a3;backdrop-filter:blur(5px)}.work-dialog>img{width:100%;height:auto}.dialog-close{position:sticky;top:14px;float:right;margin:14px 14px -64px 0;z-index:2;display:flex;gap:22px;align-items:center;background:#fffffff0;border-radius:2px;padding:8px 16px;font-size:13px;box-shadow:0 2px 15px #12304e1a}.dialog-close span{font-size:23px;line-height:1}.dialog-content{padding:34px 42px 39px}.dialog-content h2{font:42px/1.3 Georgia,serif;margin:12px 0 15px}.dialog-content>p:not(.eyebrow):not(.section-note){font-size:16px;line-height:2}.reveal-enter{animation:reveal .8s var(--ease) both}@keyframes reveal{from{opacity:.3;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero-copy{padding-top:20px}.hero-inner{padding-top:176px}.portfolio-dock{right:-38px;bottom:135px;width:590px}.book-spread{aspect-ratio:1080/680;gap:20px}.site-nav{gap:20px;font-size:12px}.brand-name{font-size:23px}.brand-name b{font-size:29px}.hero{min-height:810px}.hero-inner{min-height:810px;padding-top:164px}.hero h1{font-size:6.2vw}.hero-lead{font-size:16px}.portfolio-dock{right:0;width:44%;bottom:118px}.book-spread{aspect-ratio:1080/680;right:16px;bottom:14px}.page-tagline{font-size:13px}.page-description{font-size:12px}.page-line{margin-block:11px}.book-controls{gap:14px}.book-controls button{font-size:14px}.book-status{font-size:12px}.book-disclaimer{font-size:12px}.philosophy-grid{gap:50px}.about-grid{gap:60px}.section-heading>p{font-size:16px}.learning-grid{gap:26px}.learning-grid h3{font-size:17px}.together-grid{gap:55px}.work-type{font-size:12px}.work-caption{gap:10px}.work-caption>span:not(.work-type){font-size:12px}.faq{gap:50px}.story{padding-inline:20px}.story h3{font-size:19px}.story-bottom{flex-direction:column;align-items:flex-start;gap:10px}.footer-right nav{gap:15px}}
@media(max-width:960px){.site-header{height:94px}.site-nav{position:absolute;top:83px;left:28px;right:28px;display:none;flex-direction:column;align-items:stretch;background:#fffffff7;backdrop-filter:blur(15px);padding:20px 27px;box-shadow:0 15px 50px #12304e1a;border:1px solid #dbe9f0;gap:0}.site-nav.is-open{display:flex}.site-nav>a{padding:15px 0;font-size:14px}.site-nav>.nav-contact{margin-top:12px;padding:13px 17px;text-align:center}.menu-toggle{display:flex;align-items:center;gap:9px;padding:12px 0;font-size:14px;z-index:21}.menu-lines{width:21px;height:9px;position:relative;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.hero{height:auto;min-height:1040px}.hero-inner{height:auto;min-height:1040px;padding-top:152px}.hero-copy{width:100%}.hero h1{font-size:66px;line-height:1.47}.hero-wash{background:linear-gradient(90deg,#f8fcffe8,#f8fcff91 45%,#f8fcff00 90%),linear-gradient(0deg,#eaf7ffbd,transparent 30%)}.hero-lead{font-size:16px}.hero-invitation .button{margin-top:25px}.portfolio-dock{position:relative;width:440px;max-width:70%;right:auto;bottom:auto;margin:46px 0 0 auto}.book-spread{aspect-ratio:1080/680;gap:34px}.learning-grid>li{display:grid;grid-template-columns:100px 1fr;column-gap:35px;position:relative;padding-top:26px}.step-top{grid-row:1/4;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:20px;margin:0}.learning-grid h3{font-size:20px}.learning-grid p{font-size:16px;max-width:620px}.step-detail{margin-top:20px;border-top:0;padding-top:0}.learning-info{align-items:flex-start;flex-direction:column}.practice-types{flex-direction:column;align-items:flex-start;gap:13px}.practice-types>p{font-size:16px}.together-grid{gap:35px}.together h2{font-size:35px}.together-copy>p:not(.eyebrow){font-size:16px}.about-grid{gap:44px}.about-copy h2{font-size:29px}.about-copy>p:not(.script-word){font-size:16px}.about-copy .script-word{font-size:39px}.portrait figcaption{align-items:flex-start;flex-direction:column;gap:8px}.compact{flex-direction:column;align-items:flex-start;gap:15px}.story-grid{gap:17px}.story{padding-inline:17px}.story h3{font-size:17px}.faq{grid-template-columns:1fr 1.65fr;gap:40px}.faq h2{font-size:28px}.faq-list summary{font-size:14px;gap:13px}.site-footer{align-items:flex-start;flex-direction:column;gap:28px}.footer-right{text-align:left}.footer-right nav{justify-content:flex-start}}
@media(max-width:820px){html{scroll-padding-top:24px}.page-width{width:calc(100% - 44px)}.site-header{height:88px;padding-inline:22px;gap:18px}.brand-name{font-size:23px}.brand-name b{font-size:28px}.brand-caption{font-size:12px;letter-spacing:.1em}.site-nav{left:17px;right:17px;top:78px}.hero{min-height:1040px}.hero-inner{padding-top:139px;min-height:1040px;padding-bottom:90px}.hero-motion{object-position:58% center}.hero-wash{background:linear-gradient(180deg,#f4fbffd9 0%,#f4fbff91 39%,#f4fbff20 59%,#eef9ff5e 100%),linear-gradient(90deg,#eff9ff70,transparent 85%)}.hero-eyebrow{font-size:12px;letter-spacing:.17em;margin-bottom:27px}.hero h1{font-size:clamp(38px,10.2vw,62px);line-height:1.62;letter-spacing:.025em}.hero-lead{font-size:16px;line-height:2.1;margin-top:23px;letter-spacing:.015em}.hero-invitation .button{min-width:248px;min-height:56px;font-size:14px;padding:16px 22px;margin-top:26px}.hero-school{font-size:12px;margin-top:15px;letter-spacing:.01em}.portfolio-dock{position:relative;right:auto;bottom:auto;width:100%;max-width:460px;margin:53px auto 0;padding:0 9px}.book-heading{margin-bottom:10px;padding-right:3px}.book-handwriting{font-size:27px}.book-invitation{font-size:12px;margin-top:7px}.book-stage{padding:13px 0 17px;filter:drop-shadow(4px 18px 17px #2855782e)}.book-spread{aspect-ratio:1080/680;transform:rotateX(8deg) rotateZ(-5deg)}.page-editorial{padding:19px 14px 12px}.page-title{font-size:clamp(28px,8vw,41px);margin-top:6px}.page-category{font-size:12px;letter-spacing:.03em}.page-meta{display:none}.page-tagline{font-size:14px;margin-top:8px}.page-line{margin-block:8px;width:20px}.page-description{font-size:12px;line-height:1.7}.page-footer{font-size:12px;left:13px;right:13px;bottom:13px}.page-right,.sheet-front{padding:12px 11px 11px 13px}.art-caption{font-size:12px;padding-top:9px;gap:4px}.art-caption span:first-child{font-size:10px}.page-footer span:first-child{font-size:10px}.book-controls{gap:19px;margin-top:7px}.book-controls button{font-size:14px;min-height:38px}.book-status{font-size:12px;min-width:78px}.book-disclaimer{font-size:12px;margin-top:9px}.hero-bottom{bottom:22px}.scroll-link{font-size:12px;letter-spacing:.08em;gap:8px}.scroll-line{width:23px}.motion-toggle{font-size:14px;padding:9px;gap:7px}.motion-icon{transform:scale(.8)}.section{padding-block:73px}.section-rail{padding-top:17px;margin-bottom:40px;gap:20px;align-items:flex-start}.eyebrow{font-size:12px;letter-spacing:.12em}.rail-note{font-size:12px;line-height:1.7;text-align:right}.philosophy{padding-top:55px}.philosophy-grid{grid-template-columns:1fr;gap:31px}.script-word{font-size:51px;margin-bottom:22px}.philosophy h2{font-size:30px;line-height:1.7}.prose{padding-top:0}.prose p{font-size:16px}.prose p+p{margin-top:23px}.section-heading{flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:33px}h2{font-size:32px;line-height:1.65}.section-heading>p{font-size:16px;line-height:2.05;padding:0}.works-grid{grid-template-columns:1fr;gap:32px}.work-wide{width:100%;grid-column:auto}.work-caption{padding-top:16px;gap:12px;flex-wrap:wrap}.work-caption strong{font-size:25px}.work-caption>span:not(.work-type){font-size:12px}.work-type{font-size:12px}.work-open{font-size:12px;padding:7px 11px;right:13px;bottom:13px}.section-note{font-size:12px;line-height:1.9;margin-top:24px}.practice-types{margin-top:31px;padding-top:21px;gap:12px}.practice-types>span{font-size:12px}.practice-types>p{font-size:13px}.practice-types p span{font-size:12px;margin:0 6px}.learning-grid{gap:29px}.learning-grid>li{grid-template-columns:51px 1fr;gap:0 19px;padding-top:22px}.step-top{gap:16px}.step-number{font-size:44px}.step-top .eyebrow{font-size:12px;letter-spacing:.04em}.learning-grid h3{font-size:17px;margin-bottom:13px}.learning-grid p{font-size:16px;line-height:2}.step-detail{font-size:12px;margin-top:18px}.learning-info{margin-top:32px;gap:17px}.learning-info p{font-size:12px}.learning-info p span{font-size:14px}.text-link{font-size:14px;gap:25px}.together{padding:73px 0 93px}.together-grid{grid-template-columns:1fr;gap:45px}.together h2{font-size:34px;margin:18px 0 23px}.together-copy>p:not(.eyebrow){font-size:16px;line-height:2.1}.community-photo{width:92%;margin-inline:auto;padding:9px 9px 7px}.community-photo img{aspect-ratio:1.5}.community-photo figcaption{font-size:12px;padding-top:7px}.together-word{font-size:66px;left:16%;bottom:-3px}.about-grid{grid-template-columns:1fr;gap:42px}.portrait{width:82%;margin-inline:auto}.portrait figcaption{flex-direction:row;align-items:center;gap:17px}.portrait-nickname{font-size:19px}.portrait figcaption>span:last-child{font-size:12px}.about-copy .script-word{font-size:44px;margin-bottom:23px}.about-copy h2{font-size:29px}.about-copy>p:not(.script-word){font-size:16px}.about-copy .text-link{margin-top:24px}.compact h2{font-size:27px}.compact>p{font-size:13px}.story-grid{grid-template-columns:1fr;gap:18px}.story{padding:23px;min-height:0}.story h3{font-size:22px;margin:17px 0 25px}.story-bottom{flex-direction:row;align-items:center;gap:10px}.faq{grid-template-columns:1fr;gap:30px}.faq h2{font-size:30px;margin-top:12px}.faq>div>p:last-child{font-size:13px;margin-top:10px}.faq-list summary{font-size:14px;padding-block:22px;gap:11px}.faq-list summary>span:first-child{font-size:15px}.faq-list details>p{font-size:16px;padding:0 9px 23px 28px}.contact{padding:80px 0 74px}.contact h2{font-size:33px;line-height:1.7;margin:22px 0 22px}.contact-content>p:not(.eyebrow):not(.contact-price){font-size:16px}.contact-actions{margin-top:28px;gap:23px}.contact .button{font-size:13px;padding:16px 21px;min-height:57px;gap:27px}.contact-secondary{font-size:14px}.contact-price{font-size:12px;margin-top:29px}.contact-price span{font-size:12px}.site-footer{padding-block:36px;gap:26px}.footer-right nav{font-size:12px;column-gap:15px;row-gap:9px}.footer-right small{font-size:12px;margin-top:18px}.work-dialog{width:calc(100% - 24px);max-height:90svh}.dialog-content{padding:24px}.dialog-content h2{font-size:34px}.dialog-content>p:not(.eyebrow):not(.section-note){font-size:16px}.dialog-close{font-size:12px;margin:10px 10px -53px 0;top:10px;padding:7px 12px;gap:17px}}
@media(max-width:359px){.page-width{width:calc(100% - 34px)}.site-header{padding-inline:17px}.hero h1{font-size:36px}.hero-lead{font-size:16px}.hero-school{font-size:12px}.hero{min-height:1010px}.hero-inner{min-height:1010px}.page-description{font-size:12px}.work-caption>span:not(.work-type){font-size:12px}.work-type{font-size:12px}.practice-types>p{font-size:12px}.practice-types p span{margin:0 4px}.hero-bottom{gap:9px}.hero-bottom .scroll-link{font-size:10px;letter-spacing:0}.hero-bottom .scroll-line{width:13px}.motion-toggle{font-size:14px}.portfolio-dock{margin-top:47px}.book-disclaimer{font-size:12px}.contact h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.book-spread:hover{transform:rotateX(8deg) rotateZ(-5deg)}}

/* Background motion does not depend on mobile media autoplay. */
@keyframes horizon-drift{from{transform:scale(1.23) translate3d(-2.2%,-1.4%,0)}to{transform:scale(1.04) translate3d(.7%,.5%,0)}}
.hero-motion{animation:horizon-drift 15s linear infinite alternate both;transform-origin:60% 50%;will-change:transform}
.hero-bottom{pointer-events:none}.hero-bottom>a,.hero-bottom>button{pointer-events:auto}
.motion-toggle{position:absolute;right:0;bottom:0}
@media(max-width:960px){.hero-bottom{position:static;display:block}.hero-bottom .scroll-link{position:absolute;left:0;bottom:29px}.hero-bottom .motion-toggle{position:absolute;top:106px;right:0;bottom:auto;background:#ffffffe8;font-size:12px}}
@media(prefers-reduced-motion:reduce){.hero-motion{animation-duration:15s!important;animation-iteration-count:infinite!important;animation-play-state:paused}}

/* Three distinct, complete design studies — type, hierarchy, image and rhythm. */
.design-preview{position:relative;display:block;aspect-ratio:1080/680;overflow:hidden;background:#ecf1f5}.design-sheet{position:absolute;left:0;top:0;width:1080px;height:680px;transform:scale(var(--sheet-scale, .5));transform-origin:0 0;overflow:hidden;line-height:1.5;font:16px/1.5 Arial,var(--sans);letter-spacing:0;text-align:left;color:#173344;background:#fff}.design-sheet *{box-sizing:border-box}.design-sheet h3{font-weight:500}.design-sheet img{max-width:none}.design-kicker{font:12px/1.5 Arial,sans-serif;letter-spacing:.13em}.design-nagi{background:#f8f8f2;color:#254347}.nagi-nav{height:81px;display:flex;align-items:center;padding:0 40px;gap:34px;border-bottom:1px solid #22484423}.nagi-nav b{font:32px/1 Georgia,serif;letter-spacing:.14em}.nagi-nav span{font:11px/1.5 Arial,sans-serif;letter-spacing:.12em}.nagi-nav span:last-child{margin-left:auto}.nagi-photo{position:absolute;left:360px;right:0;top:81px;bottom:70px;overflow:hidden}.nagi-photo img{width:100%;height:100%;object-fit:cover;object-position:right top;transform:scale(1.58);transform-origin:80% 0}.nagi-photo-label{position:absolute;bottom:28px;right:27px;color:white;writing-mode:vertical-rl;font:15px/1.6 var(--serif);letter-spacing:.17em;text-shadow:0 1px 8px #14303a}.nagi-editorial{position:absolute;top:124px;left:41px;z-index:2}.nagi-editorial h3{font:500 61px/1.55 var(--serif);letter-spacing:.06em;margin:29px 0 22px}.nagi-editorial p{font:15px/2.2 var(--serif)}.nagi-stay{display:block;font:10px/1.5 Arial,sans-serif;letter-spacing:.08em;margin-top:27px}.nagi-bottom{position:absolute;bottom:0;left:0;right:0;height:70px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;font:10px/1.5 Arial,sans-serif;letter-spacing:.12em}.nagi-bottom b{font:italic 38px/1 Georgia,serif;letter-spacing:-.07em}
.design-so{background:#f3f0df;color:#2d432b}.so-nav{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 39px;border-bottom:1px solid #34432d3b;position:relative;z-index:3}.so-nav b{font:italic 61px/1 Georgia,serif;letter-spacing:-.09em}.so-nav span{font:11px/1.5 Arial,sans-serif;letter-spacing:.12em}.so-editorial{position:absolute;left:40px;top:130px;z-index:2}.so-editorial h3{font:500 68px/1.3 var(--serif);letter-spacing:.02em;margin:25px 0}.so-editorial p{font:16px/2 var(--serif)}.so-stamp{font:10px/1.7 Arial,sans-serif;letter-spacing:.09em;display:block;margin-top:38px}.so-product{position:absolute;left:327px;right:0;top:82px;bottom:61px;background:#e8eadc;overflow:hidden}.so-product img{width:100%;height:100%;object-fit:cover;object-position:center;mix-blend-mode:multiply}.so-word{position:absolute;right:44px;top:118px;font:56px/.97 Georgia,serif;letter-spacing:-.05em;color:#24412d;text-align:right}.so-word i{font-weight:400}.so-bottom{position:absolute;left:0;right:0;bottom:0;height:61px;display:flex;align-items:center;justify-content:space-between;padding:0 39px;border-top:1px solid #34432d3b;font:11px/1.5 Arial,sans-serif;letter-spacing:.05em}
.design-oto{background:#2035ec;color:#e0ff58}.oto-nav{height:72px;margin:0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #caff5077;font:11px/1.5 Arial,sans-serif;letter-spacing:.07em}.oto-nav b{font:700 23px/1 Arial,sans-serif;letter-spacing:-.04em}.oto-copy{position:absolute;left:31px;top:102px;z-index:2}.oto-copy h3{font:900 121px/.88 Arial,sans-serif;letter-spacing:-.065em;margin-top:24px}.oto-copy h3 i{font-style:normal;color:#fff}.oto-visual{position:absolute;right:33px;top:102px;width:422px;height:417px;overflow:hidden;background:#fa754b;transform:rotate(4deg)}.oto-visual img{width:100%;height:100%;object-fit:cover;object-position:64% center}.oto-visual>span{position:absolute;bottom:24px;right:21px;display:block;background:#dfff4d;color:#12228b;font:bold 15px/1.8 var(--sans);padding:8px 13px;transform:rotate(-4deg)}.oto-bottom{position:absolute;bottom:0;left:0;right:0;height:107px;background:#dfff4d;color:#2331d8;display:flex;align-items:center;justify-content:space-between;padding:0 34px}.oto-bottom strong{font:700 60px/1 Arial,sans-serif;letter-spacing:-.06em}.oto-bottom span{font:700 14px/1.45 Arial,sans-serif;letter-spacing:-.01em}

/* Print-like detail, consistent Japanese type, and a single editorial grid. */
@font-face{font-family:"Re Lab Serif";src:url('assets/fonts/re-lab-serif-v31.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Re Lab Sans";src:url('assets/fonts/re-lab-sans-v29.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
.site-header{padding-inline:max(56px,calc((100vw - 1224px)/2));height:104px}
.brand-name{letter-spacing:-1.05px}.brand-caption{font-size:11px;letter-spacing:.08em}
.site-nav{gap:27px;font-size:13px}.nav-contact{border:0;padding:9px 0;background:transparent;border-radius:0}.nav-contact:hover{background:transparent;color:var(--blue)}
.hero{height:100svh;min-height:720px;max-height:950px}.hero-inner{min-height:720px;padding-top:155px;padding-bottom:84px}.hero-copy{width:56%}.hero-eyebrow{margin-bottom:25px;font-size:12px;letter-spacing:.18em}
.hero h1{font-family:var(--serif);font-size:clamp(54px,5.6vw,81px);font-weight:400;line-height:1.45;letter-spacing:.01em;font-feature-settings:"palt" 1;color:#123b51}
.hero-lead{font-size:16px;line-height:2.05;margin-top:27px;letter-spacing:.02em}.hero-invitation .button{margin-top:29px;min-width:238px;min-height:55px;padding:15px 23px;font-size:14px;justify-content:center;box-shadow:none;border-radius:2px}.button-blue{box-shadow:none}.hero-school{font-size:12px;margin-top:20px;letter-spacing:.025em}
.hero-wash{background:linear-gradient(90deg,rgba(250,254,255,.94),rgba(250,254,255,.78) 20%,rgba(250,254,255,.40) 42%,rgba(250,254,255,.06) 65%,transparent 80%),linear-gradient(0deg,rgba(244,251,255,.25),transparent 25%,transparent 80%,rgba(244,251,255,.30))}
.portfolio-dock{width:42%;max-width:535px;right:0;bottom:80px}.book-heading{flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:8px;padding:0;gap:16px}.book-handwriting{font:italic 24px/1.3 Georgia,serif;letter-spacing:-.025em;color:#214b60}.book-invitation{font-size:11px;letter-spacing:0;color:#355467;white-space:nowrap}
.book-stage{padding:12px 0 18px;filter:drop-shadow(4px 17px 16px #16486525)}.book-spread{height:auto;aspect-ratio:1080/680;transform:rotateX(8deg) rotateZ(-3deg)}.book-spread:hover{transform:rotateX(5deg) rotateZ(-2deg) translateY(-3px)}
.book-cover{inset:-2px -3px -6px;background:#c5d0d1;border-radius:2px;box-shadow:0 1px #fff,0 3px #c4cbcb,0 4px #f8f9f5,0 6px #9aacab;transform:translateZ(-3px)}
.book-page,.sheet-face{padding:0;display:block;overflow:hidden}.page-left,.page-right{box-shadow:none}.book-spine{width:14px;left:calc(50% - 7px);background:linear-gradient(90deg,transparent,#18334c13 40%,#18334c35 51%,#ffffff35 58%,transparent)}
.sheet-view{position:absolute;inset:0;overflow:hidden}.sheet-right .design-sheet{left:calc(-1 * var(--book-half,250px))}
.sheet-front{padding:0;display:block}.sheet-front:after,.sheet-back:after{background:linear-gradient(90deg,#183b5517,transparent 35%,#fff2)}
.book-controls{justify-content:space-between;gap:15px;margin-top:2px;padding:0 8px}.book-controls button{font-size:13px;min-height:38px;padding:6px 2px;border-bottom:1px solid #7a929d}.book-status{font-size:11px;letter-spacing:.10em;min-width:95px}.book-disclaimer{font-size:11px;margin-top:13px;letter-spacing:0;color:#456574}
.hero-bottom{bottom:22px}.motion-toggle{font-size:12px;padding:8px 11px;border-color:#ffffff90;background:#ffffff9c}.scroll-link{font-size:10px;letter-spacing:.12em}
h2{font-family:var(--serif);font-weight:400;letter-spacing:.02em;font-feature-settings:"palt" 1}.section{padding-block:108px}.section-rail{margin-bottom:61px}.section-heading{margin-bottom:47px}.section-label,.eyebrow{letter-spacing:.12em}.philosophy{padding-top:79px}.philosophy-grid{align-items:start}.philosophy h2{padding-top:4px;line-height:1.7}.prose{padding-top:0}
.work-wide{width:92%}.work-image{box-shadow:0 12px 30px #233c5310;outline:1px solid #19394d12}.work-open{border:1px solid #d7e2e5;box-shadow:none;bottom:15px;right:15px;font-size:12px;padding:8px 13px}.work-caption{gap:15px;padding-top:22px}.work-caption strong{font:400 26px/1.2 Georgia,serif;letter-spacing:.015em}.work-type{font-size:11px}.work-caption>span:not(.work-type){font-size:13px}.works-grid{gap:46px 32px}.works{background:#f6f9fa}
.learning-grid>li{border-top:1px solid #88adc0}.step-number{font-size:57px;font-style:normal;color:#4d819e}.learning-grid h3{font-weight:500;font-size:18px}.step-top{margin-bottom:32px}.learning-grid p{font-size:16px;line-height:2.05}.learning-info{margin-top:44px}
.portrait figcaption{border-top:1px solid var(--line);padding-top:21px;margin-top:21px}.portrait-nickname{font-family:var(--serif)}.about-copy .script-word{font-size:37px;color:#61899d;margin-bottom:25px}.story{box-shadow:none;border-top-width:1px}.story h3{font-family:var(--serif);font-weight:400}.community-photo{transform:rotate(1.8deg);box-shadow:0 20px 44px #4e809517}.together-word{font-size:clamp(65px,8.8vw,126px)}
.contact h2{font-weight:400}.contact .button{min-height:58px;box-shadow:none;border-radius:2px;justify-content:center}.contact-horizon{background:linear-gradient(#fffffff2,#ffffffbd 50%,#e7f6ff70),url('assets/hero-still.webp') 50% 67%/cover}
.dialog-work-preview{width:100%;aspect-ratio:1080/680}.dialog-content h2{font-family:Georgia,serif}.dialog-close{font-size:13px}
@media(max-width:1190px){.site-header{padding-inline:40px}.hero{min-height:710px}.hero-inner{min-height:710px;padding-top:150px}.hero h1{font-size:5.6vw}.portfolio-dock{width:42%;bottom:80px}.book-heading{gap:10px}.book-handwriting{font-size:23px}.book-invitation{font-size:10px}.book-status{font-size:10px}.book-disclaimer{font-size:10px}}
@media(min-width:961px) and (max-height:720px){.hero,.hero-inner{min-height:690px}.hero-inner{padding-top:138px}.hero h1{font-size:clamp(52px,5.1vw,70px)}.hero-eyebrow{margin-bottom:19px}.hero-lead{margin-top:22px}.hero-invitation .button{margin-top:23px}.portfolio-dock{bottom:67px}}
@media(max-width:960px){.site-header{height:92px;padding-inline:40px}.hero{height:auto;max-height:none;min-height:0}.hero-inner{height:auto;min-height:0;padding-top:143px;padding-bottom:88px}.hero-copy{width:100%}.hero h1{font-size:62px;line-height:1.5}.portfolio-dock{position:relative;max-width:520px;width:67%;right:auto;bottom:auto;margin:49px 0 0 auto}.book-heading{flex-direction:row;align-items:center}.book-handwriting{font-size:25px}.book-invitation{font-size:11px}.book-spread{height:auto;aspect-ratio:1080/680}.book-controls button{font-size:13px}.hero-bottom .motion-toggle{top:107px}.section{padding-block:86px}.section-rail{margin-bottom:43px}.philosophy h2{font-size:31px}.section-heading>p{font-size:16px}.about-grid{gap:43px}}
@media(max-width:820px){.site-header{padding-inline:22px}.hero-inner{padding-top:142px;padding-bottom:87px}.hero h1{font-size:clamp(38px,9.7vw,62px);line-height:1.58;letter-spacing:0}.hero-eyebrow{font-size:10px;margin-bottom:23px}.hero-lead{font-size:16px;line-height:2.0;margin-top:23px;letter-spacing:0}.hero-invitation .button{min-width:239px;min-height:54px;padding:14px 19px;margin-top:26px;font-size:14px}.hero-school{font-size:11px;margin-top:18px;letter-spacing:0}.hero-wash{background:linear-gradient(180deg,#f4fbffcf,#f4fbff70 42%,#f4fbff12 65%,#eef9ff42),linear-gradient(90deg,#eff9ff59,transparent 85%)}.portfolio-dock{width:calc(100% - 8px);max-width:470px;margin:44px auto 0;padding:0}.book-heading{gap:10px;margin-bottom:8px}.book-handwriting{font-size:24px}.book-invitation{font-size:10px;max-width:135px;text-align:right;white-space:normal;line-height:1.6}.book-stage{padding:12px 0 17px;filter:drop-shadow(3px 14px 12px #16486520)}.book-spread{height:auto;aspect-ratio:1080/680;transform:rotateX(6deg) rotateZ(-3deg)}.book-controls{padding:0 3px;gap:12px}.book-controls button{font-size:13px;min-height:39px}.book-status{font-size:11px;letter-spacing:.05em}.book-disclaimer{font-size:10px;line-height:1.7;margin-top:12px}.hero-bottom .motion-toggle{font-size:11px;top:102px;padding:8px 10px}.hero-bottom .scroll-link{font-size:10px;bottom:24px}.section{padding-block:69px}.section-rail{margin-bottom:37px}.philosophy{padding-top:53px}.philosophy h2{font-size:29px}.section-heading{margin-bottom:31px}.section-heading>p{font-size:15px}.work-wide{width:100%}.works-grid{gap:31px}.work-caption{gap:8px 11px;padding-top:16px;flex-wrap:wrap}.work-caption strong{font-size:25px}.work-caption>span:not(.work-type){font-size:12px}.work-type{font-size:10px}.work-open{right:9px;bottom:9px;padding:7px 10px;font-size:10px}.learning-grid h3{font-size:17px}.step-number{font-size:42px}.step-top{margin:0}.learning-grid p{font-size:16px}.portrait{width:88%}.portrait figcaption{padding-top:18px;margin-top:18px}.portrait-nickname{font-size:20px}.about-copy .script-word{font-size:36px}.story h3{font-size:22px}.dialog-content{padding:23px}.contact .button{font-size:14px;min-height:56px;padding:15px 22px}.contact h2{font-size:33px}}
@media(max-width:359px){.site-header{padding-inline:17px}.hero h1{font-size:35px}.hero-lead{font-size:14px}.hero-school{font-size:10px}.book-handwriting{font-size:22px}.book-invitation{font-size:9px;max-width:116px}.book-status{font-size:10px}.book-disclaimer{font-size:9px}.contact h2{font-size:29px}.work-type{font-size:9px}}

@media(max-width:960px){.learning-grid{grid-template-columns:1fr;gap:34px}}

/* A sanctuary above the clouds. Keep the island clear of the editorial layer. */
.hero{background:#edf6fb;min-height:860px;height:100svh;max-height:1050px}
.hero-inner{min-height:860px;padding-top:181px}
.hero-scene{position:absolute;z-index:-3;inset:0 0 auto;height:85%;min-height:700px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 0 84%,transparent 100%);mask-image:linear-gradient(#000 0 84%,transparent 100%)}
.hero-motion{z-index:auto;object-position:75% 50%;animation:sky-island-drift 16s ease-in-out infinite alternate both;transform-origin:74% 40%}
@keyframes sky-island-drift{from{transform:scale(1.025) translate3d(-.7%,.45%,0)}to{transform:scale(1.09) translate3d(.65%,-1.1%,0)}}
.hero-wash{background:linear-gradient(90deg,#f4faffd9 0%,#f4faffba 22%,#f4faff66 39%,#f4faff0a 56%,transparent 70%),linear-gradient(180deg,#edf7ff59 0%,transparent 17%,transparent 85%,#edf6fb 100%)}
.hero-copy{width:59%}.hero h1{color:#143d51;text-shadow:0 1px 14px #eff8ff30}
.hero-title-accent{color:#18777b;text-shadow:none}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
 .hero-title-accent{background:linear-gradient(105deg,#165f87 8%,#18777b 92%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
}
.hero-eyebrow:before{content:"";display:inline-block;width:24px;height:1px;margin-right:13px;vertical-align:middle;background:#a98950}
@media(forced-colors:active){.hero-title-accent{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText}.hero-eyebrow:before{background:CanvasText}}
.hero-lead{color:#244b5e}.hero-eyebrow{color:#245f79}
.portfolio-dock{width:32%;max-width:405px;bottom:57px;right:0}
.book-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px}.book-handwriting{font-size:23px;white-space:nowrap}.book-invitation{display:block;margin:0;font-size:12px;letter-spacing:0;white-space:normal;line-height:1.5;max-width:145px;text-align:right}
.book-stage{padding:10px 0 14px;filter:drop-shadow(6px 22px 18px #244b682d)}
.book-controls{gap:12px;padding:0}.book-controls button{font-size:14px;min-height:42px}.book-status{font-size:12px;letter-spacing:.035em}
.book-disclaimer{font-size:12px;line-height:1.65;margin-top:8px}
.hero-school{font-size:12px}.hero-bottom .motion-toggle{font-size:12px}.hero-bottom .scroll-link{font-size:12px}
.contact-horizon{background:linear-gradient(#fffffff5,#ffffffe0 40%,#edf6fb99),url('assets/sky-island.webp') 68% 43%/cover}
@media(min-width:1440px){.hero-inner{padding-top:190px}.portfolio-dock{width:32%;bottom:62px}.hero-scene{height:88%}}
@media(min-width:961px) and (max-height:760px){.hero,.hero-inner{min-height:820px}.hero-inner{padding-top:165px}.hero-scene{height:72%;min-height:590px}.hero h1{font-size:clamp(54px,5.6vw,81px)}.portfolio-dock{bottom:50px}}
@media(max-width:960px){
 .hero{height:auto;max-height:none;min-height:0;background:#eff7fb}
 .hero-inner{height:auto;min-height:0;padding-top:147px;padding-bottom:87px}
 .hero-copy{width:100%}.hero h1{font-size:62px}
 .hero-scene{inset:330px 0 auto;height:500px;min-height:0;-webkit-mask-image:linear-gradient(transparent,#000 6% 77%,transparent);mask-image:linear-gradient(transparent,#000 6% 77%,transparent)}
 .hero-motion{object-position:80% 50%;transform-origin:76% 43%}
 .hero-wash{background:linear-gradient(180deg,#edf7fb 0%,#edf7fb00 25%,#edf7fb00 61%,#eff7fb 78%)}
 .hero-lead{margin-top:350px}
 .portfolio-dock{position:relative;width:72%;max-width:480px;bottom:auto;right:auto;margin:49px 0 0 auto}
 .book-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px}.book-handwriting{font-size:24px}.book-invitation{font-size:12px;white-space:normal;text-align:right;max-width:150px;margin:0}
 .hero-bottom .motion-toggle{top:105px;background:#fff9;font-size:12px}
 .book-controls button{font-size:14px}.book-disclaimer{font-size:12px}
}
@media(max-width:820px){
 .hero-inner{padding-top:147px}.hero h1{font-size:clamp(38px,9.7vw,62px);line-height:1.58}
 .hero-eyebrow{font-size:12px;margin-bottom:23px;letter-spacing:.12em}
 .hero-scene{top:clamp(237px,calc(25vw + 130px),335px);height:480px}
 .hero-motion{object-position:95% center}
 .hero-lead{margin-top:328px;font-size:16px;line-height:2}
 .hero-invitation .button{margin-top:24px}.hero-school{font-size:12px;letter-spacing:0}
 .hero-wash{background:linear-gradient(180deg,#eff7fb 0%,transparent 22%,transparent 48%,#eff7fb 62%)}
 .portfolio-dock{width:calc(100% - 8px);max-width:470px;margin:46px auto 0}
 .book-heading{gap:12px}.book-handwriting{font-size:24px}.book-invitation{font-size:12px;line-height:1.5;max-width:144px}
 .book-status{font-size:12px}.book-disclaimer{font-size:12px}.book-controls button{min-height:44px;font-size:14px}
 .hero-bottom .scroll-link{font-size:12px}.hero-bottom .motion-toggle{top:103px;font-size:12px;padding:8px 10px}
}
@media(max-width:420px){.hero-scene{top:226px;height:460px}.hero-motion{object-position:95% center}.hero-lead{margin-top:305px}.book-handwriting{font-size:22px}.book-invitation{font-size:12px;max-width:132px}}
@media(max-width:359px){.hero h1{font-size:35px}.hero-scene{top:224px;height:375px}.hero-lead{margin-top:250px;font-size:16px}.hero-school{font-size:12px}.book-heading{display:block}.book-invitation{max-width:none;text-align:left;margin-top:4px}.book-status,.book-disclaimer{font-size:12px}}
@media(prefers-reduced-motion:reduce){.hero-motion{animation-duration:16s!important;animation-iteration-count:infinite!important;animation-play-state:paused}}

/* The original island illustration and its cinemagraph share identical framing. */
.hero-motion{animation:none!important;transform:none!important;opacity:1}
.sky-film{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:75% 50%;opacity:0;pointer-events:none;transition:opacity .6s ease}
/* Keep the opaque poster underneath: two simultaneous fades expose pale background. */
.hero-film .sky-film{opacity:1}
/* Preserve the sky above the island throughout the sunrise on desktop. */
@media(min-width:961px){.hero-motion,.sky-film{object-position:75% 0%}}
@media(min-width:961px) and (min-aspect-ratio:16/9){.hero-scene{height:100%}}
@media(max-width:960px){.sky-film{object-position:80% 50%}.hero-lead{margin-top:382px}}
@media(max-width:820px){.sky-film{object-position:95% center}.hero-lead{margin-top:357px}}
@media(max-width:420px){.hero-lead{margin-top:335px}}
@media(max-width:359px){.hero-lead{margin-top:290px}}
@media(prefers-reduced-motion:reduce){.sky-film,.hero-motion{transition:none}}

/* Wordmark, unlabelled tactile book, and a clear concept-to-school sequence. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
.brand-name{display:flex;align-items:baseline;gap:11px;line-height:1;letter-spacing:0}.brand-name b{font:italic 46px/.95 Georgia,serif;font-weight:400;letter-spacing:-3px;margin:0}.brand-colon{color:#bb945c;margin-left:1px}.brand-wordmark{font:400 26px/1.1 Georgia,serif;letter-spacing:-.04em}.brand-caption{margin-top:10px;font:10px/1.3 Arial,sans-serif;letter-spacing:.23em;padding-left:2px}
.portfolio-dock{bottom:92px}.book-stage{padding:12px 0 15px}.book-spread{transition:transform .38s cubic-bezier(.2,1.6,.4,1),filter .3s;transform:rotateX(8deg) rotateZ(-4deg)}
@media(hover:hover){.book-spread:hover{transform:rotateX(1deg) rotateZ(-1deg) translateY(-12px) scale(1.045);filter:drop-shadow(0 10px 12px #35637826)}}
.book-spread:focus-visible{transform:rotateX(1deg) rotateZ(-1deg) translateY(-9px) scale(1.035)}.book-spread:active{transform:rotateX(3deg) rotateZ(-2deg) translateY(-3px) scale(1.015)}
.book-spread.is-turning{transform:rotateX(4deg) rotateZ(-2deg) translateY(-3px)}
.concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.concept-copy h2{font-size:clamp(30px,3.5vw,48px);line-height:1.65;margin-bottom:32px}.concept-copy .prose p{font-size:16px;line-height:2.15}.concept-copy .prose p+p{margin-top:22px}.concept-photo{margin:0;position:relative;padding-top:22px}.concept-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}.concept-photo figcaption{font-size:12px;letter-spacing:.07em;margin-top:17px;color:var(--muted)}
.learning{position:relative}.school-details{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;margin-top:45px}.school-detail-label{display:block;font-size:13px;color:var(--muted);margin-bottom:10px}.school-details p{font-size:16px;line-height:1.9}.school-details .school-price{font-size:16px;white-space:nowrap}.school-price strong{font:400 35px/1.2 Georgia,serif;letter-spacing:.01em;margin:0 5px}.school-details .school-cost-note{font-size:12px;color:var(--muted);margin-top:10px}.school-invite{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-top:31px}.school-invite p{font-size:14px;line-height:1.9;color:var(--muted)}.school-invite .button{font-size:14px;border-radius:2px;white-space:nowrap}
.portrait img{aspect-ratio:4/3;object-fit:cover;object-position:50% 42%}.portrait figcaption{align-items:flex-start}.about-copy .script-word{font-size:27px;letter-spacing:-.035em}.about-copy h2{font-size:clamp(29px,3.1vw,42px)}
@media(max-width:960px){.concept-grid{gap:6%}.concept-copy h2{font-size:32px}.school-invite{align-items:flex-start}.portfolio-dock{bottom:auto;margin-top:50px}.brand-name b{font-size:43px}.brand-wordmark{font-size:24px}}
@media(max-width:820px){.brand-name{gap:9px}.brand-name b{font-size:39px}.brand-wordmark{font-size:22px}.brand-caption{font-size:9px;margin-top:8px;letter-spacing:.18em}.concept-grid{grid-template-columns:1fr;gap:34px}.concept-copy h2{font-size:31px;margin-bottom:24px}.concept-photo{padding:0}.concept-photo figcaption{font-size:12px;margin-top:12px}.school-details{grid-template-columns:1fr;gap:26px;padding:26px 0;margin-top:32px}.school-price strong{font-size:33px}.school-invite{flex-direction:column;align-items:flex-start;gap:22px}.school-invite .button{width:100%;justify-content:center;white-space:normal;text-align:center}.portrait{width:100%}.about-copy .script-word{font-size:25px}.portfolio-dock{margin-top:49px}.book-stage{padding-bottom:17px}}
@media(prefers-reduced-motion:reduce){.book-spread:hover,.book-spread:focus-visible{transform:rotateX(8deg) rotateZ(-4deg)}}

/* Retain current school and activity presentation below the restored hero. */
.school-heading h2{font-size:clamp(31px,3.4vw,46px)}.school-heading>p{font-size:16px;line-height:2.1}
.school-path{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:42px 36px;padding:0;margin:0}
.school-path>li{min-width:0;background:#f3f6f5;border:1px solid #dce5e6;overflow:hidden}
.school-path .school-first{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.04fr;background:#edf3f5;border:0}
.school-visual{position:relative;aspect-ratio:1.8;overflow:hidden;background:#e3eced}.school-visual>img{width:100%;height:100%;object-fit:cover;display:block}.school-first .school-visual{aspect-ratio:auto;min-height:430px}.first-visual>img{object-position:50% 40%}
.school-first .school-step-copy{padding:39px 39px 34px}.school-step-copy{padding:28px 31px 30px}
.school-path .step-top{margin-bottom:20px}.school-path .step-number{font:400 50px/1 Georgia,serif;color:#618896}.school-path .step-top .eyebrow{font-size:11px;letter-spacing:.13em;color:#527384}.school-path h3{font:400 25px/1.65 var(--serif);letter-spacing:.015em;margin-bottom:17px}.school-first h3{font-size:31px;line-height:1.65}.school-path p{font-size:16px;line-height:1.95;color:#456272;letter-spacing:0}
.assignment-label{position:absolute;left:24px;bottom:24px;background:#fffef9ed;color:#284659;padding:18px 22px;border-left:3px solid #cf694b;box-shadow:0 7px 26px #12273515}.assignment-label>span{display:block;font-size:12px;line-height:1.6}.assignment-label>span:first-child{font:10px/1.5 Arial,sans-serif;letter-spacing:.12em;color:#748590}.assignment-label strong{display:block;font:400 21px/1.4 var(--serif);margin:8px 0}.first-job-terms{display:flex;gap:9px 20px;flex-wrap:wrap;align-items:center;margin-top:24px;padding-top:20px;border-top:1px solid #c8d9de;font-size:13px;color:#345a6a}.first-job-terms strong{font:400 25px/1 Georgia,serif}
.visual-caption{position:absolute;left:24px;bottom:20px;color:white;text-shadow:0 1px 12px #122d49;font:12px/1.5 Arial,sans-serif;letter-spacing:.1em}.school-path>li:not(.school-first) .school-visual:after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#12374f45);pointer-events:none}.visual-caption{z-index:1}.support-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:24px}.support-tags>span{font-size:12px;line-height:1.5;padding:6px 10px;background:#fff;border:1px solid #dbe5e4;color:#53707d}.school-terms{font-size:12px;line-height:1.9;color:#627c89;margin-top:20px}.school-details{margin-top:35px}
.together{padding:97px 0 86px;background:#edf4f7}.together-grid{grid-template-columns:.9fr 1.2fr;gap:60px}.together h2{font-size:clamp(31px,3vw,42px)}.together-copy>p:not(.eyebrow){font-size:16px;line-height:2}
.activity-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:13px;align-items:start}.activity-mosaic figure{margin:0;overflow:hidden}.activity-mosaic img{width:100%;height:auto;aspect-ratio:1.9;object-fit:cover;display:block}.activity-mosaic figure:first-child{grid-column:1/-1}.activity-mosaic figure:nth-child(3){margin-top:26px}.activity-mosaic figcaption{font-size:12px;color:#67808e;padding-top:9px}.activity-mosaic figure:first-child img{aspect-ratio:1.9}.activity-filmstrip{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;margin-top:31px;align-items:center}.activity-filmstrip img{width:100%;aspect-ratio:1.9;object-fit:cover}.activity-caption{font-size:12px;color:#65808c;text-align:right;margin-top:15px}.together-word{display:none}
.portrait img{aspect-ratio:4/3;object-position:50% 43%}
@media(max-width:1190px) and (min-width:961px){.school-first .school-step-copy{padding:28px}.school-first h3{font-size:27px}.school-path p{font-size:15px}.together-grid{gap:36px}}
@media(max-width:960px){.school-path .school-first{grid-template-columns:1fr 1fr}.school-first .school-step-copy{padding:26px}.school-path{gap:27px}.school-first h3{font-size:26px}.school-first .school-visual{min-height:420px}.school-step-copy{padding:24px}.school-path h3{font-size:23px}.school-path p{font-size:16px}.together-grid{gap:35px}.together-copy h2{font-size:31px}.assignment-label{left:17px;bottom:17px}}
@media(max-width:820px){.school-heading h2{font-size:31px}.school-path{grid-template-columns:1fr;gap:28px}.school-path .school-first{grid-template-columns:1fr;grid-column:auto}.school-first .school-visual{aspect-ratio:1.55;min-height:0}.school-first .school-step-copy,.school-step-copy{padding:25px}.school-first h3{font-size:27px}.school-path h3{font-size:24px}.school-path .step-top{margin-bottom:17px}.school-path .step-number{font-size:43px}.school-path .school-visual{aspect-ratio:1.55}.school-path p br{display:none}.first-job-terms{gap:12px;flex-direction:column;align-items:flex-start}.assignment-label{padding:12px 16px;left:15px;bottom:15px}.assignment-label strong{font-size:18px}.assignment-label>span{font-size:11px}.school-terms{font-size:12px}.together{padding:68px 0}.together-grid{grid-template-columns:1fr;gap:32px}.together h2{font-size:33px}.activity-mosaic{gap:10px}.activity-mosaic figure:nth-child(3){margin-top:20px}.activity-filmstrip{gap:10px;margin-top:18px;grid-template-columns:1fr 1fr}.activity-caption{text-align:left;line-height:1.8}.activity-mosaic figure:first-child img{aspect-ratio:1.7}.activity-mosaic img,.activity-filmstrip img{aspect-ratio:1.55}.activity-mosaic figcaption{font-size:11px}}

/* A single, clear invitation to connect on LINE. */
.contact .line-invite{gap:21px;margin-top:37px}.line-invite-copy{font-size:17px;line-height:1.8;color:#315566}
.contact .button-line{background:#087b3b;color:#fff;min-width:326px;min-height:66px;border:1px solid #087b3b;border-radius:3px;font-size:17px;letter-spacing:.035em;box-shadow:0 10px 28px #147c3b20;justify-content:center;padding:18px 34px;transition:background .25s,transform .25s,box-shadow .25s}
.contact .button-line:hover{background:#06642f;border-color:#06642f;transform:translateY(-2px);box-shadow:0 13px 30px #147c3b2c}
.line-invite .contact-secondary{margin-top:5px;font-size:14px;color:#466d7e}
@media(max-width:820px){.contact .line-invite{margin-top:30px;gap:20px}.line-invite-copy{font-size:16px}.contact .button-line{width:100%;max-width:360px;min-width:0;min-height:62px;font-size:16px;padding:18px 20px}.line-invite .contact-secondary{font-size:14px}}

.activity-mosaic figure:first-child img{aspect-ratio:1200/630}

/* The current anthology closes at either end, without wrapping around. */
.book-spread.is-closed-front .book-cover{left:50%}.book-spread.is-closed-back .book-cover{right:50%}
.book-spread.is-closed-front .book-spine,.book-spread.is-closed-back .book-spine{opacity:0}
.book-spread.is-closed-front .page-left,.book-spread.is-closed-back .page-right{box-shadow:none}
/* A closed cover is present from the first paint, with a quiet opening cue. */
.book-spread.is-closed-front .page-left,.book-spread.is-closed-back .page-right{visibility:hidden;background:transparent}
.book-spread.is-closed-front .page-right,.book-spread.is-closed-back .page-left{background:transparent}
.book-spread.is-closed-front .page-right:before,.book-spread.is-closed-back .page-left:before{content:"";position:absolute;z-index:2;right:0;bottom:0;width:21px;height:21px;background:linear-gradient(135deg,transparent 48%,#eef4f1 50%,#bfd0cc 100%);filter:drop-shadow(-2px -2px 2px #24485b24);transition:width .3s ease,height .3s ease;pointer-events:none}
.book-spread.is-closed-front .page-right:after,.book-spread.is-closed-back .page-left:after{content:"↖";position:absolute;z-index:3;right:29px;bottom:13px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#bd5846;color:#fff8ef;font:19px/1 Arial,sans-serif;box-shadow:0 3px 10px #95402d25;opacity:0;transform:translateY(4px) scale(.8);transition:opacity .2s ease,transform .3s ease;pointer-events:none}
.book-spread.is-closed-back .page-left:after{content:"↗"}
@media(hover:hover){
 .book-spread:is(.is-closed-front,.is-closed-back):hover{transform:rotateX(5deg) rotateZ(-4deg) translateY(-6px) scale(1.025)}
 .book-spread.is-closed-front:hover .page-right:before,.book-spread.is-closed-back:hover .page-left:before{width:32px;height:32px}
 .book-spread.is-closed-front:hover .page-right:after,.book-spread.is-closed-back:hover .page-left:after{opacity:1;transform:translateY(0) scale(1)}
}
.book-spread.is-closed-front:focus-visible .page-right:after,.book-spread.is-closed-back:focus-visible .page-left:after{opacity:1;transform:translateY(0) scale(1)}
@media(prefers-reduced-motion:reduce){.book-spread:is(.is-closed-front,.is-closed-back):hover{transform:rotateX(8deg) rotateZ(-4deg)}}
.cover-design{position:absolute;inset:0 auto auto 0;width:540px;height:680px;transform:scale(var(--sheet-scale,.5));transform-origin:0 0;background:#dce7e7;color:#24485b;box-shadow:inset 13px 0 18px #21465712,inset 0 0 0 2px #ffffff80;padding:42px 48px;display:flex;flex-direction:column}
.cover-small{font:13px/1.4 Arial,sans-serif;letter-spacing:.27em}.cover-monogram{font:italic 85px/1 Georgia,serif;margin:44px 0 37px}.cover-monogram span{color:#a98143}.cover-title{font:63px/1.08 Georgia,serif;letter-spacing:-.045em}.cover-foot{margin-top:auto;font:12px/1.8 Arial,sans-serif;letter-spacing:.12em}.cover-design-back{background:#cfdfe2}.cover-back-word{font:italic 76px/1.07 Georgia,serif;margin-top:110px}

/* A boundary turn keeps only the stationary cover beneath the moving leaf. */
.book-spread.boundary-front .book-cover{left:50%}.book-spread.boundary-back .book-cover{right:50%}
/* A narrow binding stays on the stationary half as the cover opens/closes. */
.book-spread.boundary-front .book-spine,.book-spread.boundary-back .book-spine{opacity:1;width:2px;background:linear-gradient(90deg,#708e9280,#d8e4df);transform:none}
.book-spread.boundary-front .book-spine{left:50%}
.book-spread.boundary-back .book-spine{left:calc(50% - 2px)}
.book-spread,.book-spread:hover,.book-spread.is-turning{filter:none}
/* Three complete fictional websites: a retreat, a fragrance maison, an exhibition. */
.website-lumiere{background:#f5f2e9;color:#263e3a;font-family:var(--sans)}
.lc-nav{height:87px;display:flex;align-items:center;gap:35px;padding:0 35px;border-bottom:1px solid #263e3a20}
.lc-logo{font:30px/1 Georgia,serif;letter-spacing:-.045em;min-width:249px}.lc-logo>span{display:block;font:8px/1.4 Arial,sans-serif;letter-spacing:.29em;margin-top:9px}
.lc-links{display:flex;gap:24px;margin-left:auto;font:12px/1.5 var(--sans);letter-spacing:.03em}.lc-booking{border:1px solid #344f43;padding:12px 19px;font:12px/1.4 var(--sans);white-space:nowrap}
.lc-hero{position:absolute;inset:87px 0 91px}.lc-editorial{position:absolute;inset:0 auto 0 0;width:455px;padding:57px 0 0 39px;z-index:1}.lc-eyebrow{font:10px/1.5 Arial,sans-serif;letter-spacing:.16em;color:#767e68}.lc-editorial h3{font:400 43px/1.62 var(--serif);letter-spacing:.02em;margin:27px 0 20px;white-space:nowrap}.lc-editorial p{font:13px/2.1 var(--sans);letter-spacing:.03em;color:#52645b}.lc-discover{display:inline-block;font:11px/1.5 var(--sans);border-bottom:1px solid #536753;margin-top:25px;padding:0 0 9px;letter-spacing:.07em}.lc-script{display:block;font:italic 34px/1 Georgia,serif;color:#8d967e;margin-top:35px;letter-spacing:-.03em}
.lc-photo{position:absolute;inset:0 0 0 455px;overflow:hidden;background:#b5d1db}.lc-photo img{width:100%;height:100%;object-fit:cover;object-position:center 53%}.lc-photo:after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#16343b4d)}.lc-photo-note{position:absolute;left:28px;bottom:27px;z-index:1;font:9px/1.5 Arial,sans-serif;letter-spacing:.14em;color:#fff}.lc-slide{position:absolute;right:25px;bottom:26px;display:flex;align-items:center;gap:11px;font:10px/1.5 Arial,sans-serif;color:#fff;z-index:1}.lc-slide i{display:block;width:47px;height:1px;background:#fff9}
.lc-reservation{position:absolute;inset:auto 0 0;height:91px;display:flex;align-items:center;padding:0 35px;gap:27px;background:#eeeee4}.lc-reservation-title{font:20px/1.14 Georgia,serif;min-width:213px;letter-spacing:-.025em}.lc-reservation>div{min-width:139px;border-left:1px solid #acb7a5;padding-left:20px}.lc-reservation>div>span{font:8px/1.5 Arial,sans-serif;letter-spacing:.13em;color:#6c7a67}.lc-reservation strong{display:block;font:12px/1.5 var(--sans);margin-top:6px;font-weight:400}.lc-reserve-action{background:#354d43;color:#fff;font:12px/1.5 var(--sans);padding:18px 22px;margin-left:auto;white-space:nowrap}
.website-sillage{background:#f0e8dc;color:#493328;font-family:var(--sans)}.sg-notice{position:absolute;top:0;left:0;right:0;height:27px;background:#4d352c;color:#eee4d4;text-align:center;padding-top:7px;font:8px/1.5 Arial,sans-serif;letter-spacing:.22em}.sg-nav{position:absolute;top:27px;left:0;right:0;height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 35px}.sg-nav>div{display:flex;gap:26px;font:10px/1.5 Arial,sans-serif;letter-spacing:.08em;min-width:280px}.sg-nav>div:last-child{justify-content:flex-end}.sg-nav>b{font:34px/1 Georgia,serif;letter-spacing:.22em;text-align:center;font-weight:400;padding-left:7px}.sg-nav>b>span{display:block;font:8px/1.5 Arial,sans-serif;letter-spacing:.4em;margin-top:8px}
.sg-photo{position:absolute;left:0;top:111px;bottom:48px;width:540px;overflow:hidden;background:#2f231e}.sg-photo img{width:100%;height:100%;object-fit:cover;object-position:center 59%}.sg-photo>span{position:absolute;bottom:25px;left:29px;color:#fff0d7;font:9px/1.8 Arial,sans-serif;letter-spacing:.15em}.sg-editorial{position:absolute;left:540px;right:0;top:111px;bottom:48px;padding:53px 43px 20px}.sg-kicker{font:9px/1.5 Arial,sans-serif;letter-spacing:.14em;color:#8d7565}.sg-editorial h3{font:400 46px/1.62 var(--serif);letter-spacing:.05em;margin:24px 0 16px}.sg-editorial p{font:13px/2 var(--sans);letter-spacing:.04em;color:#766254}.sg-cta{display:inline-block;margin-top:25px;padding:15px 28px;background:#493328;color:#fff5e8;font:11px/1.5 var(--sans);letter-spacing:.08em}.sg-notes{display:flex;gap:11px;align-items:center;font:8px/1.5 Arial,sans-serif;letter-spacing:.1em;margin-top:27px;color:#8c7365}.sg-notes i{font-style:normal;color:#baa591}.sg-script{display:block;font:italic 30px/1 Georgia,serif;letter-spacing:-.035em;margin-top:24px;color:#ad8f70}.sg-footer{position:absolute;bottom:0;left:0;right:0;height:48px;padding:0 35px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #6d4e3a30;font:9px/1.5 Arial,var(--sans);letter-spacing:.09em}
.website-formfield{background:#f1f0eb;color:#1e231d;font-family:var(--sans)}.ff-nav{height:82px;display:flex;align-items:center;gap:36px;padding:0 32px;border-bottom:1px solid #232a232c}.ff-nav>b{font:800 26px/1 Arial,sans-serif;letter-spacing:-.07em}.ff-nav>b>span{color:#ee542c;margin:0 3px}.ff-nav>div{display:flex;gap:25px;margin-left:auto;font:10px/1.4 Arial,sans-serif;letter-spacing:.05em}.ff-ticket{background:#21291f;color:#fff;padding:12px 24px;font:12px/1.5 var(--sans)}
.ff-copy{position:absolute;left:0;top:82px;bottom:63px;width:520px;padding:33px 32px}.ff-kicker{font:9px/1.5 Arial,sans-serif;letter-spacing:.09em;color:#3b49bc}.ff-copy h3{font:900 107px/.97 Arial,sans-serif;letter-spacing:-.085em;margin:24px 0 24px}.ff-copy h3>span:not(.ff-period){color:#ee542c}.ff-copy .ff-period{color:#1e231d;letter-spacing:-.1em}.ff-copy>p{font:400 25px/1.6 var(--sans);letter-spacing:.025em}.ff-event{display:flex;justify-content:space-between;align-items:end;margin-top:27px;padding-top:19px;border-top:1px solid #bcc2b5}.ff-event>div>span{font:8px/1.4 Arial,sans-serif;letter-spacing:.09em}.ff-event strong{display:block;font:700 22px/1.4 Arial,sans-serif;letter-spacing:-.055em;margin-top:5px}.ff-venue{font:10px/1.7 Arial,sans-serif;letter-spacing:.05em}
.ff-photo{position:absolute;left:520px;right:0;top:82px;bottom:63px;overflow:hidden}.ff-photo img{width:100%;height:100%;object-fit:cover;object-position:center 50%}.ff-photo-label{position:absolute;left:24px;bottom:25px;background:#f1f0eb;padding:10px 13px;font:9px/1.4 Arial,sans-serif;letter-spacing:.04em}.ff-footer{position:absolute;left:0;right:0;bottom:0;height:63px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:#364df2;color:#fff}.ff-footer>b{font:700 30px/1 Arial,sans-serif;letter-spacing:-.045em}.ff-footer>span{font:11px/1.5 var(--sans);letter-spacing:0}
/* Fixed intrinsic widths keep miniature navigation and dates on one line. */
.lc-logo{flex:0 0 249px}.lc-links{flex:0 0 315px;justify-content:space-between;gap:0;white-space:nowrap}.lc-links>span,.lc-booking{flex-shrink:0;white-space:nowrap}
.ff-nav>b{flex:0 0 205px}.ff-nav>div{flex:0 0 323px;justify-content:space-between;gap:0;white-space:nowrap}.ff-ticket{flex-shrink:0;white-space:nowrap}
.ff-event>div{flex:0 0 310px}.ff-event strong{white-space:nowrap;font-size:21px}.ff-venue{flex-shrink:0;white-space:nowrap}.ff-footer>b,.ff-footer>span{flex-shrink:0;white-space:nowrap}.ff-footer>b{font-size:29px}


/* A fluid serif signature paired with a clean, outlined wordmark. */
.brand .brand-logo{display:block;width:218px;height:auto;max-width:none}
.brand .brand-caption{margin-top:7px;padding-left:2px;font:400 10.5px/1.5 var(--sans);letter-spacing:.06em;color:#486674}
@media(max-width:960px){.brand .brand-logo{width:202px}}
@media(max-width:820px){.brand .brand-logo{width:188px}.brand .brand-caption{margin-top:6px;font-size:10px;letter-spacing:.055em}}
@media(max-width:359px){.brand .brand-logo{width:176px}}

/* Linen, warm paper edges, and a terracotta cloth binding. */
.cover-design{background-color:#e7d8ba;background-image:url('assets/book-linen.svg'),linear-gradient(90deg,#b27c5d 0 18px,#d0b18a 18px,#f4e7cc 25px,#e7d8ba 42px,#eddfc2 76%,#dfcba6);background-size:192px 192px,100% 100%;color:#624c3c;box-shadow:inset 2px 0 2px #fff4e5a0,inset -3px 0 6px #7a503a25,inset 0 0 0 2px #a88a6260;text-shadow:0 1px 0 #fff9e380}
.cover-design:before{content:"";position:absolute;inset:23px 23px 25px 34px;border:1px solid #9b7e4e32;box-shadow:0 1px 0 #fff8e360;pointer-events:none}
.cover-small,.cover-foot{color:#826c52}.cover-monogram{color:#865740}.cover-monogram span{color:#ad7b49}
.cover-design-back{background-color:#ddcba9;background-image:url('assets/book-linen.svg'),linear-gradient(270deg,#b27c5d 0 18px,#cfb18a 18px,#f0e1c3 25px,#ddcba9 42px,#e5d5b6);background-size:192px 192px,100% 100%}
.cover-design-back:before{inset:23px 34px 25px 23px}
.book-cover{background:#b79a78;box-shadow:0 1px #fff7e5,0 3px #cbbc9f,0 4px #f7efdc,0 6px #9e8060}
.book-spread.is-closed-front .page-right:before,.book-spread.is-closed-back .page-left:before{background:linear-gradient(135deg,transparent 48%,#fff2d9 50%,#cdb692 100%);filter:drop-shadow(-2px -2px 2px #7d553124)}
.book-spread.boundary-front .book-spine,.book-spread.boundary-back .book-spine{background:linear-gradient(90deg,#98795f90,#ebdbc0)}
.site-header .brand .brand-logo{width:232px}
.site-header .brand .brand-caption{font-size:10.5px;letter-spacing:.02em;margin-top:4px;line-height:1.45;padding-left:1px}
@media(max-width:960px){.site-header .brand .brand-logo{width:214px}.site-header .brand .brand-caption{font-size:10px}}
@media(max-width:820px){.site-header .brand .brand-logo{width:188px}.site-header .brand .brand-caption{font-size:10px;line-height:1.45;margin-top:3px}.site-header .brand-caption>span{display:block}}
@media(max-width:359px){.site-header .brand .brand-logo{width:176px}}

/* Bring the concept and school sections closer together. */
.philosophy{padding-bottom:54px}
.learning{padding-top:54px}
@media(max-width:960px){.philosophy{padding-bottom:43px}.learning{padding-top:43px}}
@media(max-width:820px){.philosophy{padding-bottom:35px}.learning{padding-top:35px}}

/* Cognac leather with a quiet champagne-foil signature. */
.cover-design,.cover-design-back{padding:0;background:#925b3a;color:#e7d29b;text-shadow:none;box-shadow:inset 1px 0 1px #f5d9ac66,inset -2px 0 5px #3d26184d}
.cover-design:before,.cover-design-back:before{display:none}
.cover-art{display:block;width:540px;height:680px;max-width:none;pointer-events:none}
.book-cover{background:#69422e;box-shadow:0 1px #faeed5,0 3px #cab58f,0 4px #fff5df,0 6px #68452e}
.book-spread.is-closed-front .page-right:before,.book-spread.is-closed-back .page-left:before{background:linear-gradient(135deg,transparent 48%,#eddbb8 50%,#bd9e6c 100%);filter:drop-shadow(-2px -2px 2px #5d351c38)}
.book-spread.boundary-front .book-spine,.book-spread.boundary-back .book-spine{background:linear-gradient(90deg,#69422e,#cfaf78)}

/* A brighter open sky and a small flock in continuous flight. */
.philosophy{position:relative;isolation:isolate;overflow:hidden}
.concept-content{position:relative;z-index:3}
.concept-sky{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#e8f5ff 18%,#d3ebfb 52%,#eaf6ff 82%,#fff 100%)}
.concept-cloud{position:absolute;width:min(61vw,840px);aspect-ratio:760/480;background:url('assets/cloud-sprite.webp') center/contain no-repeat;opacity:.55;animation:concept-cloud-drift 26s linear infinite alternate;animation-play-state:paused;will-change:transform}
.cloud-one{top:4%;left:-20%;animation-duration:24s}
.cloud-two{top:25%;right:-19%;width:min(70vw,1000px);opacity:.64;animation-duration:32s;animation-delay:-12s;animation-direction:alternate-reverse}
.cloud-three{bottom:-22%;left:17%;width:min(63vw,850px);opacity:.6;animation-duration:28s;animation-delay:-17s}
.is-sky-visible .concept-cloud{animation-play-state:running}
@keyframes concept-cloud-drift{from{transform:translate3d(-10%,0,0)}to{transform:translate3d(27%,-14px,0)}}
.concept-birds{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .65s ease}
.concept-birds.is-following{opacity:1}
/* Mixed sizes and independent arrivals read as a flock, without a cursor-tail hierarchy. */
.concept-bird{position:absolute;left:0;top:0;width:63px;height:63px;will-change:transform}
.concept-bird:nth-child(2){width:49px;height:49px;opacity:.88}
.concept-bird:nth-child(3){width:58px;height:58px;opacity:.97}
.concept-bird:nth-child(4){width:46px;height:46px;opacity:.85}
.concept-bird:nth-child(5){width:54px;height:54px;opacity:.93}
.concept-bird:nth-child(6){width:43px;height:43px;opacity:.83}
.concept-bird:nth-child(7){width:50px;height:50px;opacity:.9}
.concept-bird i{display:block;width:100%;height:100%}
.concept-bird canvas{display:block;width:100%;height:100%}
@media(max-width:820px){.concept-cloud{width:100vw}.cloud-one{left:-42%;top:9%}.cloud-two{right:-42%;top:35%;width:120vw}.cloud-three{left:-10%;bottom:2%;width:110vw}}
@media(any-hover:none),(prefers-reduced-motion:reduce){.concept-birds{display:none}}
@media(prefers-reduced-motion:reduce){.concept-cloud{animation:none!important;will-change:auto}.concept-birds{transition:none}}

/* Keep the desktop composition; on phones, let the notebook sit on the sky. */
.hero-invitation{position:relative;width:59%;z-index:2}
@media(max-width:960px){.hero-invitation{width:100%}}
@media(min-width:821px) and (max-width:960px){.hero-inner{display:flex;flex-direction:column}.hero-copy{order:0}.hero-invitation{order:1}.portfolio-dock{order:2}}
@media(max-width:820px){
 .hero{display:grid;grid-template-columns:22px minmax(0,1fr) 22px;grid-template-rows:auto auto auto auto;align-content:start;height:auto;min-height:0;max-height:none;padding:147px 0 40px}
 .hero-inner,.hero-copy{display:contents}
 .hero-eyebrow{grid-column:2;grid-row:1;position:relative;z-index:2}
 .hero h1{grid-column:2;grid-row:2;position:relative;z-index:2}
 .hero-scene{grid-column:1/-1;grid-row:3;position:relative;inset:auto;height:480px;min-height:0;margin-top:-80px;width:100%}
 .portfolio-dock{grid-column:2;grid-row:4;position:relative;width:calc(100% - 8px);max-width:470px;right:auto;bottom:auto;margin:-94px auto 0;z-index:3}
 .hero-invitation,.hero-bottom{display:none}
 /* Preserve the sky wash framing after removing the caption and scroll cue. */
 .hero-wash{bottom:-135px}
}
@media(max-width:420px){.hero-scene{height:460px}}
@media(max-width:359px){.hero{grid-template-columns:17px minmax(0,1fr) 17px}.hero-scene{height:375px;margin-top:-75px}.hero-bottom{left:17px;right:17px}}

/* Leave clear air between the island and either state of the desktop notebook. */
@media(min-width:961px){.portfolio-dock{right:34%;bottom:162px}}
/* Mid-sized landscapes put the island's rock edge closer to the notebook. */
@media(min-width:1180px) and (max-width:2199px){.portfolio-dock{bottom:130px}}
@media(min-width:1600px) and (max-width:2199px) and (min-aspect-ratio:16/9){.portfolio-dock{bottom:162px}}
/* A short, wide viewport crops the island farther left. */
@media(min-width:961px) and (min-aspect-ratio:16/9){.portfolio-dock{right:44%}}
@media(min-width:961px) and (max-width:1149px) and (min-aspect-ratio:16/9){.portfolio-dock{bottom:46px}}
/* Keep the open notebook clear of the enlarged landscape on wide monitors. */
@media(min-width:2200px){.portfolio-dock{right:52%;bottom:104px}}
/* A quieter lift keeps the open spread clear of the island at its higher resting point. */
@media(min-width:961px) and (hover:hover) and (prefers-reduced-motion:no-preference){.book-spread:not(.is-closed-front):not(.is-closed-back):not(.is-turning):hover{transform:rotateX(1deg) rotateZ(-1deg)}.book-spread:is(.is-closed-front,.is-closed-back):not(.is-turning):hover{transform:rotateX(8deg) rotateZ(-4deg)}}
@media(min-width:961px) and (prefers-reduced-motion:no-preference){.book-spread:not(.is-turning):focus-visible{transform:rotateX(1deg) rotateZ(-1deg)}}
/* Leave extra island clearance on the narrowest screens. */
@media(max-width:359px){.portfolio-dock{margin-top:-86px}}

/* One clear, centered next step after the school introduction. */
.school-invite{justify-content:center;align-items:center;margin-top:48px}
.school-invite .button{width:min(100%,410px);min-height:74px;justify-content:center;padding:21px 28px;border-radius:6px;font-size:17px;line-height:1.7;letter-spacing:.035em;text-align:center;white-space:normal;background:#146f86;color:#fff;box-shadow:0 10px 24px #146f862b}
.school-invite .button:hover{background:#105d70;box-shadow:0 14px 28px #146f8636}
@media(max-width:820px){.school-invite{margin-top:34px}.school-invite .button{min-height:68px;padding:19px 22px;font-size:16px}}

/* Translucent photo bubbles drifting through a luminous cosmic sky. */
.together{background:#eef4fb}
.together>.album-cosmos{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.35;pointer-events:none}
.together:before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(180deg,#f4f8fc80,transparent 24%,#eef3ff18 65%,#f4f8fc99)}
.memory-album{position:relative;isolation:isolate;margin-top:54px;overflow:hidden;background:transparent}
.bubble-field{position:relative;height:clamp(490px,46vw,610px)}
.memory-bubble,.memory-mote{position:absolute;display:block;width:30%;aspect-ratio:1;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;isolation:isolate;touch-action:pan-y;-webkit-tap-highlight-color:transparent;outline-offset:8px}
.memory-bubble{z-index:1}
.memory-mote{z-index:0;min-width:44px;min-height:44px}
.mote-1{left:1%;top:8%;width:clamp(76px,6.8vw,92px)}
.mote-2{left:29%;top:7%;width:64px}
.mote-3{right:7%;top:6%;width:clamp(88px,8vw,112px)}
.mote-4{left:34%;top:71%;width:88px}
.mote-5{right:36%;top:65%;width:76px}
.mote-6{left:57%;top:80%;width:64px}
.memory-mote .bubble-float{animation-duration:17s;animation-delay:-4s}
.memory-mote:nth-of-type(even) .bubble-float{animation-name:memory-float-high;animation-duration:21s;animation-delay:-11s}
.memory-mote .bubble-photo-frame{padding:1px;border-radius:7px}
.memory-mote .bubble-photo-frame img{border-radius:5px}
.memory-bubble:nth-child(1){left:5%;top:25%}
.memory-bubble:nth-child(2){left:38%;top:9%;width:27%}
.memory-bubble:nth-child(3){right:4%;top:36%;width:29%}
.bubble-float{display:block;position:relative;width:100%;height:100%;animation:memory-float 12.4s ease-in-out infinite;animation-play-state:paused;will-change:transform}
.memory-bubble:nth-child(2) .bubble-float{animation-name:memory-float-high;animation-duration:15.7s;animation-delay:-5.4s}
.memory-bubble:nth-child(3) .bubble-float{animation-duration:13.8s;animation-direction:reverse;animation-delay:-3s}
.memory-album.is-album-visible .bubble-float{animation-play-state:running}
.memory-bubble:is(:focus-visible,[aria-busy=true]) .bubble-float,.memory-mote:is(:focus-visible,[aria-busy=true]) .bubble-float{animation-play-state:paused}
@media(hover:hover){.memory-bubble:hover .bubble-float,.memory-mote:hover .bubble-float{animation-play-state:paused}}
.bubble-shell{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;border:1px solid #ffffffc9;background:radial-gradient(ellipse at 29% 12%,#ffffff77,transparent 34%),radial-gradient(ellipse at 78% 89%,#edcaff44,transparent 42%),linear-gradient(135deg,#e5faff20,#ffffff05 48%,#a4fff31c);box-shadow:inset 2px 3px 8px #fff9,inset -4px -6px 12px #c3c5ff77,inset 8px -9px 23px #edc9ff30,0 18px 40px -23px #17367e85;transition:box-shadow .3s}
.bubble-shell:before{content:"";position:absolute;top:8%;left:17%;width:30%;height:13%;border-top:3px solid #fffffff2;border-radius:50%;transform:rotate(-29deg);pointer-events:none}
.bubble-shell:after{content:"";position:absolute;inset:5px;border:1px solid #ffffff4a;border-bottom-color:#ffcffeaa;border-right-color:#b9f9ffaa;border-radius:50%;pointer-events:none}
.memory-bubble:hover .bubble-shell{box-shadow:inset 2px 3px 12px #fff,inset -4px -6px 15px #cec6ff99,inset 8px -9px 23px #edc9ff40,0 18px 42px -20px #17367e99}
.bubble-photo-frame{display:block;width:79%;aspect-ratio:4/3;padding:3px;background:#ffffff40;border:1px solid #ffffff87;border-radius:17px;overflow:hidden;box-shadow:0 5px 20px #25499522;transform:rotate(-3deg)}
.memory-bubble:nth-child(2) .bubble-photo-frame{transform:rotate(3deg)}
.memory-bubble:nth-child(3) .bubble-photo-frame{transform:rotate(-1.5deg)}
.bubble-photo-frame img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:13px;user-select:none;pointer-events:none}
.bubble-burst{position:absolute;z-index:4;inset:0;pointer-events:none}
.bubble-ring{position:absolute;inset:0;border:2px solid #ffffffed;border-right-color:#afcaff;border-bottom-color:#b5f7ed;border-radius:50%;box-shadow:0 0 12px #a0d6ef88,inset 0 0 8px #fff9;opacity:0;pointer-events:none}
.bubble-ring:nth-of-type(2){border-width:1px;border-color:#a5d5e5cc;box-shadow:none}
.bubble-glint{position:absolute;left:50%;top:50%;width:4px;height:15px;margin:-7px 0 0 -2px;border-radius:50%;background:#ffffffed;box-shadow:0 0 5px #6abedbb3;opacity:0;pointer-events:none}
.bubble-spark{position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border:1px solid #fffffff2;border-radius:50%;background:#dffaff77;box-shadow:0 0 7px #fff8;opacity:0;pointer-events:none}
.bubble-spark:nth-child(3n){background:#f6daff88;width:5px;height:5px}
.bubble-spark:nth-child(3n+1){background:#c9fff388}
.memory-mote .bubble-shell{box-shadow:inset 1px 2px 5px #ffffffe6,inset -2px -3px 6px #b3baff77,0 5px 12px #617f9c15;background:linear-gradient(145deg,#ffffff4d,#e6dcff0a 50%,#adefed24)}
.memory-mote .bubble-shell:before{border-top-width:2px}
.memory-mote .bubble-shell:after{inset:3px}
@keyframes memory-float{0%,100%{transform:translate3d(-8px,12px,0) rotate(-2deg)}25%{transform:translate3d(15px,-13px,0) rotate(.6deg)}50%{transform:translate3d(8px,-34px,0) rotate(2deg)}75%{transform:translate3d(-16px,-7px,0) rotate(-.5deg)}}
@keyframes memory-float-high{0%,100%{transform:translate3d(7px,5px,0) rotate(1.4deg)}30%{transform:translate3d(-17px,30px,0) rotate(-1deg)}60%{transform:translate3d(12px,-13px,0) rotate(-2deg)}80%{transform:translate3d(19px,-23px,0) rotate(.8deg)}}
@media(max-width:820px){
 .memory-album{margin-top:36px;width:calc(100% + 44px);margin-left:-22px;border-radius:0}
}
@media(max-width:559px){
 .bubble-field{height:clamp(660px,155vw,870px)}
 .memory-bubble:nth-child(1){left:4%;top:8%;width:57%}
 .memory-bubble:nth-child(2){left:auto;right:8%;top:37%;width:54%}
 .memory-bubble:nth-child(3){left:7%;right:auto;top:67%;width:47%}
 .mote-1{left:auto;right:7%;top:10%;width:70px}
 .mote-2{left:5%;top:43%;width:64px}
 .mote-3{right:9%;top:77%;width:86px}
 .mote-4{left:55%;top:84%;width:76px}
 .mote-5{right:10%;top:27%;width:66px}
 .mote-6{left:16%;top:57%;width:60px}
 .bubble-photo-frame{border-radius:13px;padding:2px}
 .bubble-photo-frame img{border-radius:10px}
}
@media(max-width:359px){.memory-album{width:calc(100% + 34px);margin-left:-17px}.bubble-field{height:640px}}
@media(prefers-reduced-motion:reduce){.bubble-float{animation:none;will-change:auto}.bubble-shell{transition:none}}

/* A clear signature on the representative's portrait. */
.assignment-label>span:first-child{font:500 12px/1.6 var(--sans);letter-spacing:.04em;color:#526f7e}
.assignment-label strong{font:500 clamp(26px,2.2vw,31px)/1.35 var(--serif);letter-spacing:.08em;margin:6px 0 0;color:#163f53}
