/* Poster-like typography and a terrain graphic shared across both practices. */
.travelgogo{--bold-purple:#d4b7f3;--bold-ink:#252719}
.tg-dual-intro{max-width:none;background:#ffcf24;padding-top:25px;padding-bottom:70px}
.dual-heading{grid-template-columns:1.7fr 1fr;margin:45px auto 55px;max-width:1280px;position:relative;gap:45px}
.dual-heading h1{font-size:clamp(3.2rem,7.5vw,7.4rem);line-height:1.05;letter-spacing:-.075em;font-weight:850;position:relative;z-index:1}
.dual-heading h1>span{display:block}.dual-heading .hero-keyword{display:inline-flex;align-items:center;gap:24px;background:#252719;color:#ffcf24;padding:5px 20px 13px;margin-top:12px;transform:rotate(-2deg)}
.hero-keyword>span{font-weight:400;letter-spacing:0}.dual-heading>p{color:#252719;max-width:330px;border-top:2px solid #252719;padding-top:20px;margin-bottom:10px;font-size:18px}
.tg-dual-intro::before{width:1000px;height:1100px;right:-240px;top:-350px;opacity:.7;mask-image:linear-gradient(to left,#000,transparent 88%);-webkit-mask-image:linear-gradient(to left,#000,transparent 88%)}
.dual-portals{max-width:1280px;margin:auto;gap:0;border:2px solid #252719;position:relative}.pillar-portal{padding:32px;background:#fffefa}.pillar-portal.media{background:#d4b7f3;color:#252719;border-left:2px solid #252719}.travelgogo .pillar-portal.media button{color:#252719}.media .pillar-heading>b{border-color:#25271955}.pillar-heading h2{font-size:clamp(1.9rem,3.1vw,3rem);letter-spacing:-.065em}.pillar-heading>span{font-weight:700}.pillar-heading p{min-height:0;margin-bottom:16px}.pillar-heading>b{padding-bottom:18px}.pillar-portal .hero-project img{background:#fff}
.tg-about.site-section{padding-top:80px;padding-bottom:80px}.tg-about .about-statement{grid-template-columns:1.15fr 1fr;gap:7%}.tg-about h2{font-size:clamp(2.3rem,4vw,4rem)}
.chapter-display{font-size:clamp(3rem,7.5vw,7rem);letter-spacing:-.075em;font-weight:850;line-height:1.15;margin-bottom:42px;padding-bottom:28px;border-bottom:2px solid currentColor}
.education-detail{background:#ece6d7}.education-detail::before{width:950px;height:1100px;left:-500px;top:100px;opacity:.5}.education-detail .eyeline,.media-detail .eyeline{border:0;padding:0;font-size:15px}.expertise-heading h2{font-size:clamp(1.8rem,2.9vw,2.8rem)}
.education-gallery{grid-template-columns:1.2fr 1fr;gap:42px;align-items:start;margin-top:45px}.education-gallery .field-shot{padding:0;box-shadow:none;background:#fff;border:0}.education-gallery .project-record-label{padding:14px 16px;background:#ffcf24}.edu-book{transform:rotate(-2deg)}.edu-character{transform:rotate(2deg);margin-top:80px}.education-gallery .field-caption{padding:20px}.education-gallery .field-image{aspect-ratio:1.18}
.media-detail{background-color:#241a30;background-image:radial-gradient(ellipse 80% 70% at 100% 20%,#744e9455,transparent 80%)}.media-detail .chapter-display{color:#d4b7f3}.media-detail::before{width:1100px;height:1200px;right:-550px;bottom:-250px;opacity:.45}.media-gallery{grid-template-columns:1.5fr 1fr;gap:0 30px;padding-top:20px}.media-stage .field-image{aspect-ratio:1.5}.media-animation .field-image{aspect-ratio:1.2}.media-gallery .field-shot{background:#ffffff08}.media-gallery .field-caption,.media-gallery .project-record-label{padding-left:16px;padding-right:16px}.media-gallery>.scroll-reveal:last-child{padding-top:65px}
.travelgogo .selected-section h2,.travelgogo .history-section h2{font-size:clamp(2.5rem,4.5vw,4.5rem)}.travelgogo .tg-footer{background:#d4b7f3;color:#252719}.tg-footer h2{font-size:clamp(2.4rem,5vw,5rem)}.tg-footer .footer-bottom{border-color:#25271955}
@media(min-width:1600px){.tg-dual-intro>.intro-topline{max-width:1280px;margin:auto}}
@media(max-width:850px){.dual-heading{grid-template-columns:1fr;gap:30px}.dual-heading h1{font-size:clamp(3.4rem,9vw,6rem)}.dual-heading>p{max-width:550px}.pillar-portal{padding:22px}.tg-about .about-statement{grid-template-columns:1fr;gap:25px}.education-gallery{gap:24px}.edu-character{margin-top:45px}}
@media(max-width:620px){.tg-dual-intro{padding-bottom:35px}.dual-heading{margin:30px 0 36px}.dual-heading h1{font-size:clamp(2.6rem,11vw,4rem)}.dual-heading .hero-keyword{padding:4px 12px 9px;gap:16px}.dual-heading>p{font-size:16px}.dual-portals{grid-template-columns:1fr}.pillar-portal.media{border-left:0;border-top:2px solid #252719}.tg-dual-intro::before{width:650px;height:750px;right:-350px;top:-200px;opacity:.5}.chapter-display{font-size:clamp(2.4rem,9vw,3.5rem);margin-bottom:26px;padding-bottom:20px}.education-gallery,.media-gallery{grid-template-columns:1fr}.edu-book,.edu-character{transform:none;margin-top:0}.media-gallery>.scroll-reveal:last-child{padding-top:0}.education-detail::before{opacity:.25}.media-detail::before{opacity:.25}.tg-about.site-section{padding-top:45px;padding-bottom:45px}.education-gallery .field-image{aspect-ratio:1.2}}

/* Original brand mascot, retained with its transparent background. */
.hero-aside{display:flex;flex-direction:column;align-items:flex-end;gap:24px;min-width:0}.hero-mascot{display:block;width:clamp(230px,23vw,310px);height:auto;margin-right:10px;filter:drop-shadow(7px 9px 0 #25271912);animation:mascot-arrive 550ms ease-out both}.hero-aside>p{color:#252719;max-width:330px;border-top:2px solid #252719;padding-top:20px;margin:0 0 10px;font-size:18px;line-height:1.85}@keyframes mascot-arrive{from{opacity:0;transform:translateY(12px) rotate(3deg)}to{opacity:1;transform:none}}@media(max-width:850px){.hero-aside{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:22px}.hero-mascot{width:100px;margin:0}.hero-aside>p{max-width:550px;font-size:16px}}@media(max-width:440px){.hero-aside{grid-template-columns:76px 1fr;gap:16px}.hero-mascot{width:76px}.hero-aside>p{font-size:15px;padding-top:12px}}@media(prefers-reduced-motion:reduce){.hero-mascot{animation:none}}

/* Full-height project ribbon, with a localized reading surface. */
.tg-about.site-section{position:relative;isolation:isolate;overflow:hidden;overflow:clip;min-height:520px;padding:88px 5%;background:#dedbd4}
.about-work-ribbon{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.about-work-track{display:flex;width:max-content;height:100%;animation:work-drift 210s linear infinite;opacity:.88}
.about-work-group{display:flex;flex-shrink:0;gap:16px;padding-right:16px;height:100%}
.about-work-group img{display:block;width:clamp(420px,58vw,850px);height:100%;object-fit:cover;object-position:center;border-radius:0}
.tg-about::after{display:none}
.about-reading-panel{position:relative;max-width:1280px;margin:auto;padding:38px 42px 40px;background:rgba(255,254,250,.92);border:1px solid #fffefa;box-shadow:0 10px 50px #25271912}
.about-reading-panel>.eyeline{margin-top:0}.tg-about .about-copy p{color:#36392d}.tg-about .about-copy p:last-child{margin-bottom:0}
@keyframes work-drift{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.ribbon-toggle{appearance:none;font:inherit;font-size:12px;font-weight:650;color:#37392e;background:#fffefa;border:1px solid #25271940;border-radius:30px;min-height:40px;padding:9px 16px;cursor:pointer;white-space:nowrap}
.ribbon-toggle::before{content:"Ⅱ";display:inline-block;width:18px}.ribbon-toggle[aria-pressed="true"]::before{content:"▶"}.ribbon-toggle:hover{background:#ffcf24}.ribbon-toggle:focus-visible{outline:3px solid #7250a0;outline-offset:4px}
.about-ribbon-toggle{position:absolute;right:5%;bottom:20px}.tg-about[data-motion-paused="true"] .about-work-track{animation-play-state:paused}
.client-strip{margin:0 0 78px;padding:0 0 44px;border-bottom:1px solid #25271925}
.client-strip-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.client-strip-heading .eyeline{font-size:11px;letter-spacing:.15em;margin:0 0 10px}.client-strip-heading h3{font-size:clamp(1.5rem,2.3vw,2rem);letter-spacing:-.045em;margin:0 0 8px}.client-strip-heading p:not(.eyeline){font-size:14px;color:#5c5e51;margin:0}
.client-marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);padding:8px 0}
.client-track{display:flex;width:max-content;animation:client-drift 275s linear infinite}
.client-group{display:flex;flex-shrink:0;gap:16px;padding:0 16px 0 0;margin:0;list-style:none}
.client-logo{display:flex;align-items:center;justify-content:center;flex:0 0 224px;width:224px;height:108px;padding:20px;background:#fff;border:1px solid #25271910}
.client-logo img{width:100%;height:64px;object-fit:contain}.client-logo-dark{background:#293640}
@keyframes client-drift{to{transform:translateX(-50%)}}
.client-strip[data-motion-paused="true"] .client-track,.client-marquee:hover .client-track{animation-play-state:paused}
@media(max-width:850px){.tg-about.site-section{padding:72px 5%;min-height:540px}.about-reading-panel{padding:28px}.about-work-group img{width:540px}.client-strip{margin-bottom:54px}.client-strip-heading{align-items:flex-start;flex-wrap:wrap;gap:18px}.client-logo{flex-basis:196px;width:196px;height:100px;padding:16px}.client-track{animation-duration:275s}}
@media(max-width:480px){.about-reading-panel{padding:24px 20px}.tg-about h2{font-size:2rem}.about-reading-panel .about-copy p{font-size:15px;line-height:1.85}.about-work-group img{width:470px}.client-strip-heading p:not(.eyeline){font-size:13px}}
@media(prefers-reduced-motion:reduce){.about-work-track,.client-track{animation:none}.ribbon-toggle{display:none}.client-marquee{overflow-x:auto;mask-image:none}.client-group[aria-hidden="true"]{display:none}.about-work-track{transform:translateX(-420px)}}
@media print{.about-work-ribbon,.ribbon-toggle,.client-group[aria-hidden="true"]{display:none}.client-track,.client-group{animation:none;width:auto;flex-wrap:wrap}.client-marquee{overflow:visible;mask-image:none}.about-reading-panel{background:#fff;box-shadow:none}}

/* A single, browsable project archive on the homepage. */
.portfolio-rail{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scroll-padding-inline:1px;padding:8px 2px 24px;scrollbar-width:thin;scrollbar-color:#8b806a #e9e5dc;cursor:grab;touch-action:pan-x pan-y}.portfolio-rail:active{cursor:grabbing}.portfolio-rail>.project-card{flex:0 0 calc((100% - 56px)/2.3);min-width:0;scroll-snap-align:start}.portfolio-rail .project-thumb{aspect-ratio:16/11}.portfolio-rail .project-thumb img{width:100%;height:100%;object-fit:contain;background:#f0f0eb}.portfolio-rail .project-title{font-size:clamp(1.1rem,1.7vw,1.5rem)}.portfolio-rail .project-open{width:100%;text-align:left}.portfolio-rail .photo-needed{height:100%;min-height:0}.portfolio-rail.is-dragging{scroll-snap-type:none;user-select:none}.portfolio-rail:focus-visible{outline:3px solid #80609e;outline-offset:5px}.rail-hint{margin:18px 0 0;color:#686954;font-size:14px}.portfolio-controls{display:flex;gap:12px;align-items:center;flex-shrink:0}.portfolio-controls>span{font-size:13px;margin-right:12px}.portfolio-controls button{width:46px;height:46px;border:1px solid #25271950;background:transparent;border-radius:50%;font-size:25px;cursor:pointer}.portfolio-controls button:hover{background:#ffcf24}.portfolio-controls button:disabled{opacity:.25;cursor:default}.partners-section{padding-top:30px;padding-bottom:80px}.partners-section .client-strip{border:0;padding:0;margin:0}.client-marquee{padding:0;margin-top:14px}.client-track{animation-duration:115s}.client-row-2 .client-track{animation-direction:reverse;animation-duration:120s}.client-row-3 .client-track{animation-duration:110s}.client-logo{height:94px;flex-basis:206px;width:206px;padding:18px}.client-logo img{height:58px}.client-strip-heading{margin-bottom:30px}.tg-about.site-section{padding-bottom:88px}
@media(max-width:850px){.portfolio-rail>.project-card{flex-basis:65%}.portfolio-rail{gap:22px}.selected-section>.section-top{flex-wrap:wrap;gap:24px}.portfolio-controls>span{margin-right:4px}.client-logo{flex-basis:178px;width:178px;height:84px;padding:14px}.client-logo img{height:54px}.client-group{gap:12px;padding-right:12px}.client-marquee{margin-top:12px}.partners-section{padding-top:15px;padding-bottom:60px}.tg-about.site-section{padding-bottom:72px}}
@media(max-width:480px){.portfolio-rail>.project-card{flex-basis:86%}.portfolio-controls button{width:42px;height:42px}.portfolio-rail .project-body{padding-top:18px}.client-logo{flex-basis:156px;width:156px;height:76px;padding:12px}.client-logo img{height:50px}}
@media(prefers-reduced-motion:reduce){.client-track{animation:none}.portfolio-rail{scroll-behavior:auto}}@media print{.portfolio-rail{overflow:visible;flex-wrap:wrap}.portfolio-rail>.project-card{flex-basis:45%}.portfolio-controls{display:none}}
