/* Photo-led editorial refresh — 2026-10-29.
   Carefully preserves the original typography and SEO structure while
   giving each recovery treatment a recognisable visual subject. */
:root{--photo-radius:6px;--photo-ink:#0b1c19;--photo-border:#d3dbd0}
img{max-width:100%;display:block}
.hero-visual-photo{min-width:0;height:100%;min-height:660px;position:relative;isolation:isolate;overflow:hidden;background:#0e2928}
.hero-main-img{width:100%;height:100%;min-height:660px;object-fit:cover;object-position:48% 46%;filter:saturate(.91) contrast(1.03)}
.hero-photo-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 40%,rgba(7,24,22,.75) 100%),linear-gradient(90deg,rgba(8,27,23,.25),transparent 50%)}
.hero-photo-stamp{position:absolute;left:9%;right:8%;bottom:7%;border-top:1px solid #e7f1df91;padding-top:18px;color:#fff;display:flex;flex-direction:column;gap:6px;text-shadow:0 2px 15px #071b1a90}
.hero-photo-stamp span{font:800 11px var(--display);letter-spacing:.21em;color:var(--lime)}
.hero-photo-stamp strong{font:800 clamp(23px,2.7vw,42px)/1.08 var(--display);letter-spacing:-.055em}
.hero-photo-stamp small{font-size:11px;color:#e7ebe5}
.hero-copy{padding-right:55px}
.hero h1{font-size:clamp(4.1rem,7.15vw,8.7rem)}
.hero-grid{grid-template-columns:52% 48%;min-height:660px}
.hero .micro{margin-top:45px}
.service-card,.journal-card,.location-card{overflow:hidden;border-radius:var(--photo-radius);padding:0!important;transform:translateZ(0);transition:box-shadow .2s,transform .2s!important}
.service-card:hover,.journal-card:hover,.location-card:hover{transform:translateY(-5px)!important;box-shadow:0 20px 35px #18312817}
.service-card-cover,.journal-card-cover,.location-card-cover{display:block;overflow:hidden;background:#bfd3ca;position:relative;isolation:isolate}
.service-card-cover{height:190px}
.location-card-cover{height:160px}
.journal-card-cover{height:182px}
.card-photo{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;filter:saturate(.94)}
.service-card:hover .card-photo,.journal-card:hover .card-photo,.location-card:hover .card-photo{transform:scale(1.055)}
.service-card-body,.location-card-body,.journal-card-body{display:flex;flex-direction:column;flex:1;padding:25px 27px 26px}
.service-card{min-height:490px;background:#fbfcf7}
.service-card .card-top{margin-bottom:16px}
.service-card .round-icon{width:43px;height:43px}
.service-card h3{margin:10px 0 12px;font-size:clamp(21px,2vw,27px);letter-spacing:-.05em}
.service-card p{margin-bottom:21px}
.service-card .card-arrow{margin-top:auto}
.location-card{min-height:320px!important;background:#e5ece2}
.location-card .tiny-num{color:#557058}
.location-card h3{margin:13px 0}
.location-card-body p{margin:0 0 16px}
.location-card-body .card-arrow{margin-top:auto}
.journal-card{min-height:405px!important;background:#fafbf4}
.journal-card .tiny-num{margin:0 0 16px;color:#668164}
.journal-card h3{font-size:clamp(20px,2vw,26px);margin:0 0 11px}
.journal-card p{margin:0 0 18px}
.journal-card .card-arrow{margin-top:auto}
.photo-collage{height:520px;border-radius:var(--photo-radius);border:0;overflow:visible;background:none;isolation:isolate}
.collage-main{position:absolute;inset:0 12% 12% 0;overflow:hidden;border-radius:var(--photo-radius)}
.collage-inset{position:absolute;right:0;bottom:0;width:47%;height:51%;border:7px solid #152922;overflow:hidden;border-radius:var(--photo-radius)}
.feature-photo{height:100%;width:100%;object-fit:cover}
.collage-label{position:absolute;top:22px;left:22px;background:#132b269c;color:#e4f5e6;backdrop-filter:blur(7px);padding:12px 16px;font-size:9px;letter-spacing:.2em;font-weight:800}
.collage-label strong{display:block;font-size:23px;letter-spacing:-.07em;margin-top:4px}
.image-shell{max-width:1188px;margin:0 auto 40px;position:relative;overflow:hidden;border-radius:var(--photo-radius);background:#e5eae1}
.wide-cover img{display:block;width:100%;height:clamp(255px,35vw,455px);object-fit:cover;object-position:center 45%}
.wide-cover figcaption{padding:9px 15px;font:650 11px var(--sans);color:#50685e;background:#e7eee5;display:flex;justify-content:space-between;gap:20px}
.wide-cover figcaption span{font-weight:500;color:#65766b}
.editorial-hub-feature{margin-top:-16px;margin-bottom:0}
.editorial-hub-feature .wide-cover{margin-bottom:0}
.content-cols{padding-top:38px}
.editorial-figure{margin:0;overflow:hidden;border-radius:var(--photo-radius);background:#e6e9e1}
.editorial-figure img{display:block;width:100%;height:clamp(260px,31vw,425px);object-fit:cover}
.editorial-figure figcaption{display:flex;justify-content:space-between;gap:16px;background:#e6ece1;padding:11px 13px;font-size:10px;line-height:1.55;color:#486257}
.editorial-figure figcaption span{color:#78887a}
.article-photo-inline{margin:0 0 30px}
.article-photo-inline .compact-image img{height:235px}
.photo-sources{padding-top:35px;padding-bottom:70px}
.photo-sources h2{font-size:clamp(28px,3.2vw,43px);margin-bottom:15px}
.photo-sources>p{max-width:800px;font-size:14px;color:#51665b;line-height:1.75}
.credits-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:30px 0}
.credits-list a{display:flex;flex-direction:column;background:#e2ebdf;border:1px solid #cadaca;padding:14px 17px;font-weight:800;font-size:12px;line-height:1.5}
.credits-list a:hover{background:#d3e9cb}
.credits-list a span{font-size:10px;font-weight:500;color:#5b6c60;margin-top:4px}
.thai .service-card h3{letter-spacing:-.025em}
@media(min-width:1440px){.hero-grid{grid-template-columns:52% 48%}}
@media(max-width:1050px){.hero-copy{padding-right:22px}.service-card-cover{height:160px}.location-card-cover{height:145px}.journal-card-cover{height:155px}.credits-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .hero-grid{display:flex;flex-direction:column-reverse;min-height:auto}
 .hero-visual-photo,.hero-main-img{min-height:0;height:350px}
 .hero-main-img{object-position:center 44%}
 .hero-photo-stamp{bottom:8%;left:6%}
 .hero-photo-stamp strong{font-size:27px}
 .hero-copy{padding:52px 23px 61px}
 .hero h1{font-size:clamp(3.85rem,12vw,6.1rem);margin:18px 0}
 .hero .micro{margin-top:40px}
 .service-card{min-height:420px}
 .service-card-body{padding:20px 19px 23px}
 .service-card-cover{height:152px}
 .service-card h3{font-size:20px}
 .service-card .card-top{margin-bottom:12px}
 .service-card .round-icon{width:36px;height:36px}
 .photo-collage{height:335px}
 .collage-inset{border-width:5px}
 .location-card-cover{height:150px}
 .location-card{min-height:310px!important}
 .journal-card-cover{height:195px}
 .journal-card{min-height:390px!important}
 .wide-cover{margin:0 23px 35px}
 .wide-cover img{height:260px}
 .wide-cover figcaption{display:block}
 .wide-cover figcaption span{display:block;margin-top:3px}
 .credits-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .article-photo-inline .compact-image img{height:220px}
}
@media(max-width:480px){
 .hero-visual-photo,.hero-main-img{height:305px}
 .hero-photo-stamp strong{font-size:25px}
 .service-card{min-height:unset}
 .service-card-cover{height:230px}
 .service-card-body{padding:22px 23px 26px}
 .service-card h3{font-size:24px}
 .location-card{min-height:unset!important}
 .location-card-cover{height:200px}
 .journal-card{min-height:unset!important}
 .journal-card-cover{height:215px}
 .credits-list{grid-template-columns:1fr}
 .photo-collage{height:285px}
 .wide-cover img{height:230px}
}
@media(prefers-reduced-motion:reduce){.service-card:hover .card-photo,.journal-card:hover .card-photo,.location-card:hover .card-photo{transform:none}}

/* Contextual explainers designed as accessible image assets with real alt copy. */
.explainer-figure{margin:27px 0 35px;background:#10241f;border-radius:6px;overflow:hidden}
.explainer-figure img{display:block;width:100%;height:auto;object-fit:contain;background:#10241f}
.explainer-figure figcaption{padding:9px 16px;color:#afc9ba;background:#1b342a;font:600 11px/1.5 var(--sans)}
.prose .explainer-figure{max-width:100%}
@media(max-width:480px){.explainer-figure img{width:100%;min-height:185px;object-fit:cover;object-position:left center}}
