@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500&family=Noto+Serif+Thai:wght@400;500&display=swap');
:root{--editorial-serif:'Cormorant Garamond','Noto Serif JP','Noto Serif Thai',serif;--paper:#f3f0e7;--ink:#283b31;--green:#193d33}
body{background:var(--paper);color:var(--ink)}
h1,h2,h3,.section h2,.quote,.page-heading h1{font-family:var(--editorial-serif);font-weight:400;letter-spacing:.025em}
html[lang="th"] h1,html[lang="th"] h2,html[lang="th"] h3{font-family:'Noto Serif Thai',serif;letter-spacing:0}
.brand{font-family:var(--editorial-serif);letter-spacing:.12em}
.section-navigation{background:var(--paper);border-top:0;gap:28px}
.section-navigation a{font-size:14px}
.home-gateway{max-width:none;padding:100px 6% 80px}
.home-gateway>.overline,.home-gateway>h2,.home-gateway>p{max-width:760px;margin-left:auto;margin-right:auto;text-align:center}
.home-gateway>.overline{font-size:12px;letter-spacing:.22em;color:#72745d}
.home-gateway>h2{font-size:clamp(30px,3.5vw,52px);line-height:1.7;margin-top:24px;margin-bottom:25px;text-wrap:balance}
.home-gateway>p{font-size:16px;line-height:2.1;max-width:560px;color:#596456}
.explore-grid{display:flex;flex-direction:column;gap:100px;max-width:1440px;margin:80px auto}
.explore-card{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:7%;color:var(--ink);text-decoration:none}
.explore-card:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
.explore-card:nth-child(even) img{grid-column:2;grid-row:1}
.explore-card:nth-child(even)>div{grid-column:1;grid-row:1}
.explore-card img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;border-radius:2px;display:block}
.explore-card>div{display:flex;align-items:flex-start;flex-direction:column;border:0;padding:25px 0;gap:22px}
.explore-card>div>span:first-child{font:400 16px var(--editorial-serif);color:#73735c;letter-spacing:.15em;display:block}
.explore-card h3{font:400 clamp(28px,3vw,48px)/1.65 var(--editorial-serif);margin:0;overflow-wrap:normal;line-break:strict;text-wrap:balance}


.explore-card:focus-visible{outline:2px solid var(--green);outline-offset:8px}
.gateway-actions{justify-content:center;border-top:1px solid #c6ccbd;padding-top:45px;gap:16px}
.gateway-actions .button{background:transparent;color:var(--ink);border:1px solid #84927f;padding:18px 28px;min-height:56px}
.gateway-actions .button:nth-child(2){background:var(--green);color:white}
.page-heading{text-align:center;padding:64px 6% 48px;border:0}
.page-heading h1{font-size:clamp(36px,5vw,68px);line-height:1.5}
.section{padding-top:80px;padding-bottom:80px}
.section h2{line-height:1.7;text-wrap:balance}
.section p{line-height:2.05}
@media(max-width:800px){
 .home-gateway{padding:58px 6% 48px}
 .home-gateway>h2{font-size:30px;line-height:1.65;letter-spacing:.015em}
 .explore-grid{gap:52px;margin:42px -2% 50px}
 .explore-card,.explore-card:nth-child(even){display:flex;flex-direction:column;gap:0;align-items:stretch}
 .explore-card img{aspect-ratio:4/3;min-height:0}
 .explore-card>div{display:grid;grid-template-columns:1fr 44px;gap:8px 16px;padding:22px 2% 0}
 .explore-card>div>span:first-child{grid-column:1;font-size:14px}
 .explore-card h3{grid-column:1;font-size:clamp(24px,6.8vw,32px);line-height:1.6;letter-spacing:.01em}
 
 .gateway-actions{padding-top:30px}
 .gateway-actions .button{flex:1 1 200px}
 .section{padding-top:52px;padding-bottom:52px}
 .page-heading{padding:40px 6% 28px}
 .page-heading h1{font-size:34px}
}
@media(prefers-reduced-motion:reduce){}
/* Short introductions keep each photograph connected to its purpose. */
.explore-card .explore-description{font-family:'Noto Sans JP','Noto Sans Thai',sans-serif;font-size:16px;font-weight:400;line-height:2;color:#536052;max-width:34em;margin:0;text-wrap:pretty;letter-spacing:.015em}
.explore-card>div{gap:18px}

@media(max-width:800px){
 .explore-card>div{gap:9px 16px}
 .explore-card .explore-description{grid-column:1/-1;margin-top:6px;max-width:none;font-size:16px;line-height:1.95;letter-spacing:0}
 
 .explore-grid{gap:58px}
}
/* A quieter introduction and generous photographic chapters. */
.gateway-introduction{max-width:850px;margin:0 auto;text-align:center;padding:0 12px 12px}
.gateway-introduction .overline{font:400 12px/1.6 'Noto Sans JP',sans-serif;letter-spacing:.22em;color:#737662;margin:0 0 28px}
.gateway-introduction h2{font:400 clamp(34px,4.2vw,62px)/1.5 var(--editorial-serif);letter-spacing:.02em;margin:0 0 30px;max-width:none}
.gateway-introduction h2>span{display:block}
.gateway-introduction p{font-size:16px;line-height:2;margin:10px auto 0;color:#526052;max-width:40em}
.gateway-introduction .intro-lead{font-family:var(--editorial-serif);font-size:19px;color:#283b31}
.home-gateway .explore-grid{gap:110px}
.explore-card{gap:6%}
.explore-card .explore-copy{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:25px 0;min-width:0}
.explore-card .explore-number{font-family:'Cormorant Garamond',serif;font-size:18px;letter-spacing:.12em;margin-bottom:18px}
.explore-card h3{font-size:clamp(28px,3vw,46px);line-height:1.5;margin:0 0 28px;max-width:100%;overflow-wrap:anywhere;text-wrap:pretty}
.explore-card .explore-lead{font-family:var(--editorial-serif);font-size:clamp(18px,1.5vw,22px);line-height:1.8;color:#283b31;margin:0 0 12px;text-wrap:pretty}
.explore-card .explore-description{font-size:16px;line-height:1.95;color:#526052;max-width:30em;margin:0;word-break:normal;line-break:strict;overflow-wrap:break-word}
.explore-card>div>.explore-link{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;width:max-content;max-width:100%;height:auto;min-height:44px;white-space:nowrap;flex-shrink:0;align-self:flex-start;border:0;border-bottom:1px solid #8c9a87;border-radius:0;padding:12px 0;margin-top:24px;font:400 14px/1.5 'Noto Sans JP','Noto Sans Thai',sans-serif;letter-spacing:.04em;background:none;color:var(--ink)}
.explore-card .explore-link>span{font-size:22px;transition:transform .25s}
.explore-card:hover>div>.explore-link{background:none;color:var(--ink);border-color:var(--green)}
.explore-card:hover .explore-link>span{transform:translate(3px,-3px)}
.explore-card:nth-child(4){background:#1d3e34;color:#f5f0e5;padding:48px;margin:0 -3%}
.explore-card:nth-child(4) h3,.explore-card:nth-child(4) .explore-lead,.explore-card:nth-child(4) .explore-link{color:#f5f0e5}
.explore-card:nth-child(4) .explore-number,.explore-card:nth-child(4) .explore-description{color:#d7dfce}
.explore-card:nth-child(4) .explore-link{border-color:#95a48a}
@media(max-width:800px){
 .home-gateway{padding:52px 6% 48px}
 .gateway-introduction{padding:0}
 .gateway-introduction .overline{font-size:12px;letter-spacing:.17em;margin-bottom:24px}
 .gateway-introduction h2{font-size:clamp(28px,7.5vw,36px);line-height:1.6;letter-spacing:.015em;margin-bottom:24px}
 .gateway-introduction h2>span{white-space:nowrap}
 html[lang="th"] .gateway-introduction h2>span{white-space:normal}
 .gateway-introduction p{font-size:15px;line-height:2;text-wrap:pretty}
 .gateway-introduction .intro-lead{font-size:17px}
 .home-gateway .explore-grid{gap:56px;margin-top:44px}
 .explore-card .explore-copy{padding:24px 3% 0}
 .explore-card .explore-number{font-size:15px;margin-bottom:12px}
 .explore-card h3{font-size:clamp(25px,6.9vw,32px);line-height:1.5;margin-bottom:20px;width:100%}
 html[lang="ja"] .explore-card h3{letter-spacing:0;font-size:clamp(23px,6.25vw,30px)}
 .explore-card .explore-lead{font-size:17px;line-height:1.85;margin-bottom:10px}
 .explore-card .explore-description{font-size:16px;line-height:1.95;margin:0;max-width:none}
 .explore-card>div>.explore-link{margin-top:18px;font-size:14px;min-height:44px;gap:24px}
 .explore-card:nth-child(4){padding:22px 0 30px;margin:0 -4.6%;gap:0}
 .explore-card:nth-child(4) img{width:100%;aspect-ratio:4/3}
 .explore-card:nth-child(4) .explore-copy{padding:26px 8% 0}
}
@media(max-width:359px){.gateway-introduction h2{font-size:26px}.gateway-introduction p br{display:none}}
@media(prefers-reduced-motion:reduce){.explore-card .explore-link>span{transition:none;transform:none}}
.age-rate-notice{max-width:1100px;margin:30px auto 65px;padding:28px 5%;background:#e8ecdf;border-top:1px solid #b8c5ae;color:#283b31}.age-rate-notice p{font-size:16px;line-height:1.95;margin:12px 0}.age-rate-notice strong{font-weight:500}@media(max-width:800px){.age-rate-notice{margin:20px 6% 45px;padding:20px 6%}}
.contact-email{max-width:620px;margin:32px 0 24px}
a.email-contact-button{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;min-height:92px;padding:24px 28px;border:1px solid #294d3e;background:#193d33;color:#fffdf5;text-decoration:none;border-radius:4px}
.email-contact-label{font-size:20px;line-height:1.6;font-weight:500}
.email-contact-address{font-size:16px;line-height:1.7;overflow-wrap:anywhere}
a.email-contact-button:hover{background:#2b5142}
a.email-contact-button:focus-visible{outline:3px solid #b29556;outline-offset:5px}
.contact-email .email-contact-hint{font-size:14px;line-height:1.7;margin:10px 0 0}
@media(max-width:600px){a.email-contact-button{padding:22px 18px}.email-contact-label{font-size:18px}.email-contact-address{font-size:16px}}
a.instagram-link{display:inline-flex;align-items:center;gap:14px;min-height:56px;max-width:100%;padding:14px 18px;border:1px solid #879681;border-radius:4px;color:inherit;text-decoration:none;font:400 16px/1.5 'Noto Sans JP','Noto Sans Thai',sans-serif}
.instagram-link .instagram-icon{display:block;flex:0 0 36px;width:36px;height:36px;filter:none;object-fit:contain;border-radius:9px}
.instagram-link .instagram-handle{display:block;font-size:14px;letter-spacing:.02em;overflow-wrap:anywhere}
a.instagram-link:hover{background:#e3e8dc;color:#193d33}
a.instagram-link:focus-visible{outline:3px solid #b29556;outline-offset:4px}
.contact-instagram{max-width:620px;margin:22px 0 30px}
.contact-instagram .instagram-link{width:100%;padding:18px 24px}
footer .instagram-link{flex-shrink:0;align-self:center}
@media(max-width:600px){.contact-instagram .instagram-link{padding:18px}footer .instagram-link{align-self:flex-start}}

/* Quiet social entry between the masthead and photography. */
.top-instagram{padding:0 clamp(20px,4vw,64px);background:#f3f0e6;color:#34493d}
.top-instagram-inner{max-width:1320px;margin:0 auto;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid rgba(52,73,61,.14)}
.top-instagram-caption{font-size:12px;line-height:1.6;letter-spacing:.07em;color:#667064}
.top-instagram-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:4px 0;text-decoration:none;color:#34493d;font:400 13px/1.4 'Noto Sans JP','Noto Sans Thai',sans-serif;letter-spacing:.025em;white-space:nowrap}
.top-instagram-link img{display:block;width:22px;height:22px;flex:0 0 22px;border-radius:6px;filter:none;object-fit:contain}
.social-arrow{font-size:17px;color:#7c8877;transition:transform .2s}
.top-instagram-link:hover{color:#163c30}
.top-instagram-link:hover .social-arrow{transform:translate(2px,-2px)}
.top-instagram-link:focus-visible{outline:2px solid #52654c;outline-offset:3px;border-radius:3px}
@media(max-width:480px){.top-instagram{padding:0 20px}.top-instagram-inner{min-height:50px;gap:10px}.top-instagram-caption{font-size:11px;letter-spacing:.02em}.top-instagram-link{font-size:12px;gap:8px}.top-instagram-link img{width:20px;height:20px;flex-basis:20px}}
@media(max-width:350px){.top-instagram{padding:0 14px}.top-instagram-caption{font-size:10px}.top-instagram-link{gap:6px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.social-arrow{transition:none}}
