/* Ikigai Brand Bible v3: Ink / Rice Paper / Sand / Teak (CTA only) / Aged Brass. Instrument Serif + Barlow. */
:root{--ink:#121212;--rice:#EEEADB;--sand:#EDE4D3;--teak:#9A6533;--brass:#A68A5B;--jungle:#2E3A2B;
  --ink2:#1b1a18;--muted-d:rgba(237,228,211,.66);--muted-l:#5f5a50;--line-l:rgba(18,18,18,.14);--line-d:rgba(237,228,211,.16);
  --err:#a8452c;--serif:"Instrument Serif",Georgia,"Times New Roman",serif;--sans:"Barlow",-apple-system,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--sand);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration-color:var(--brass);text-underline-offset:3px}
img{max-width:100%}
em{font-style:italic}
[hidden]{display:none!important}
/* language toggle: English first, Indonesian on request */
html[data-lang="en"] .id,html[data-lang="id"] .en{display:none!important}
.wrap{max-width:760px;margin:0 auto;padding:0 20px}
.label{font:500 12px/1.4 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--brass);margin:0 0 14px}
.label.dark{color:var(--teak)}

/* hero: full-bleed photo, letterbox bars, one small lowercase subtitle line */
.hero{position:relative;height:100vh;height:100svh;min-height:600px;max-height:940px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--ink)}
.hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:40% 62%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,18,18,.55) 0%,rgba(18,18,18,0) 22%,rgba(18,18,18,0) 42%,rgba(18,18,18,.72) 74%,#121212 100%)}
.bar{position:relative;z-index:2}
.bar-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:center;padding:max(26px,env(safe-area-inset-top)) 20px 26px;background:var(--ink)}
.bar-top .mark{height:31px;width:auto;display:block}
.lang{position:absolute;right:16px;top:50%;transform:translateY(-50%);font:500 12px var(--sans);letter-spacing:.2em;color:var(--muted-d);display:flex;align-items:center;gap:2px}
.lang button{font:inherit;letter-spacing:inherit;color:inherit;background:none;border:0;padding:8px 6px;cursor:pointer}
.lang button[aria-pressed="true"]{color:var(--sand);text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:5px}
.hero-copy{position:relative;z-index:2;padding:0 20px 52px;max-width:860px;margin:0 auto;width:100%;text-align:center}
.hero h1{font:400 clamp(46px,11vw,92px)/.98 var(--serif);letter-spacing:-.01em;margin:0 0 18px;color:var(--sand);text-wrap:balance}
.hero h1 em{color:#fff}
.sub{font:300 15px/1.5 var(--sans);letter-spacing:.06em;color:var(--sand);margin:0 0 26px;text-transform:lowercase}
.hero-link{display:inline-block;font:500 13px var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--sand);text-decoration:none;border-bottom:1px solid var(--brass);padding:6px 0}
.hero-link:hover{color:#fff}

/* intro, dark */
.intro{padding:64px 0 0}
.role{font:400 clamp(32px,6.4vw,50px)/1.05 var(--serif);margin:0 0 22px;color:var(--sand);text-wrap:balance}
.role .arr{color:var(--brass)}
.intro p{color:var(--muted-d);margin:0 0 16px;font-weight:300}
.intro p.big{font-size:19px;color:var(--sand);font-weight:400}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:30px 0 22px;border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d)}
.facts div{padding:16px 10px 16px 0}
.facts div+div{padding-left:14px;border-left:1px solid var(--line-d)}
.facts dt{font:500 11px var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--brass);margin-bottom:4px}
.facts dd{margin:0;font:400 clamp(20px,4.6vw,26px)/1.15 var(--serif);color:var(--sand)}
.welcome{font-size:15px}
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:44px}
.strip img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block}
@media (min-width:760px){.strip img{aspect-ratio:4/3}}

/* application, rice paper ground */
.apply-sec{background:var(--rice);color:var(--ink);padding:64px 0 56px}
.form-title{font:400 clamp(38px,8vw,58px)/1 var(--serif);margin:0 0 30px;color:var(--ink)}
.form-title em,.card h3 em{color:var(--teak)}
.card{border-top:1px solid var(--line-l);padding:26px 0 8px;margin:0}
.card h3{font:400 30px/1.1 var(--serif);margin:0 0 18px;display:flex;align-items:baseline;gap:14px}
.card .n{font:500 12px var(--sans);letter-spacing:.3em;color:var(--teak)}
.fld{display:block;margin:0 0 20px;border:0;padding:0;min-width:0}
.lb{display:block;font:500 16px/1.4 var(--sans);margin-bottom:8px;padding:0;color:var(--ink)}
.lb small{display:block;font-weight:300;color:var(--muted-l);font-size:14px;margin-top:2px}
.lb i,.req i{color:var(--teak);font-style:normal}
.lb a{color:var(--teak);font-weight:500}
input[type=text],input[type=url],input[type=tel],input[type=email],textarea,select{
  width:100%;font:400 16px/1.4 var(--sans);color:var(--ink);background:#f7f4ea;border:1px solid var(--line-l);border-radius:2px;padding:13px 14px;outline:none;-webkit-appearance:none;appearance:none;transition:border-color .15s,background .15s}
input::placeholder,textarea::placeholder{color:#9b958a}
textarea{resize:vertical;min-height:80px}
select{background-image:linear-gradient(45deg,transparent 50%,var(--brass) 50%),linear-gradient(135deg,var(--brass) 50%,transparent 50%);background-position:calc(100% - 19px) 52%,calc(100% - 14px) 52%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
input:focus,textarea:focus,select:focus{border-color:var(--brass);background:#fffdf6;box-shadow:0 0 0 3px rgba(166,138,91,.22)}
.bad input,.bad textarea,.bad select{border-color:var(--err);background:#fbf1ec}
.err{display:block;color:var(--err);font-size:14px;margin-top:6px}
.err:empty{display:none}
.row2{display:grid;grid-template-columns:1fr;gap:0 16px}
@media (min-width:620px){.row2{grid-template-columns:1fr 1fr}}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pills label{position:relative;cursor:pointer}
.pills input{position:absolute;opacity:0;width:1px;height:1px}
.pills span{display:inline-block;border:1px solid rgba(18,18,18,.3);border-radius:99px;padding:10px 20px;font-size:15px;background:transparent;user-select:none;transition:background .15s}
.pills b{font-weight:500}
.pills input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--sand)}
.pills input:focus-visible+span{box-shadow:0 0 0 3px rgba(166,138,91,.35)}
.bad .pills span{border-color:var(--err)}
.band{margin:18px -20px 6px;padding:0}
.band img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}
@media (min-width:760px){.band{margin:22px 0 8px}}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.privacy{font-size:14px;color:var(--muted-l);margin:12px 0 16px;font-weight:300}
.formerr{background:#f6e6de;border-left:3px solid var(--err);padding:11px 14px;margin:0 0 14px;font-size:15px;color:var(--ink)}
.btn{display:block;width:100%;font:500 14px var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#fff;background:var(--teak);border:0;border-radius:2px;padding:19px 16px;cursor:pointer;transition:background .15s}
.btn:hover{background:#87582c}
.btn[disabled]{opacity:.65;cursor:wait}
.req{font-size:13px;color:var(--muted-l);text-align:center;margin:12px 0 0}

/* thank you, dark */
.thanks{text-align:center;padding:90px 24px 70px;max-width:620px;margin:0 auto;outline:none;min-height:80vh;min-height:80svh;display:flex;flex-direction:column;justify-content:center;align-items:center}
.thanks .mark{height:44px;width:auto;margin:0 0 30px}
.thanks h2{font:400 clamp(46px,10vw,70px)/1 var(--serif);margin:0 0 20px}
.thanks p{color:var(--muted-d);font-weight:300;margin:0 0 14px}
.thanks a{color:var(--sand)}
.small{font-size:14px}

.foot{text-align:center;padding:46px 20px max(40px,env(safe-area-inset-bottom));border-top:1px solid var(--line-d)}
.foot .mark{height:23px;width:auto;margin:0 auto 14px;display:block}
.foot .word{font:300 15px var(--sans);letter-spacing:.42em;margin-right:-.42em;text-transform:lowercase;color:var(--sand)}
.foot .tag{font:400 italic 17px var(--serif);color:var(--brass);margin-top:6px}

/* review page (Brahma, Romy): rice paper, same type */
.rv{background:var(--rice);color:var(--ink)}
.rv .wrap{max-width:1100px;padding:36px 20px}
.rv h1{font:400 clamp(34px,6vw,48px)/1.05 var(--serif);margin:0 0 6px}
.rv .label{color:var(--teak)}
.rv .small{color:var(--muted-l)}
.rv-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0 18px}
.rv-bar .chip{font:500 14px var(--sans);border:1px solid rgba(18,18,18,.25);background:transparent;border-radius:99px;padding:7px 14px;cursor:pointer;color:var(--ink)}
.rv-bar .chip.on{background:var(--ink);color:var(--sand);border-color:var(--ink)}
.app{background:#f7f4ea;border:1px solid var(--line-l);border-radius:2px;padding:18px 20px;margin:0 0 12px}
.app.test{border-style:dashed;opacity:.75}
.app h3{margin:0;font:400 26px/1.15 var(--serif)}
.app .meta{font-size:13px;color:var(--muted-l);margin:2px 0 12px}
.app dl{display:grid;grid-template-columns:1fr;gap:2px 16px;margin:0}
@media (min-width:700px){.app dl{grid-template-columns:210px 1fr}}
.app dt{font:500 11px var(--sans);color:var(--brass);text-transform:uppercase;letter-spacing:.24em;padding-top:8px}
.app dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;padding-top:4px}
.app a{color:var(--teak)}
.st{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
.st button{font:500 14px var(--sans);border:1px solid rgba(18,18,18,.25);background:transparent;border-radius:99px;padding:6px 14px;cursor:pointer;color:var(--ink)}
.st button.on{background:var(--teak);color:#fff;border-color:var(--teak)}
.badge{display:inline-block;font:500 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;border-radius:99px;padding:3px 9px;background:rgba(166,138,91,.18);color:#6d5634;margin-left:8px;vertical-align:middle}
.rv .formerr{margin-top:12px}
