/* CASE-018 private design reference. Corporate source palette inherited; no external dependencies. */
:root{--dark:#1a1917;--dark-2:#232120;--cream:#f3f0e9;--cream-2:#ebe6db;--ink:#26251f;--muted:#625c50;--gold:#d4af6a;--gold-light:#e7c98a;--gold-dark:#72511f;--line:#d4cbbc;--anchor-space:175px;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans Thai','Leelawadee UI','Hiragino Kaku Gothic ProN',sans-serif}
*{box-sizing:border-box}html{scroll-padding-top:var(--anchor-space)}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.8 var(--sans);overflow-wrap:break-word}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}p,h1,h2,h3,ol,ul,dl,dd{margin:0}h1,h2,h3{font-weight:400}.frame{width:min(1200px,calc(100% - 64px));margin-inline:auto}.dark{background:var(--dark);color:var(--cream)}a:focus-visible{outline:3px solid #633f0c;outline-offset:5px}.dark a:focus-visible,.site-header a:focus-visible{outline-color:#fff}.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:10px 16px;background:#fff;color:#1a1917;transform:translateY(-160%)}.skip-link:focus{transform:none}.review-banner{background:var(--gold);color:#201a0d;font-size:12px;line-height:1.6;letter-spacing:.06em}.review-inner{display:flex;justify-content:space-between;gap:12px;padding-block:8px}.site-header{position:sticky;top:0;z-index:20;background:var(--dark);color:var(--cream);border-bottom:1px solid #514637}.header-top{min-height:90px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:block;flex:0 1 220px;line-height:0}.brand img{width:220px;max-height:70px;object-fit:contain;object-position:left center}.languages{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:13px;white-space:nowrap}.languages a{padding-block:8px;color:#cbc6ba}.languages a[aria-current]{color:var(--gold-light);border-bottom:1px solid var(--gold)}.main-nav{display:flex;gap:30px;flex-wrap:wrap;padding-block:10px 17px;font-size:13px;line-height:1.7}.main-nav a{display:block;padding-block:4px;color:#e6e0d5}.main-nav a:hover,.languages a:hover{color:var(--gold-light)}.eyebrow{font-size:12px;font-weight:600;line-height:1.6;letter-spacing:.16em;color:var(--gold);text-transform:uppercase}.dark-gold{color:var(--gold-dark)}.hero{padding-top:70px;background:radial-gradient(ellipse at 78% 40%,#363025 0%,var(--dark) 54%)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.85fr);gap:70px;align-items:center;padding-bottom:86px}.hero h1{font-family:var(--serif);font-size:clamp(3.8rem,6.7vw,6.6rem);line-height:1.08;letter-spacing:-.045em;margin-top:34px}.hero-lead{font-size:18px;line-height:1.9;max-width:37em;color:#d3cdc2;margin-top:32px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px 30px;margin-top:36px}.primary-link{min-height:48px;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:11px 22px;color:#201a0d;background:var(--gold);font-size:13px;line-height:1.8}.secondary-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;font-size:13px;border-bottom:1px solid #75654b}.hero-directory{align-self:stretch;display:flex;justify-content:center;flex-direction:column;border-inline-start:1px solid #65533a;padding-inline-start:34px;min-width:0}.hero-directory ol{list-style:none;padding:22px 0}.hero-directory li{display:flex;gap:22px;align-items:center;padding-block:18px;border-bottom:1px solid #4e4437;font-size:18px;line-height:1.5}.hero-directory .index{color:var(--gold);font-size:12px;letter-spacing:.1em;flex:0 0 20px}.directory-foot{font-size:12px;letter-spacing:.15em;color:#b4a996}.hero-bottom{border-top:1px solid #4e4437;display:flex;justify-content:space-between;gap:24px;padding-block:18px;font-size:12px;letter-spacing:.16em;color:#beb5a5}.section{padding-block:108px}.section-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:90px}.section h2{font:400 clamp(2.5rem,4vw,4.2rem)/1.2 var(--serif);letter-spacing:-.025em;margin-top:25px}.section-copy{padding-top:45px;min-width:0}.large-copy{font-size:18px;line-height:2}.company-facts{margin-top:36px;border-top:1px solid var(--line)}.company-facts>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding-block:18px;border-bottom:1px solid var(--line)}.company-facts dt{font-size:12px;color:var(--muted)}.company-facts dd{font-size:14px;overflow-wrap:anywhere}.businesses{background:var(--cream-2)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:70px}.section-intro{max-width:25em;color:var(--muted);font-size:15px;line-height:1.9}.business-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:52px}.business-card{background:var(--cream);padding:34px 34px 30px;border-top:2px solid var(--gold);min-width:0;display:flex;flex-direction:column}.card-index{font-size:12px;letter-spacing:.1em;color:var(--gold-dark)}.business-card h3{font:400 clamp(1.7rem,2.8vw,2.5rem)/1.25 var(--serif);margin-top:25px;overflow-wrap:anywhere}.business-card>p:not(.card-index){font-size:15px;line-height:1.9;margin-top:20px;margin-bottom:30px}.site-reference{border-top:1px solid var(--line);padding-top:18px;margin-top:auto;color:var(--muted);font-size:12px;line-height:1.8}.site-domain{display:block;font-size:12px;color:#494132;margin-top:4px;overflow-wrap:anywhere}.innovation h2{font-family:var(--serif)}.innovation .large-copy{color:#d3cdc2}.innovation-process{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:65px}.innovation-process li{border-top:1px solid #65533a;padding-top:22px}.innovation-process span{font-size:12px;color:var(--gold)}.innovation-process p{font-size:16px;margin-top:16px;color:#e6e0d5}.partnership-points{list-style:none;padding:0;margin-top:30px}.partnership-points li{display:flex;gap:22px;align-items:baseline;border-top:1px solid var(--line);padding-block:18px;font-size:14px}.partnership-points span{font-size:12px;color:var(--gold-dark);flex:0 0 18px}.contact{background:var(--cream-2);border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr);gap:75px;align-items:center}.contact h2{font-size:clamp(2rem,3.2vw,3.4rem);overflow-wrap:anywhere}.contact-description{max-width:36em;font-size:15px;margin-top:24px;color:var(--muted)}.contact-pending{border:1px solid #b7a17a;padding:30px;background:#e5dccb;font-size:13px;line-height:1.9}.pending-title{font-size:16px;color:#4c3818;margin-top:15px;margin-bottom:12px}.status-dot{display:block;width:7px;height:7px;border-radius:50%;background:#72511f}.site-footer{padding-block:38px}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-company{font-size:12px;letter-spacing:.08em;overflow-wrap:anywhere}.footer-row>p:last-child{font-size:12px;line-height:1.9;color:#bfb5a4;text-align:right}html:lang(ja) h1,html:lang(ja) h2,html:lang(th) h1,html:lang(th) h2{font-family:var(--sans);letter-spacing:0}html:lang(ja) .hero h1{font-size:clamp(2.5rem,4.6vw,4.5rem);line-height:1.48}html:lang(th) .hero h1{font-size:clamp(2.5rem,4.6vw,4.6rem);line-height:1.5}html:lang(ja) .section h2,html:lang(th) .section h2{font-size:clamp(2rem,3.4vw,3.3rem);line-height:1.55}html:lang(th){line-height:1.95}html:lang(th) .main-nav{font-size:14px;line-height:1.9}html:lang(th) .eyebrow{letter-spacing:.09em}
@media(max-width:1000px){:root{--anchor-space:190px}.hero-grid{gap:40px;grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr)}.hero h1{font-size:clamp(3rem,6.5vw,5rem)}.hero-directory{padding-inline-start:25px}.hero-directory li{font-size:16px;gap:14px}.section-grid{gap:45px}.section-heading{gap:40px}.contact-grid{gap:40px}.main-nav{gap:24px}}
@media(max-width:760px){:root{--anchor-space:210px}.frame{width:calc(100% - 40px)}.review-inner{flex-direction:column;gap:1px;font-size:12px}.header-top{min-height:82px;gap:18px}.brand{flex-basis:170px}.brand img{width:170px;max-height:60px}.languages{gap:11px;font-size:12px}.main-nav{gap:5px 20px;padding-bottom:14px;font-size:12px}.main-nav a{min-height:30px;padding-block:5px}.hero{padding-top:48px}.hero-grid{grid-template-columns:minmax(0,1fr);gap:50px;padding-bottom:52px}.hero h1{font-size:clamp(3.2rem,8.7vw,4.8rem);line-height:1.1;margin-top:25px}.hero-lead{font-size:16px;line-height:1.95;margin-top:25px}.hero-directory{padding-inline-start:0;border-inline-start:0;border-top:1px solid #65533a;padding-top:24px}.hero-directory ol{padding-top:10px;padding-bottom:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.hero-directory li{font-size:14px;gap:12px;align-items:baseline}.hero-directory .index{flex-basis:16px}.hero-bottom{font-size:12px;letter-spacing:.1em}.section{padding-block:65px}.section-grid,.contact-grid{grid-template-columns:minmax(0,1fr);gap:25px}.section h2{font-size:clamp(2.35rem,7vw,3.5rem)}.section-copy{padding-top:0}.large-copy{font-size:16px;line-height:2}.section-heading{display:block}.section-intro{margin-top:25px}.business-grid{margin-top:35px;gap:18px}.business-card{padding:26px 25px}.business-card h3{font-size:1.85rem}.business-card>p:not(.card-index){font-size:14px;margin-top:18px}.innovation-process{gap:20px;margin-top:35px}.innovation-process p{font-size:14px}.contact h2{font-size:2rem}.footer-row{display:block}.footer-row>p:last-child{margin-top:18px;text-align:left}html:lang(ja) .hero h1,html:lang(th) .hero h1{font-size:clamp(2.1rem,6.3vw,3.4rem);line-height:1.55}html:lang(ja) .section h2,html:lang(th) .section h2{font-size:clamp(1.8rem,5.5vw,2.6rem)}html:lang(th) .main-nav{font-size:12px}}
@media(max-width:520px){:root{--anchor-space:220px}.header-top{align-items:center;gap:10px}.brand{flex-basis:145px}.brand img{width:145px;max-height:52px}.languages{gap:8px;font-size:12px}.main-nav{column-gap:18px;row-gap:2px}.hero-actions{gap:18px 22px}.primary-link{font-size:12px;padding-inline:18px}.secondary-link{font-size:12px}.hero-directory ol{grid-template-columns:minmax(0,1fr)}.hero-directory li{padding-block:13px;font-size:15px}.business-grid{grid-template-columns:minmax(0,1fr)}.business-card h3{font-size:2rem}.innovation-process{grid-template-columns:minmax(0,1fr);gap:22px}.innovation-process li{display:flex;align-items:baseline;gap:22px;padding-top:17px}.innovation-process p{margin-top:0}.company-facts>div{grid-template-columns:80px minmax(0,1fr);gap:12px}.company-facts dd{font-size:13px}.contact-pending{padding:25px}.contact h2{font-size:1.65rem;line-height:1.5}.hero-bottom{gap:15px}html:lang(ja) .contact h2,html:lang(th) .contact h2{font-size:1.6rem}html:lang(ja) .hero h1{font-size:2.1rem}html:lang(th) .hero h1{font-size:2.05rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Preserve practical touch targets in the compact design navigation. */
.languages a{display:inline-flex;min-height:44px;align-items:center;justify-content:center}
@media(max-width:760px){.main-nav a{min-height:44px;display:flex;align-items:center}.languages a{min-width:32px}.header-top{flex-wrap:wrap}.languages{margin-left:auto}}

.ceo-draft{margin-top:34px;border-inline-start:2px solid #ad8b50;padding:4px 0 4px 22px}.draft-label{display:inline-block;background:#e3d6bb;color:#4c3818;font-size:12px;line-height:1.8;padding:3px 9px;margin-top:12px}.ceo-draft-copy{font-size:14px;line-height:2;margin-top:16px}.ceo-name{font-family:var(--serif);font-size:19px;letter-spacing:.025em;margin-top:17px}

/* ==== v0.1.1-fix-r1 (Claude production lead). CSS-only fixes on top of v0.1; HTML and generator unchanged. ==== */
/* C1 follow-up: after the 12px floor, keep the page counter on one line (the label may wrap instead) */
.hero-bottom span:last-child{white-space:nowrap}
/* C2: spec section 5, body text 16px or larger on small screens */
@media(max-width:760px){.business-card>p:not(.card-index),.innovation-process p,.partnership-points li,.ceo-draft-copy,.contact-description,.section-intro{font-size:16px}}
/* B: short viewports (200% zoom, landscape phones): header is not sticky, landing offset is small, hero top is tighter */
@media(max-height:520px){:root{--anchor-space:16px}.site-header{position:static}.hero{padding-top:28px}.hero h1{margin-top:18px}}
/* D: avoid one- or two-character last lines in headings where the browser supports it */
.hero h1,.section h2{text-wrap:balance}
html:lang(ja) .hero h1,html:lang(ja) .section h2{word-break:auto-phrase}
