/* Photographic chapters: warm paper, deep ink, and quiet local detail. */
:root{--wf-gallery-ease:cubic-bezier(.2,.7,.2,1)}
.home-section .section-top{align-items:end;padding-bottom:2px}
.section-top .home-eyebrow{display:inline-flex;align-items:center;gap:12px}
.section-top .home-eyebrow:before{content:'';width:22px;height:1px;background:currentColor;opacity:.65}
.feature-tabs{gap:34px}
.feature-tabs button{position:relative;transition:color .25s ease}
.feature-tabs button:after{content:'';position:absolute;bottom:10px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--wf-gallery-ease)}
.feature-tabs button.active:after{transform:scaleX(1)}
.feature-panel{grid-template-columns:1.35fr 1fr;box-shadow:0 20px 60px -45px #213a2c65;min-height:560px}
.feature-image{isolation:isolate;overflow:hidden;min-height:560px;background:#223a37}
.feature-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 54%;filter:saturate(.98) contrast(1.04);transition:filter .65s ease}
.feature-image:after{z-index:0;background:linear-gradient(0deg,#102522c7,transparent 57%),linear-gradient(180deg,#13252170,transparent 25%);pointer-events:none}
.feature-img-caption{top:27px;left:32px;right:32px;font-size:9px;font-weight:500;letter-spacing:.16em}
.feature-image-title{left:32px;right:32px;bottom:29px;line-height:1.05;letter-spacing:-.035em}
.feature-image-title span{display:grid;place-items:center;width:48px;height:48px;border:1px solid #fff7;border-radius:50%;font-size:21px;transition:background .3s,translate .3s}
.feature-image-title:hover span{background:#fff2;translate:2px -2px}
.feature-text{background:linear-gradient(140deg,#efede2,#e9e9df);padding:65px 11% 96px;border-top:1px solid #fff8}
.feature-text>.home-eyebrow{color:#9a5646;letter-spacing:.16em;font-size:9px}
.feature-text h3{font-size:clamp(44px,4.7vw,70px);line-height:1.12;margin:27px 0 10px;color:#21372f}
.feature-text .feature-tagline{font-weight:500;letter-spacing:.04em;color:#8d4b46}
.feature-text p:not(.feature-tagline){font-size:13px;line-height:1.95;color:#58675d;margin:22px 0 26px}
.feature-text>a{font-weight:500;font-size:12px;padding-bottom:12px;border-color:#a3b0a1}
.feature-foot{left:11%;right:11%;bottom:26px;color:#748170;font-size:8px;letter-spacing:.12em}
[lang^=zh] .feature-image-title,[lang^=zh] .feature-text h3{font-family:'Songti SC','STSong','Noto Serif SC',serif;font-weight:500;letter-spacing:.025em}
[lang^=zh] .feature-image-title{font-size:clamp(64px,7vw,100px)}
.story{isolation:isolate;box-shadow:0 15px 35px -35px #183a29aa}
.story-copy b{transition:letter-spacing .3s ease}
.story:hover .story-copy b{letter-spacing:.035em}
.services-row article{position:relative;transition:background .35s ease}
.services-row article:hover{background:#e8e8dc45}
.services-row a,.feature-text>a,.section-link{transition:color .25s,border-color .25s}
.detail-city-copy h2{color:#243b30;letter-spacing:-.015em}
.detail-city-copy>p,.detail-city-copy dd{color:#566b55}
.detail-city-region{color:#74846c}
.detail-city-copy dt{color:#76846f}
.detail-guide{color:#8b644d}
.detail-photo-wrap{overflow:hidden}
.detail-city-photo{filter:saturate(.96) contrast(1.035)}
.atlas-city-card{transition:background .25s,border-color .25s,box-shadow .25s}
.atlas-city-card.active{box-shadow:inset 3px 0 #547158;background:#eff2e8;border-color:#b6c6ae}
@media(max-width:1000px){.feature-panel,.feature-image{min-height:470px}.feature-text{padding:40px 9% 80px}.feature-foot{left:9%;right:9%}.feature-text h3{font-size:46px}.feature-text p:not(.feature-tagline){margin:17px 0 22px}}
@media(max-width:700px){.feature-panel{display:block;min-height:0}.feature-image{min-height:390px}.feature-img-caption{left:23px;right:23px;top:23px}.feature-image-title{left:23px;right:23px;bottom:25px}.feature-image-title span{width:41px;height:41px;font-size:18px}.feature-text{min-height:325px;padding:38px 8% 78px}.feature-text h3{margin-top:18px;font-size:43px}.feature-text p:not(.feature-tagline){font-size:13px;max-width:440px}.feature-foot{left:8%;right:8%}.feature-tabs{gap:30px}[lang^=zh] .feature-image-title{font-size:65px}}
@media(prefers-reduced-motion:reduce){.feature-tabs button:after,.feature-image-title span,.story-copy b,.services-row article{transition:none}.feature-image-title:hover span{translate:none}}

/* Six-city collection: let the tab row wrap on phones instead of hiding
   cities behind a horizontal scroll. */
@media(max-width:700px){
 .feature-tabs{gap:12px 18px;flex-wrap:wrap;overflow:visible;padding-bottom:2px}
 .feature-tabs button{padding:13px 0;min-height:0}
}
