
:root{
  --beach:#b8aa87;
  --beach-light:#ded6c4;
  --sand:#eee8dc;
  --paper:#f5f1e9;
  --olive:#77765A;
  --olive-dark:#5D5C43;
  --ink:#282a23;
  --muted:#777366;
  --line:rgba(40,42,35,.18);
  --serif:"Times New Roman",Times,serif;
  --sans:Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5}
body.loading{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
::selection{background:var(--olive);color:var(--paper)}
.cursor{position:fixed;z-index:200;width:12px;height:12px;border:1px solid var(--ink);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);transition:width .25s,height .25s,background .25s;mix-blend-mode:multiply}
.cursor.hover{width:38px;height:38px;background:rgba(128,128,0,.16)}
.noise{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}
.intro{position:fixed;inset:0;z-index:999;overflow:hidden;isolation:isolate;display:grid;place-items:center;background:var(--beach);color:var(--ink)}
.intro-panel{position:absolute;top:0;bottom:0;width:50.05%;background:var(--beach);z-index:1;will-change:transform;transition:transform 1.30s cubic-bezier(.77,0,.18,1)}
.intro-panel-left{left:0;transform-origin:left center}
.intro-panel-right{right:0;transform-origin:right center}
.intro-grain{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.72'/%3E%3C/svg%3E")}
.intro-center{position:relative;z-index:4;text-align:center;transform:translateY(-1.5vh);will-change:transform,opacity}
.intro-kicker{font-size:clamp(7px,.58vw,10px);letter-spacing:.42em;text-indent:.42em;text-transform:uppercase;margin-bottom:clamp(28px,3vw,44px);opacity:0;transform:translateY(10px);animation:introKicker 1.05s cubic-bezier(.22,.72,.22,1) .55s forwards}
.intro-wordmark{display:flex;justify-content:center;align-items:baseline;white-space:nowrap;font-family:Arial,Helvetica,sans-serif;font-size:clamp(70px,10.2vw,170px);font-weight:300;line-height:.78;letter-spacing:.19em;text-indent:.19em}
.intro-wordmark>span:not(.intro-space){display:inline-block;opacity:0;filter:blur(7px);will-change:transform,opacity,filter}
.intro-en{transform:translateX(-42px);animation:introWordLeft 1.55s cubic-bezier(.16,.78,.16,1) .78s forwards}
.intro-toki{transform:translateX(42px);animation:introWordRight 1.55s cubic-bezier(.16,.78,.16,1) .78s forwards}
.intro-space{width:clamp(22px,3.2vw,60px)}
.intro-studio{font-size:clamp(8px,.72vw,12px);letter-spacing:clamp(.68em,1.04vw,1.12em);text-indent:1.05em;margin-top:clamp(24px,2.7vw,40px);opacity:0;transform:translateY(12px);animation:introStudioSlow 1.15s cubic-bezier(.2,.65,.2,1) 1.85s forwards}
.intro-index{position:absolute;z-index:4;left:5vw;bottom:5.2vh;display:flex;align-items:center;gap:10px;font-size:8px;letter-spacing:.16em;opacity:0;animation:introIndex .9s ease 1.9s forwards}
.intro-index-line{display:block;width:52px;height:1px;background:rgba(40,42,35,.45);transform:scaleX(0);transform-origin:left;animation:introIndexLine 1.25s cubic-bezier(.22,.72,.22,1) 2.15s forwards}
.intro-rule{position:absolute;z-index:4;right:5vw;bottom:5.2vh;height:1px;width:min(160px,18vw);background:rgba(40,42,35,.42);transform:scaleX(0);transform-origin:right;animation:introRule 1.45s cubic-bezier(.22,.72,.22,1) 1.75s forwards}
.intro.releasing .intro-center{animation:introCenterOut 1.08s cubic-bezier(.62,0,.28,1) forwards}
.intro.releasing .intro-index,.intro.releasing .intro-rule{transition:opacity .55s ease;opacity:0}
.intro.releasing .intro-panel-left{transform:translateX(-100%)}
.intro.releasing .intro-panel-right{transform:translateX(100%)}
.intro.done{pointer-events:none;visibility:hidden}
@keyframes introKicker{to{opacity:.62;transform:none}}
@keyframes introWordLeft{0%{opacity:0;transform:translateX(-42px);filter:blur(7px)}55%{opacity:1;filter:blur(1px)}100%{opacity:1;transform:none;filter:blur(0)}}
@keyframes introWordRight{0%{opacity:0;transform:translateX(42px);filter:blur(7px)}55%{opacity:1;filter:blur(1px)}100%{opacity:1;transform:none;filter:blur(0)}}
@keyframes introStudioSlow{to{opacity:.58;transform:none}}
@keyframes introIndex{to{opacity:.52}}
@keyframes introIndexLine{to{transform:scaleX(1)}}
@keyframes introRule{to{transform:scaleX(1)}}
@keyframes introCenterOut{0%{opacity:1;transform:translateY(-1.5vh) scale(1)}35%{opacity:1;transform:translateY(-1.5vh) scale(.995)}100%{opacity:0;transform:translateY(-3vh) scale(.985)}}
@media (prefers-reduced-motion:reduce){.intro{display:none!important}body.loading{overflow:auto!important}}
header{position:fixed;z-index:90;left:0;top:0;width:100%;padding:20px 28px;display:flex;align-items:center;justify-content:space-between;transition:background .35s,transform .35s,border-color .35s;border-bottom:1px solid transparent}
header.scrolled{background:rgba(245,241,233,.88);backdrop-filter:blur(10px);border-bottom-color:var(--line)}
.brand{font-size:20px;letter-spacing:.34em;text-transform:lowercase}
.brand small{font-size:7px;letter-spacing:.5em;display:block;text-align:center;margin-top:1px}
.nav{display:flex;gap:28px;text-transform:uppercase;font-size:11px;letter-spacing:.18em}
.nav a{position:relative}
.nav a:after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:currentColor;transition:.35s}
.nav a:hover:after,.nav a.active:after{width:100%}
.menu-btn{display:none;background:none;border:0;padding:8px;font-size:12px;letter-spacing:.18em;text-transform:uppercase}
main{overflow:hidden}
.hero{height:100svh;min-height:650px;position:relative;background:var(--beach);display:flex;align-items:flex-end}
.hero-media{position:absolute;inset:0;overflow:hidden}
.hero-media img{transform:scale(1.05);filter:brightness(.86) saturate(.82)}
.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,26,20,.08),rgba(24,26,20,.42))}
.hero-content{position:relative;z-index:2;color:#f7f2e9;padding:0 5vw 7vh;width:100%}
.eyebrow{font-size:10px;letter-spacing:.24em;text-transform:uppercase;margin-bottom:18px}
.hero h1,.page-hero h1{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:.9;margin:0;font-size:clamp(66px,10vw,160px);max-width:1100px}
.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:35px;border-top:1px solid rgba(255,255,255,.45);padding-top:16px}
.hero-bottom p{max-width:430px;margin:0;font-size:15px}
.scroll-mark{font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.section{padding:120px 5vw}
.section.tight{padding-top:60px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:5vw}
.statement{background:var(--paper)}
.statement h2{font-family:var(--serif);font-size:clamp(42px,5.5vw,84px);font-weight:400;line-height:1.03;letter-spacing:-.035em;margin:0;max-width:980px}
.statement .meta{display:grid;grid-template-columns:180px 1fr;gap:50px;margin-top:65px;max-width:770px;margin-left:auto}
.statement .meta p{margin:0;font-size:16px}
.link-arrow{display:inline-flex;align-items:center;gap:15px;text-transform:uppercase;letter-spacing:.18em;font-size:10px;border-bottom:1px solid var(--ink);padding-bottom:6px;margin-top:24px}
.feature{background:var(--olive);color:var(--paper)}
.feature-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:center}
.image-wrap{overflow:hidden}
.image-wrap.tall{aspect-ratio:3/4}
.image-wrap.wide{aspect-ratio:4/3}
.image-wrap img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.image-wrap:hover img{transform:scale(1.035)}
.feature-copy h3,.project-copy h3{font-family:var(--serif);font-size:clamp(45px,5vw,78px);font-weight:400;line-height:1;margin:0 0 25px}
.feature-copy p{max-width:440px;font-size:15px}
.projects-strip{background:var(--sand)}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:45px}
.section-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(38px,5vw,70px);line-height:1;margin:0}
.project-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card .image-wrap{aspect-ratio:4/5}
.card:nth-child(2){margin-top:80px}
.card:nth-child(3){margin-top:25px}
.card .label{display:flex;justify-content:space-between;margin-top:12px;font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.philosophy{background:var(--beach-light);min-height:78vh;display:flex;align-items:center}
.philosophy-inner{width:100%;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:start}
.philosophy h2{font-family:var(--serif);font-size:clamp(52px,7vw,105px);font-weight:400;line-height:.92;margin:0}
.philosophy p{font-size:22px;line-height:1.4;max-width:620px;margin:0}
.newsletter{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}
.newsletter h2{font-family:var(--serif);font-size:clamp(45px,5vw,76px);font-weight:400;line-height:1;margin:0}
.signup{border-bottom:1px solid var(--paper);display:flex;justify-content:space-between;padding-bottom:10px}
.signup input{background:none;border:0;color:var(--paper);font:inherit;width:100%;outline:0}
.signup button{background:none;border:0;color:var(--paper);font-size:11px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
footer{padding:45px 5vw;background:var(--ink);color:var(--paper);border-top:1px solid rgba(255,255,255,.16)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.footer-logo{font-size:26px;letter-spacing:.35em}
.footer-col a,.footer-col span{display:block;margin:7px 0;font-size:12px}
.footer-bottom{display:flex;justify-content:space-between;margin-top:65px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.65}
.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.visible{opacity:1;transform:none}
.page-hero{min-height:72vh;padding:170px 5vw 70px;background:var(--beach);display:flex;flex-direction:column;justify-content:flex-end}
.page-hero p{font-size:16px;max-width:540px;margin:25px 0 0}
.page-hero.olive{background:var(--olive);color:var(--paper)}
.about-lead{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}
.about-lead h2{font-family:var(--serif);font-size:clamp(45px,5vw,76px);font-weight:400;line-height:1.05;margin:0}
.about-copy{font-size:18px;max-width:680px}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.value{padding:40px 30px 20px 0;border-right:1px solid var(--line);min-height:230px}
.value:not(:first-child){padding-left:30px}
.value:last-child{border-right:0}
.value h3{font-family:var(--serif);font-weight:400;font-size:32px;margin:0 0 20px}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.gallery-item{overflow:hidden}
.gallery-item:nth-child(1){grid-column:1/8;aspect-ratio:4/3}
.gallery-item:nth-child(2){grid-column:9/13;aspect-ratio:3/4;margin-top:90px}
.gallery-item:nth-child(3){grid-column:2/6;aspect-ratio:3/4;margin-top:25px}
.gallery-item:nth-child(4){grid-column:7/13;aspect-ratio:4/3;margin-top:95px}
.project-list{border-top:1px solid var(--line)}
.project-link{display:grid;grid-template-columns:100px 1fr 1fr 60px;gap:20px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);transition:padding .3s,background .3s}
.project-link:hover{padding-left:16px;background:rgba(128,128,0,.06)}
.project-link .name{font-family:var(--serif);font-size:clamp(32px,4vw,58px)}
.project-link .kind,.project-link .year{font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.services-list{counter-reset:svc;border-top:1px solid var(--line)}
.service{counter-increment:svc;display:grid;grid-template-columns:90px 1fr 1fr;gap:25px;padding:45px 0;border-bottom:1px solid var(--line)}
.service:before{content:"0" counter(svc);font-size:11px;letter-spacing:.15em}
.service h2{font-family:var(--serif);font-weight:400;font-size:clamp(35px,4vw,58px);margin:0}
.service p{margin:0;max-width:520px}
.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.product .image-wrap{aspect-ratio:4/5;background:#ddd3be}
.product-info{display:flex;justify-content:space-between;margin-top:12px;font-size:11px}
.product-info .name{text-transform:uppercase;letter-spacing:.14em}
.badge{position:absolute;top:12px;left:12px;background:var(--paper);padding:6px 8px;font-size:9px;letter-spacing:.15em;text-transform:uppercase}
.product{position:relative}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:10vw}
.contact-copy h2{font-family:var(--serif);font-size:clamp(45px,5vw,74px);font-weight:400;line-height:1.02;margin-top:0}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
form label{display:block;font-size:9px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:7px}
form input,form textarea,form select{width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:10px 0 12px;font:inherit;border-radius:0;outline:0}
form textarea{min-height:120px;resize:vertical}
.field{margin-bottom:28px}
.submit{border:1px solid var(--ink);background:transparent;padding:14px 22px;letter-spacing:.16em;text-transform:uppercase;font-size:10px;transition:.3s;cursor:pointer}
.submit:hover{background:var(--ink);color:var(--paper)}
@media(max-width:800px){
  .intro-wordmark{font-size:clamp(56px,18vw,96px);letter-spacing:.12em;text-indent:.12em}
  .intro-space{width:12px}
  .intro-kicker{font-size:7px;letter-spacing:.30em;text-indent:.30em;margin-bottom:24px}
  .intro-studio{font-size:7px;letter-spacing:.64em;text-indent:.64em;margin-top:22px}
  .intro-index{left:22px;bottom:28px}
  .intro-rule{right:22px;bottom:28px;width:78px}
  .cursor{display:none}
  header{padding:17px 18px}
  .nav{position:fixed;inset:0;background:var(--paper);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px;font-family:var(--serif);font-size:30px;letter-spacing:0;transform:translateY(-100%);transition:.65s cubic-bezier(.76,0,.24,1);z-index:-1}
  .nav.open{transform:none}
  .menu-btn{display:block}
  .hero-content{padding:0 22px 35px}
  .hero h1,.page-hero h1{font-size:clamp(58px,19vw,100px)}
  .hero-bottom{display:block}
  .scroll-mark{margin-top:25px}
  .section{padding:80px 22px}
  .grid-2,.feature-grid,.philosophy-inner,.newsletter,.about-lead,.contact-grid{grid-template-columns:1fr}
  .statement .meta{grid-template-columns:1fr;gap:15px;margin-top:40px}
  .project-row,.shop-grid,.value-grid{grid-template-columns:1fr}
  .card:nth-child(2),.card:nth-child(3){margin-top:25px}
  .philosophy{min-height:auto}
  .project-link{grid-template-columns:55px 1fr 70px}
  .project-link .kind{display:none}
  .service{grid-template-columns:45px 1fr}
  .service p{grid-column:2}
  .gallery-grid{display:block}
  .gallery-item{aspect-ratio:4/5!important;margin:0 0 20px!important}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid>div:first-child{grid-column:1/-1}
  .form-row{grid-template-columns:1fr}
}

/* V4: restrained En Toki intro — brand only */
.intro-kicker,.intro-index,.intro-rule{display:none!important}


/* V6 — En Toki intro: one continuous upward page reveal */
.intro{
  transform:translateY(0);
  will-change:transform;
  transition:transform 1.38s cubic-bezier(.76,0,.20,1);
}
.intro-panel{
  display:none!important;
}
.intro.releasing{
  transform:translateY(-100%);
}
.intro.releasing .intro-center{
  animation:none!important;
  opacity:1;
  transform:translateY(-1.5vh);
}
.intro.done{
  pointer-events:none;
  visibility:hidden;
}
.intro-studio{
  font-size:clamp(11px,.95vw,16px)!important;
  letter-spacing:clamp(.55em,.82vw,.90em)!important;
  text-indent:.82em!important;
  margin-top:clamp(22px,2.3vw,34px)!important;
  opacity:0;
  transform:translateY(10px);
  animation:introStudioSlow 1.15s cubic-bezier(.2,.65,.2,1) 1.65s forwards!important;
}
@media(max-width:800px){
  .intro-studio{
    font-size:9px!important;
    letter-spacing:.56em!important;
    text-indent:.56em!important;
    margin-top:20px!important;
  }
}


/* V8 — Homepage header contrast over dark hero */
body.home header{
  color:#f5f1e9;
  background:linear-gradient(180deg,rgba(15,15,12,.42),rgba(15,15,12,0));
}
body.home header .brand,
body.home header .nav a,
body.home header .menu-btn{
  color:#f5f1e9;
  text-shadow:0 1px 10px rgba(0,0,0,.22);
}
body.home header.scrolled{
  color:var(--ink);
  background:rgba(245,241,233,.94);
  backdrop-filter:blur(10px);
  border-bottom-color:var(--line);
}
body.home header.scrolled .brand,
body.home header.scrolled .nav a,
body.home header.scrolled .menu-btn{
  color:var(--ink);
  text-shadow:none;
}
body.home header .nav a:after{
  background:currentColor;
}


/* V10 — Balance intro colour */
.intro{background:#A79F91!important;}


/* V11 — refined En Toki intro */
.intro{
  background:#A79F91!important;
  color:#F4F1E9!important;
}
.intro-center{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  transform:translateY(-1.5vh);
}
.intro-wordmark{
  color:#F4F1E9!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(50px,6.4vw,104px)!important;
  font-weight:200!important;
  line-height:1!important;
  letter-spacing:.20em!important;
  text-indent:.20em!important;
  text-transform:lowercase!important;
  opacity:0;
  transform:translateY(18px);
  filter:blur(4px);
  animation:introWordmarkV11 1.45s cubic-bezier(.2,.65,.2,1) .35s forwards!important;
}
.intro-studio{
  color:#F4F1E9!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(14px,1.18vw,20px)!important;
  font-weight:300!important;
  line-height:1!important;
  letter-spacing:.48em!important;
  text-indent:.48em!important;
  margin-top:28px!important;
  opacity:0;
  transform:translateY(10px);
  filter:blur(2px);
  animation:introStudioV11 1.1s cubic-bezier(.2,.65,.2,1) 1.20s forwards!important;
}
@keyframes introWordmarkV11{
  0%{opacity:0;transform:translateY(18px);filter:blur(4px)}
  100%{opacity:1;transform:translateY(0);filter:blur(0)}
}
@keyframes introStudioV11{
  0%{opacity:0;transform:translateY(10px);filter:blur(2px)}
  100%{opacity:.96;transform:translateY(0);filter:blur(0)}
}
.intro.releasing .intro-center{
  opacity:1!important;
  transform:translateY(-1.5vh)!important;
}
@media(max-width:800px){
  .intro-wordmark{
    font-size:clamp(42px,14vw,68px)!important;
    letter-spacing:.16em!important;
    text-indent:.16em!important;
  }
  .intro-studio{
    font-size:12px!important;
    letter-spacing:.42em!important;
    text-indent:.42em!important;
    margin-top:22px!important;
  }
}



/* V13 — finalized Oak intro typography */
.intro{
  background:#A79A86!important;
  color:#F4F1E9!important;
}
.intro-center{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  transform:translateY(-1.5vh)!important;
}
.intro-wordmark{
  display:flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  color:#F4F1E9!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(58px,7.3vw,118px)!important;
  font-weight:200!important;
  line-height:1!important;
  letter-spacing:.03em!important;
  text-transform:lowercase!important;
  opacity:0;
  transform:translateY(18px);
  filter:blur(4px);
  animation:introWordmarkV13 1.45s cubic-bezier(.2,.65,.2,1) .35s forwards!important;
}
.intro-wordmark .word-gap{
  margin-left:.68em!important;
}
.intro-studio{
  color:#F4F1E9!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(12px,1.02vw,17px)!important;
  font-weight:200!important;
  line-height:1!important;
  letter-spacing:.46em!important;
  text-indent:.46em!important;
  margin-top:30px!important;
  opacity:0;
  transform:translateY(10px);
  filter:blur(2px);
  animation:introStudioV13 1.1s cubic-bezier(.2,.65,.2,1) 1.20s forwards!important;
}
@keyframes introWordmarkV13{
  0%{opacity:0;transform:translateY(18px);filter:blur(4px)}
  100%{opacity:1;transform:translateY(0);filter:blur(0)}
}
@keyframes introStudioV13{
  0%{opacity:0;transform:translateY(10px);filter:blur(2px)}
  100%{opacity:.96;transform:translateY(0);filter:blur(0)}
}
.intro.releasing .intro-center{
  opacity:1!important;
  transform:translateY(-1.5vh)!important;
}
@media(max-width:800px){
  .intro-wordmark{
    font-size:clamp(48px,15vw,76px)!important;
    letter-spacing:.02em!important;
  }
  .intro-wordmark .word-gap{
    margin-left:.58em!important;
  }
  .intro-studio{
    font-size:11px!important;
    letter-spacing:.42em!important;
    text-indent:.42em!important;
    margin-top:24px!important;
  }
}


/* V14 — match approved En Toki reference sizing and spacing */
.intro{
  background:#A79A86!important;
  color:#F4F1E9!important;
}
.intro-wordmark{
  display:flex!important;
  justify-content:center!important;
  align-items:baseline!important;
  white-space:nowrap!important;
  color:#F4F1E9!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(72px,8.4vw,136px)!important;
  font-weight:200!important;
  line-height:.92!important;
  letter-spacing:.18em!important;
  text-indent:0!important;
  text-transform:lowercase!important;
}
.intro-wordmark > span{
  display:inline-block!important;
}
.intro-wordmark .word-gap{
  margin-left:.36em!important;
}
.intro-studio{
  color:#F4F1E9!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(13px,1.08vw,18px)!important;
  font-weight:200!important;
  letter-spacing:.50em!important;
  text-indent:.50em!important;
  margin-top:34px!important;
  line-height:1!important;
}
@media(max-width:800px){
  .intro-wordmark{
    font-size:clamp(50px,16vw,78px)!important;
    letter-spacing:.14em!important;
  }
  .intro-wordmark .word-gap{
    margin-left:.30em!important;
  }
  .intro-studio{
    font-size:11px!important;
    letter-spacing:.44em!important;
    text-indent:.44em!important;
    margin-top:25px!important;
  }
}


/* V28 — refined header logo + reordered nav with Contact under About */
.brand-refined{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.brand-refined .brand-main{
  font-family:"Segoe UI Light","Segoe UI","Helvetica Neue",Arial,sans-serif!important;
  font-size:22px!important;
  font-weight:300!important;
  letter-spacing:.30em!important;
  text-indent:.30em!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.brand-refined small{
  font-family:"Segoe UI Light","Segoe UI","Helvetica Neue",Arial,sans-serif!important;
  font-size:8.5px!important;
  font-weight:300!important;
  letter-spacing:.46em!important;
  text-indent:.46em!important;
  margin-top:7px!important;
  line-height:1!important;
}

.nav{
  align-items:center!important;
}
.nav-about{
  position:relative;
  display:flex;
  align-items:center;
}
.nav-about-link{
  display:block;
}
.nav-submenu{
  position:absolute;
  top:calc(100% + 10px);
  left:50%;
  transform:translate(-50%,8px);
  min-width:110px;
  padding:12px 14px;
  background:rgba(245,241,233,.96);
  color:var(--ink);
  border:1px solid rgba(40,42,35,.12);
  backdrop-filter:blur(10px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .25s ease,transform .25s ease,visibility .25s;
}
.nav-submenu:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-14px;
  height:14px;
}
.nav-submenu a{
  display:block;
  white-space:nowrap;
  font-size:10px!important;
  letter-spacing:.18em!important;
  text-transform:uppercase;
}
.nav-about:hover .nav-submenu,
.nav-about:focus-within .nav-submenu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0);
}

/* On the dark homepage hero, submenu stays light for readability */
body.home header:not(.scrolled) .nav-submenu{
  background:rgba(245,241,233,.96);
  color:var(--ink);
  text-shadow:none;
}

@media(max-width:800px){
  .brand-refined .brand-main{
    font-size:20px!important;
    letter-spacing:.26em!important;
    text-indent:.26em!important;
  }
  .brand-refined small{
    font-size:8px!important;
    letter-spacing:.42em!important;
    text-indent:.42em!important;
    margin-top:6px!important;
  }
  .nav-about{
    flex-direction:column;
  }
  .nav-submenu{
    position:static;
    transform:none!important;
    min-width:0;
    padding:8px 0 0;
    border:0;
    background:transparent!important;
    color:inherit!important;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    backdrop-filter:none;
    text-align:center;
  }
  .nav-submenu a{
    font-family:var(--sans)!important;
    font-size:13px!important;
    letter-spacing:.14em!important;
  }
}


/* V29 — header logo refinement + About/Contact dropdown cleanup */
.brand-refined small{
  font-family:"Segoe UI Light","Segoe UI","Helvetica Neue Light","Helvetica Neue",Arial,sans-serif!important;
  font-size:9.5px!important;
  font-weight:200!important;
  letter-spacing:.50em!important;
  text-indent:.50em!important;
  margin-top:4px!important;
  line-height:1!important;
  opacity:.92!important;
}

.nav-submenu{
  background:rgba(20,20,18,.82)!important;
  color:#F5F1E9!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:none!important;
  backdrop-filter:blur(10px)!important;
}
.nav-submenu a{
  color:#F5F1E9!important;
  background:transparent!important;
  text-shadow:none!important;
}
.nav-submenu a:hover,
.nav-submenu a:focus{
  background:transparent!important;
  opacity:.72!important;
}

/* Keep submenu dark even over the homepage hero */
body.home header:not(.scrolled) .nav-submenu{
  background:rgba(20,20,18,.82)!important;
  color:#F5F1E9!important;
}

/* Once header becomes light on scroll, submenu remains a discreet dark panel */
header.scrolled .nav-submenu{
  background:rgba(20,20,18,.90)!important;
  color:#F5F1E9!important;
}

@media(max-width:800px){
  .brand-refined small{
    font-size:8.5px!important;
    font-weight:200!important;
    letter-spacing:.46em!important;
    text-indent:.46em!important;
    margin-top:4px!important;
  }
  .nav-submenu{
    background:transparent!important;
    border:0!important;
    backdrop-filter:none!important;
  }
  .nav-submenu a{
    color:inherit!important;
  }
}


/* V30 — slightly more separation between EN TOKI and STUDIO */
.brand-refined small{
  margin-top:7px!important;
}

@media(max-width:800px){
  .brand-refined small{
    margin-top:7px!important;
  }
}



/* Wide desktop screens: preserve substantially more of the original image */
@media (min-aspect-ratio: 16/9){
  .hero{
    background-size:100% auto!important;
    background-position:center center!important;
    background-color:#0b0a08!important;
  }
}


/* V32 — preserve the full homepage photograph without zooming/cropping */
body.home .hero{
  background:#0b0a08!important;
}

body.home .hero-media{
  position:absolute!important;
  inset:0!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#0b0a08!important;
}

body.home .hero-media img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  filter:brightness(.86) saturate(.82)!important;
}


/* V33 — slightly larger header logo, same proportions */
.brand-refined .brand-main{
  font-size:24px!important;
}
.brand-refined small{
  font-size:10.5px!important;
}

@media(max-width:800px){
  .brand-refined .brand-main{
    font-size:22px!important;
  }
  .brand-refined small{
    font-size:9.5px!important;
  }
}

/* V35 VERIFIED — exact uploaded photo; no edits, filters, zoom, or crop */
body.home .hero-media{
 position:absolute!important; inset:0!important; overflow:hidden!important;
 display:flex!important; align-items:center!important; justify-content:center!important;
 background:#080705!important;
}
body.home .hero-media img{
 display:block!important; width:100%!important; height:100%!important;
 object-fit:contain!important; object-position:center center!important;
 transform:none!important; filter:none!important; opacity:1!important;
}
body.home .hero-media:after{display:none!important;content:none!important;}

/* V36 — full original hero photograph, guaranteed uncropped */
body.home .hero-media{
  position:absolute!important;
  inset:0!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#080705!important;
}
body.home .hero-media img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  filter:none!important;
  opacity:1!important;
}
body.home .hero-media:after{display:none!important;content:none!important;}


/* V39 — Shop + slide-out cart */
.cart-trigger{
  appearance:none;border:0;background:transparent;color:inherit;cursor:pointer;
  font:inherit;text-transform:uppercase;letter-spacing:.14em;font-size:10px;
  padding:4px 0 4px 8px;
}
.cart-count{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:18px;height:18px;margin-left:4px;border:1px solid currentColor;border-radius:50%;
  font-size:8px;letter-spacing:0;
}
.shop-grid-live{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,64px)}
.shop-product{position:relative}
.shop-product .image-wrap{aspect-ratio:4/5;background:#eee9df}
.shop-product .image-wrap img{width:100%;height:100%;object-fit:cover}
.product-info-live{align-items:flex-start;margin-top:14px}
.product-info-live>div{display:flex;flex-direction:column;gap:4px}
.product-category{font-size:9px;letter-spacing:.14em;text-transform:uppercase;opacity:.55}
.product-price{font-size:12px}
.add-to-cart{
  width:100%;margin-top:16px;padding:15px 18px;
  border:1px solid var(--ink);background:transparent;color:var(--ink);
  font-family:var(--sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  cursor:pointer;transition:background .25s ease,color .25s ease;
}
.add-to-cart:hover{background:var(--ink);color:var(--paper)}
.add-to-cart.added{background:var(--olive);border-color:var(--olive);color:var(--paper)}

.cart-overlay{
  position:fixed;inset:0;background:rgba(10,10,8,.34);z-index:1100;
  opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s;
}
.cart-overlay.open{opacity:1;visibility:visible}
.cart-drawer{
  position:fixed;top:0;right:0;width:min(455px,94vw);height:100dvh;z-index:1101;
  background:#f5f1e9;color:#282a23;transform:translateX(101%);
  transition:transform .48s cubic-bezier(.76,0,.24,1);
  display:flex;flex-direction:column;box-shadow:-18px 0 55px rgba(0,0,0,.12);
}
.cart-drawer.open{transform:translateX(0)}
.cart-head{
  display:flex;justify-content:space-between;align-items:flex-start;
  padding:30px 28px 24px;border-bottom:1px solid rgba(40,42,35,.15)
}
.cart-head h2{font-family:var(--serif);font-size:30px;font-weight:400;margin:7px 0 0}
.cart-title-count{font-family:var(--sans);font-size:12px;vertical-align:middle}
.cart-close{
  border:0;background:transparent;font-size:31px;font-weight:200;line-height:1;
  color:inherit;cursor:pointer;padding:0 2px
}
.cart-items{flex:1;overflow:auto;padding:0 28px}
.cart-item{
  display:grid;grid-template-columns:92px 1fr auto;gap:16px;padding:24px 0;
  border-bottom:1px solid rgba(40,42,35,.14)
}
.cart-item-image{width:92px;height:112px;object-fit:cover;background:#e7e1d5}
.cart-item-name{display:block;font-family:var(--serif);font-size:18px;margin-bottom:5px}
.cart-item-meta{font-size:9px;letter-spacing:.13em;text-transform:uppercase;opacity:.52}
.cart-item-price{font-size:11px;white-space:nowrap;padding-top:3px}
.cart-item-controls{display:flex;align-items:center;gap:14px;margin-top:19px}
.cart-qty{
  display:inline-flex;align-items:center;border:1px solid rgba(40,42,35,.28);height:34px
}
.cart-qty button{
  width:32px;height:32px;border:0;background:transparent;cursor:pointer;font-size:15px;color:inherit
}
.cart-qty span{min-width:26px;text-align:center;font-size:10px}
.cart-remove{
  appearance:none;border:0;background:transparent;padding:0;cursor:pointer;
  font-size:9px;text-transform:uppercase;letter-spacing:.12em;
  border-bottom:1px solid currentColor;color:inherit;opacity:.65
}
.cart-empty{display:none;flex:1;align-items:center;justify-content:center;flex-direction:column;gap:20px;padding:40px}
.cart-empty p{font-family:var(--serif);font-size:25px}
.cart-continue{
  border:0;border-bottom:1px solid currentColor;background:transparent;
  font-size:9px;letter-spacing:.16em;text-transform:uppercase;padding:0 0 5px;cursor:pointer
}
.cart-footer{padding:22px 28px 28px;border-top:1px solid rgba(40,42,35,.16)}
.cart-subtotal-row{display:flex;justify-content:space-between;align-items:center;font-size:12px}
.cart-subtotal-row strong{font-weight:400}
.cart-note{font-size:9px;opacity:.58;margin:9px 0 18px}
.cart-checkout{
  width:100%;border:0;background:#282a23;color:#f5f1e9;padding:17px 20px;
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer
}
.cart-checkout:disabled{opacity:.35;cursor:not-allowed}
body.cart-open{overflow:hidden}

@media(max-width:800px){
  .shop-grid-live{grid-template-columns:1fr}
  .cart-trigger{font-size:13px;padding:10px 0}
  .cart-count{height:20px;min-width:20px}
}


/* V41 — gallery-led shop + editorial product detail pages */
.shop-gallery-intro{
  padding:150px 5vw 42px;
  display:flex;align-items:flex-end;justify-content:space-between;
}
.shop-gallery-intro h1{
  margin:6px 0 0;font-family:var(--serif);font-weight:400;
  font-size:clamp(42px,5vw,78px);line-height:.95;
}
.shop-gallery{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:2px;padding:0 0 9vw;background:var(--paper);
}
.gallery-product{
  color:inherit;text-decoration:none;display:block;padding:0 2.4vw 4vw;
}
.gallery-product-image{
  aspect-ratio:4/5;overflow:hidden;background:#ece7dd;
}
.gallery-product-image img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .7s cubic-bezier(.2,.7,.2,1);
}
.gallery-product:hover .gallery-product-image img{transform:scale(1.018)}
.gallery-product-meta{
  display:flex;justify-content:space-between;align-items:flex-start;
  gap:18px;padding-top:15px;
}
.gallery-maker{
  display:block;font-size:9px;letter-spacing:.15em;text-transform:uppercase;opacity:.52;margin-bottom:5px;
}
.gallery-product-meta h2{
  margin:0;font-family:var(--sans);font-size:12px;font-weight:400;letter-spacing:.04em;
}
.gallery-price{font-size:11px;white-space:nowrap}

.product-page{padding-top:82px;background:var(--paper)}
.product-detail{
  min-height:calc(100vh - 82px);
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);
}
.product-detail-media{
  min-height:calc(100vh - 82px);background:#ece7dd;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.product-detail-media img{
  width:100%;height:100%;max-height:calc(100vh - 82px);
  object-fit:contain;object-position:center;background:#ece7dd;
}
.product-detail-info{
  padding:54px clamp(34px,5vw,76px) 60px;
  border-left:1px solid rgba(40,42,35,.12);
  align-self:start;
}
.product-back{
  display:inline-block;color:inherit;text-decoration:none;font-size:9px;letter-spacing:.14em;
  text-transform:uppercase;margin-bottom:58px;opacity:.62;
}
.product-detail-heading h1{
  font-family:var(--serif);font-size:clamp(34px,3.2vw,54px);font-weight:400;
  line-height:1.02;margin:8px 0 7px;
}
.product-subtitle{font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.55;margin:0}
.product-detail-price{font-size:13px;margin:22px 0 0}
.product-description{
  margin:42px 0 34px;max-width:520px;font-family:var(--serif);
  font-size:17px;line-height:1.55;
}
.product-add{
  width:100%;padding:17px 20px;border:1px solid var(--ink);
  background:transparent;color:var(--ink);font-size:10px;letter-spacing:.18em;
  text-transform:uppercase;cursor:pointer;
}
.product-add:hover{background:var(--ink);color:var(--paper)}
.delivery-note{font-size:9px;opacity:.55;margin:13px 0 28px}
.product-accordions{border-top:1px solid rgba(40,42,35,.16)}
.product-accordions details{border-bottom:1px solid rgba(40,42,35,.16)}
.product-accordions summary{
  list-style:none;cursor:pointer;padding:18px 0;
  font-size:9px;letter-spacing:.15em;text-transform:uppercase;
}
.product-accordions summary::-webkit-details-marker{display:none}
.product-accordions summary:after{content:'+';float:right;font-size:14px;font-weight:300}
.product-accordions details[open] summary:after{content:'−'}
.accordion-content{padding:0 0 20px;font-size:12px;line-height:1.65;opacity:.72;max-width:520px}

@media(max-width:900px){
  .shop-gallery-intro{padding:120px 24px 30px}
  .shop-gallery{grid-template-columns:1fr}
  .gallery-product{padding:0 20px 44px}
  .product-detail{grid-template-columns:1fr}
  .product-detail-media{min-height:auto}
  .product-detail-media img{height:auto;max-height:none}
  .product-detail-info{border-left:0;padding:38px 24px 54px}
  .product-back{margin-bottom:34px}
}


/* V42 — editorial About page inspired by image/text pacing, retaining En Toki language */
.about-editorial-page{
  background:var(--paper);
  color:var(--ink);
}
.about-editorial-intro{
  padding:clamp(135px,14vw,220px) 5vw clamp(64px,8vw,120px);
  display:grid;
  grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);
  align-items:end;
  border-bottom:1px solid rgba(40,42,35,.13);
}
.about-editorial-intro h1{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(54px,8.5vw,138px);
  line-height:.88;
  font-weight:400;
  letter-spacing:-.035em;
}
.about-story{
  padding:0 5vw;
}
.about-story-row{
  display:grid;
  grid-template-columns:minmax(0,1.32fr) minmax(340px,.68fr);
  gap:clamp(46px,8vw,145px);
  align-items:center;
  padding:clamp(72px,9vw,145px) 0;
  border-bottom:1px solid rgba(40,42,35,.13);
}
.about-story-row-reverse{
  grid-template-columns:minmax(340px,.68fr) minmax(0,1.32fr);
}
.about-story-row-reverse .about-story-image{grid-column:2}
.about-story-row-reverse .about-story-copy{grid-column:1;grid-row:1}

.about-story-image{
  overflow:hidden;
  background:#e9e3d8;
}
.about-story-image img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  transform:none!important;
  filter:none!important;
}
.about-story-row:nth-child(1) .about-story-image img{
  aspect-ratio:3/2;
  object-fit:cover;
}
.about-story-row:nth-child(2) .about-story-image,
.about-story-row:nth-child(3) .about-story-image{
  max-width:760px;
}
.about-story-copy{
  max-width:560px;
  align-self:center;
}
.about-story-number{
  display:block;
  margin-bottom:clamp(28px,3vw,50px);
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:.5;
}
.about-story-copy p{
  margin:0 0 1.5em;
  font-family:var(--serif);
  font-size:clamp(16px,1.35vw,22px);
  line-height:1.58;
  letter-spacing:-.006em;
}
.about-story-copy p:last-child{margin-bottom:0}

.about-editorial-close{
  padding:clamp(90px,12vw,190px) 5vw clamp(100px,12vw,180px);
  display:grid;
  grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);
  row-gap:35px;
  align-items:start;
}
.about-editorial-close h2{
  grid-column:2;
  margin:0;
  font-family:var(--serif);
  font-size:clamp(40px,6.4vw,98px);
  line-height:.98;
  font-weight:400;
  letter-spacing:-.03em;
}
.about-editorial-close .link-arrow{
  grid-column:2;
  justify-self:start;
  margin-top:10px;
}

@media(max-width:900px){
  .about-editorial-intro{
    grid-template-columns:1fr;
    gap:20px;
    padding:120px 24px 60px;
  }
  .about-story{padding:0 24px}
  .about-story-row,
  .about-story-row-reverse{
    grid-template-columns:1fr;
    gap:36px;
    padding:62px 0 72px;
  }
  .about-story-row-reverse .about-story-image,
  .about-story-row-reverse .about-story-copy{
    grid-column:auto;
    grid-row:auto;
  }
  .about-story-row-reverse .about-story-image{order:0}
  .about-story-row-reverse .about-story-copy{order:1}
  .about-story-copy{max-width:100%}
  .about-story-copy p{font-size:17px}
  .about-editorial-close{
    padding:80px 24px 100px;
    grid-template-columns:1fr;
    gap:24px;
  }
  .about-editorial-close h2,
  .about-editorial-close .link-arrow{grid-column:1}
}


/* V44 — continuous image/text About layout inspired by Kollekted By */
.about-story-touching{
  padding:0!important;
}

.about-story-touching .about-story-row,
.about-story-touching .about-story-row-reverse{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:0!important;
  align-items:stretch!important;
  padding:0!important;
  border-bottom:0!important;
  min-height:72vh;
}

.about-story-touching .about-story-row-reverse .about-story-image{
  grid-column:2!important;
  grid-row:1!important;
}
.about-story-touching .about-story-row-reverse .about-story-copy{
  grid-column:1!important;
  grid-row:1!important;
}

.about-story-touching .about-story-image{
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:72vh;
  overflow:hidden!important;
  background:#e9e3d8;
}

.about-story-touching .about-story-image img{
  width:100%!important;
  height:100%!important;
  min-height:72vh;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  transform:none!important;
  filter:none!important;
}

.about-story-touching .about-story-copy{
  width:100%!important;
  max-width:none!important;
  min-height:72vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(50px,7vw,120px)!important;
  box-sizing:border-box;
  background:var(--paper);
}

.about-story-touching .about-story-copy p{
  max-width:560px;
  margin:0 0 1.55em;
}

.about-story-touching .about-story-copy p:last-child{
  margin-bottom:0;
}

/* make section transitions physically touch */
.about-story-touching .about-story-row + .about-story-row,
.about-story-touching .about-story-row + .about-story-row-reverse,
.about-story-touching .about-story-row-reverse + .about-story-row{
  margin-top:0!important;
}

@media(max-width:900px){
  .about-story-touching .about-story-row,
  .about-story-touching .about-story-row-reverse{
    grid-template-columns:1fr!important;
    min-height:0;
  }

  .about-story-touching .about-story-row-reverse .about-story-image,
  .about-story-touching .about-story-row-reverse .about-story-copy{
    grid-column:1!important;
    grid-row:auto!important;
  }

  .about-story-touching .about-story-image{
    min-height:0;
  }

  .about-story-touching .about-story-image img{
    min-height:0;
    height:auto!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
  }

  .about-story-touching .about-story-copy{
    min-height:0;
    padding:52px 24px 66px!important;
  }
}


/* V45 — single-screen homepage: image + header only */
html, body.home{
  height:100%;
  margin:0;
}
body.home{
  overflow:hidden!important;
}
body.home main,
body.home .hero{
  height:100vh!important;
  min-height:100vh!important;
  max-height:100vh!important;
  overflow:hidden!important;
}
body.home .hero{
  position:relative!important;
}
body.home .hero-media{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
body.home .hero-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
  filter:none!important;
}


/* V46 — homepage bottom-left descriptor */
body.home .home-bottom-label{
  position:absolute;
  left:5vw;
  bottom:clamp(28px,4vw,58px);
  z-index:4;
  color:var(--cream);
  font-family:var(--sans);
  font-size:9px;
  font-weight:400;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
  white-space:nowrap;
}
@media(max-width:700px){
  body.home .home-bottom-label{
    left:24px;
    bottom:28px;
    font-size:8px;
    letter-spacing:.14em;
  }
}


/* V47 — restore V44-style visibility for homepage descriptor */
body.home .home-bottom-label{
  left:5vw!important;
  bottom:clamp(32px,4vw,58px)!important;
  color:#f4f0e7!important;
  font-family:var(--sans)!important;
  font-size:11px!important;
  font-weight:400!important;
  line-height:1.2!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  opacity:1!important;
  text-shadow:0 1px 8px rgba(0,0,0,.22);
}
@media(max-width:700px){
  body.home .home-bottom-label{
    left:24px!important;
    bottom:28px!important;
    font-size:10px!important;
  }
}


/* V51 — V48 contact look with boxed fields */
.contact-v51{background:var(--paper);color:var(--ink);}
.contact-v51-spacer{height:50vh;min-height:430px;background:#b9aa80;}
.contact-v51-section{background:var(--paper);padding:clamp(78px,8vw,130px) 0 clamp(110px,10vw,170px);}
.contact-v51-grid{
  width:min(1500px,calc(100% - 120px));margin:0 auto;display:grid;
  grid-template-columns:.92fr 1.08fr;gap:clamp(80px,9vw,150px);align-items:start;
}
.contact-v51-copy h1{
  margin:0 0 52px;font-family:var(--serif);font-size:clamp(48px,5vw,82px);
  font-weight:400;line-height:1;letter-spacing:-.035em;
}
.contact-v51-intro{max-width:600px;font-size:14px;line-height:1.7;}
.contact-v51-intro p{margin:0 0 12px;}
.contact-v51-intro a,.contact-v51-follow a{color:inherit;text-decoration:none;}
.contact-v51-follow{
  margin-top:55px;display:flex;flex-direction:column;align-items:flex-start;
  gap:9px;font-size:13px;line-height:1.45;
}
.contact-v51-follow strong{margin-bottom:-2px;font-weight:600;}

.contact-v51-form{display:grid;gap:22px;}
.contact-v51-name-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.contact-v51-form label{display:block;}
.contact-v51-form label span{
  display:block;margin:0 0 10px;font-family:var(--sans);font-size:11px;
  font-weight:400;line-height:1;letter-spacing:.035em;text-transform:uppercase;
}
.contact-v51-form input,.contact-v51-form textarea{
  width:100%;box-sizing:border-box;border:1px solid var(--ink);border-radius:0;
  background:transparent;color:var(--ink);box-shadow:none;outline:none;font:inherit;
}
.contact-v51-form input{height:55px;padding:10px 12px;}
.contact-v51-form textarea{min-height:260px;padding:12px;resize:vertical;}
.contact-v51-form input:focus,.contact-v51-form textarea:focus{
  outline:1px solid var(--ink);outline-offset:-1px;
}
.contact-v51-form button{
  justify-self:start;min-width:100px;min-height:64px;margin-top:0;padding:16px 22px;
  border:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);
  font-family:var(--sans);font-size:14px;font-weight:400;letter-spacing:.02em;
  text-transform:uppercase;cursor:pointer;
}
.contact-v51-form button:hover{background:var(--ink);color:var(--paper);}

@media(max-width:900px){
  .contact-v51-spacer{height:34vh;min-height:300px;}
  .contact-v51-grid{width:calc(100% - 48px);grid-template-columns:1fr;gap:70px;}
}
@media(max-width:600px){
  .contact-v51-grid{width:calc(100% - 36px);}
  .contact-v51-name-row{grid-template-columns:1fr;gap:22px;}
  .contact-v51-form textarea{min-height:210px;}
}


/* V52 — final contact layout */
.contact-v52{
  background:var(--paper);
  color:var(--ink);
  font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
}

.contact-v52-hero{
  position:relative;
  height:50vh;
  min-height:430px;
  background:#b9aa80;
}

.contact-v52-hero h1{
  position:absolute;
  left:clamp(38px,5vw,86px);
  bottom:clamp(34px,4vw,62px);
  margin:0;
  color:#f5f1e9;
  font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size:clamp(34px,4.2vw,64px);
  font-weight:300;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.contact-v52-body{
  background:var(--paper);
  padding:clamp(64px,7vw,110px) 0 clamp(110px,10vw,170px);
}

.contact-v52-grid{
  width:min(1460px,calc(100% - 120px));
  margin:0 auto;
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:clamp(80px,9vw,150px);
  align-items:start;
}

.contact-v52-copy{
  max-width:560px;
  font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size:14px;
  line-height:1.7;
  font-weight:400;
}

.contact-v52-copy p{
  margin:0 0 14px;
}

.contact-v52-copy a,
.contact-v52-connect a{
  color:inherit;
  text-decoration:none;
}

.contact-v52-connect{
  margin-top:48px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  font-size:13px;
}

.contact-v52-connect strong{
  margin-bottom:2px;
  font-size:13px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.contact-v52-form{
  display:grid;
  gap:20px;
  font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
}

.contact-v52-name-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}

.contact-v52-form label{
  display:block;
}

.contact-v52-form label span{
  display:block;
  margin:0 0 10px;
  font-size:12px;
  font-weight:400;
  line-height:1;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.contact-v52-form input,
.contact-v52-form textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #31342e;
  border-radius:0;
  background:transparent;
  color:var(--ink);
  box-shadow:none;
  outline:none;
  font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size:16px;
}

.contact-v52-form input{
  height:54px;
  padding:10px 12px;
}

.contact-v52-form textarea{
  min-height:220px;
  padding:12px;
  resize:vertical;
}

.contact-v52-form input:focus,
.contact-v52-form textarea:focus{
  outline:1px solid #31342e;
  outline-offset:-1px;
}

.contact-v52-form button{
  justify-self:start;
  min-width:100px;
  min-height:60px;
  margin-top:0;
  padding:16px 24px;
  border:1px solid #31342e;
  border-radius:0;
  background:transparent;
  color:var(--ink);
  font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size:14px;
  font-weight:400;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
}

.contact-v52-form button:hover{
  background:#31342e;
  color:var(--paper);
}

@media(max-width:900px){
  .contact-v52-hero{
    height:38vh;
    min-height:320px;
  }

  .contact-v52-grid{
    width:calc(100% - 48px);
    grid-template-columns:1fr;
    gap:64px;
  }
}

@media(max-width:600px){
  .contact-v52-grid{
    width:calc(100% - 36px);
  }

  .contact-v52-name-row{
    grid-template-columns:1fr;
    gap:20px;
  }

  .contact-v52-form textarea{
    min-height:190px;
  }
}


/* V53 — approved contact typography and spacing */
.contact-v52-hero h1{
  font-size:clamp(27px,2.35vw,40px)!important;
  font-weight:300!important;
  line-height:1!important;
  letter-spacing:.115em!important;
  text-decoration:none!important;
  border:0!important;
  padding-bottom:0!important;
}

.contact-v52-hero h1::before,
.contact-v52-hero h1::after{
  content:none!important;
  display:none!important;
}

.contact-v52-copy{
  max-width:590px!important;
  font-size:16px!important;
  line-height:1.55!important;
  letter-spacing:0!important;
}

.contact-v52-copy p{
  margin:0 0 24px!important;
}

.contact-v52-copy p + p{
  margin-top:4px!important;
}

.contact-v52-connect{
  margin-top:46px!important;
  gap:10px!important;
  font-size:15px!important;
  line-height:1.45!important;
  letter-spacing:0!important;
}

.contact-v52-connect strong{
  margin-bottom:7px!important;
  font-size:15px!important;
  font-weight:600!important;
  letter-spacing:.08em!important;
}

@media(max-width:700px){
  .contact-v52-hero h1{
    font-size:27px!important;
  }
  .contact-v52-copy{
    font-size:15px!important;
  }
  .contact-v52-connect{
    font-size:14px!important;
  }
}


/* V54 — slightly larger, thinner CONTACT US */
.contact-v52-hero h1{
  font-size:clamp(30px,2.65vw,44px)!important;
  font-weight:200!important;
  letter-spacing:.12em!important;
  -webkit-font-smoothing:antialiased;
}


/* V55 — thinner CONTACT US */
.contact-v52-hero h1{
  font-family:"Helvetica Neue", "Helvetica Neue Light", Helvetica, Arial, sans-serif!important;
  font-weight:100!important;
  font-stretch:normal!important;
  -webkit-font-smoothing:antialiased!important;
  text-rendering:geometricPrecision;
}


/* V56 — visibly thinner CONTACT US on Windows */
.contact-v52-hero h1{
  font-family:"Segoe UI Light","Segoe UI Variable Display Light","Segoe UI Variable Display","Segoe UI",sans-serif!important;
  font-weight:300!important;
  font-size:clamp(30px,2.65vw,44px)!important;
  line-height:1!important;
  letter-spacing:.12em!important;
  font-synthesis:none!important;
  text-decoration:none!important;
  border:0!important;
  text-shadow:none!important;
}


/* V57 — final social-link spacing */
.contact-v52-connect{
  display:block!important;
  margin-top:46px!important;
  font-size:15px!important;
  line-height:1.45!important;
  letter-spacing:0!important;
}

.contact-v52-connect strong{
  display:block!important;
  margin:0 0 16px!important;
  font-size:15px!important;
  font-weight:600!important;
  line-height:1.2!important;
  letter-spacing:.08em!important;
}

.contact-v52-connect a{
  display:block!important;
  margin:0!important;
  padding:0!important;
  line-height:1.45!important;
}

.contact-v52-connect a + a{
  margin-top:0!important;
}


/* V58 — Contact hero: Bauwerk Olive-inspired digital approximation */
.contact-v52-hero{
  background:#8F906B!important;
}


/* V59 — exact left-column spacing refinement */
.contact-v52-copy{
  font-size:16px!important;
  line-height:1.45!important;
}

.contact-v52-copy p{
  margin:0!important;
}

.contact-v52-copy p:first-child{
  margin-bottom:36px!important;
}

.contact-v52-copy p:nth-child(2){
  margin-bottom:0!important;
}

.contact-v52-connect{
  display:block!important;
  margin-top:58px!important;
  font-size:15px!important;
  line-height:1.35!important;
}

.contact-v52-connect strong{
  display:block!important;
  margin:0 0 18px!important;
  line-height:1.2!important;
}

.contact-v52-connect a{
  display:block!important;
  margin:0!important;
  padding:0!important;
  line-height:1.28!important;
}

.contact-v52-connect a + a{
  margin-top:1px!important;
}


/* V60 — approved tight intro/email spacing */
.contact-v52-copy{
  font-size:16px!important;
  line-height:1.45!important;
}

.contact-v52-copy p{
  margin:0!important;
}

.contact-v52-copy p:first-child{
  margin-bottom:4px!important;
}

.contact-v52-copy p:nth-child(2){
  margin-top:0!important;
  margin-bottom:0!important;
}

.contact-v52-connect{
  margin-top:56px!important;
}

.contact-v52-connect strong{
  margin-bottom:16px!important;
}

.contact-v52-connect a{
  line-height:1.28!important;
}

.contact-v52-connect a + a{
  margin-top:0!important;
}


/* V62 — equal spacing for five top-level navigation links */
.nav{
  display:flex!important;
  align-items:center!important;
  gap:34px!important;
}

.nav > a{
  display:block!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
}


/* V63 — simplified footer */
footer .footer-grid{
  grid-template-columns:1fr!important;
}
footer .footer-bottom{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-end!important;
}


/* V64 — minimal footer; background inherits each page's top/hero color */
footer{
  position:relative!important;
  min-height:170px!important;
  padding:0!important;
  background:var(--page-accent, var(--ink))!important;
}
.footer-copyright{
  position:absolute!important;
  right:28px!important;
  bottom:24px!important;
  color:#f5f1e9!important;
  font-size:10px!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

/* Contact top section uses the Bauwerk Olive-inspired accent. */
.contact-v52{
  --page-accent:#8F906B;
}
.contact-v52-hero{
  background:var(--page-accent)!important;
}
.contact-v52 + footer,
body:has(.contact-v52) footer{
  background:var(--page-accent)!important;
}

/* On pages whose top/hero background is already defined by a page variable,
   use that same variable for the footer when available. */
body{
  --page-accent:var(--ink);
}


/* V67 — top-left En Toki Studio logo positioning only */
.brand{
  top:40px!important;
  left:42px!important;
  transform:none!important;
}


/* V68 — Work page: image-led project index */
.work-page{
  background:var(--paper);
}
.work-index{
  padding-top:118px;
}
.work-intro{
  width:min(1500px,calc(100% - 84px));
  margin:0 auto;
  padding:74px 0 40px;
}
.work-intro h1{
  margin:10px 0 0;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:clamp(42px,5.2vw,84px);
  font-weight:300;
  letter-spacing:-.03em;
  line-height:.95;
}
.work-projects{
  width:min(1500px,calc(100% - 84px));
  margin:0 auto;
  padding:0 0 110px;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:28px;
}
.work-card{
  position:relative;
  display:block;
  overflow:hidden;
  background:#d8d4ca;
  min-height:420px;
}
.work-card-large{
  min-height:700px;
}
.work-card-tall{
  min-height:700px;
}
.work-card-wide{
  grid-column:1 / -1;
  min-height:620px;
}
.work-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.001);
  transition:transform .75s cubic-bezier(.2,.7,.2,1);
}
.work-card-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.36) 0%,rgba(0,0,0,.08) 34%,rgba(0,0,0,0) 65%);
  transition:background .4s ease;
}
.work-card-title{
  position:absolute;
  left:28px;
  bottom:24px;
  z-index:2;
  color:#f5f1e9;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:clamp(22px,2vw,34px);
  font-weight:300;
  letter-spacing:.01em;
}
.work-card:hover img{
  transform:scale(1.025);
}
.work-card:hover .work-card-overlay{
  background:linear-gradient(to top,rgba(0,0,0,.44) 0%,rgba(0,0,0,.1) 38%,rgba(0,0,0,0) 68%);
}

/* Project detail pages */
.project-detail{
  padding-top:118px;
}
.project-detail-head{
  width:min(1500px,calc(100% - 84px));
  margin:0 auto;
  padding:72px 0 58px;
  display:grid;
  grid-template-columns:.45fr 1.55fr;
  gap:70px;
}
.back-to-work{
  align-self:start;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.project-detail-title h1{
  margin:10px 0 24px;
  font-size:clamp(46px,6vw,94px);
  font-weight:300;
  line-height:.93;
  letter-spacing:-.035em;
}
.project-detail-title p{
  max-width:700px;
  margin:0;
  font-size:16px;
  line-height:1.6;
}
.project-detail-gallery{
  width:min(1500px,calc(100% - 84px));
  margin:0 auto;
  padding-bottom:110px;
  display:grid;
  gap:28px;
}
.project-detail-image{
  margin:0;
}
.project-detail-image img{
  display:block;
  width:100%;
  height:auto;
}

@media(max-width:900px){
  .work-index,.project-detail{padding-top:90px;}
  .work-intro,.work-projects,.project-detail-head,.project-detail-gallery{
    width:calc(100% - 36px);
  }
  .work-projects{
    grid-template-columns:1fr;
    gap:18px;
  }
  .work-card,
  .work-card-large,
  .work-card-tall,
  .work-card-wide{
    grid-column:auto;
    min-height:0;
    aspect-ratio:4/5;
  }
  .work-card-wide{aspect-ratio:4/3;}
  .project-detail-head{
    grid-template-columns:1fr;
    gap:34px;
  }
}


/* V69 — Somerset House-style stacked Work index */
.work-projects{
  display:block!important;
}

.work-card,
.work-card-large,
.work-card-tall,
.work-card-wide{
  display:block!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  aspect-ratio:16 / 8.3!important;
  margin:0 0 70px!important;
}

.work-card:last-child{
  margin-bottom:0!important;
}

.work-card img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

.work-card-title{
  left:42px!important;
  top:42px!important;
  bottom:auto!important;
  font-size:clamp(28px,3vw,52px)!important;
  font-weight:300!important;
  text-transform:uppercase!important;
  letter-spacing:-.01em!important;
}

@media(max-width:900px){
  .work-card,
  .work-card-large,
  .work-card-tall,
  .work-card-wide{
    aspect-ratio:4 / 3!important;
    margin-bottom:28px!important;
  }

  .work-card-title{
    left:20px!important;
    top:20px!important;
    font-size:clamp(22px,7vw,34px)!important;
  }
}


/* V73 — slightly larger En Toki Studio header logo on every page.
   Scale the complete lockup as one unit so the en toki / STUDIO ratio stays unchanged. */
.brand-refined{
  transform:scale(1.12)!important;
  transform-origin:top left!important;
}


/* V74 — slightly larger again, preserving the exact en toki / STUDIO ratio */
.brand-refined{
  transform:scale(1.20)!important;
  transform-origin:top left!important;
}


/* V75 — logo slightly larger again, proportions unchanged */
.brand-refined{
  transform:scale(1.28)!important;
  transform-origin:top left!important;
}


/* V76 — slightly larger than V75, preserving exact logo proportions */
.brand-refined{
  transform:scale(1.32)!important;
  transform-origin:top left!important;
}


/* V79 — ONLY shift the V76 logo visually; navigation remains in its original position. */
.brand-refined{
  transform:translate(42px,40px) scale(1.32)!important;
  transform-origin:top left!important;
}


/* V80 — POSITION ONLY. Fonts, colors, sizing, content and layout remain V79. */

/* Logo: 82px from left, 78px from top.
   V76 base is 42px / 40px, so translate +40px / +38px. */
.brand-refined{
  transform:translate(40px,38px) scale(1.32)!important;
  transform-origin:top left!important;
}

/* Navigation: 78px from top, 42px from right.
   Only vertical position changes; horizontal/right alignment stays V79. */
.nav{
  transform:translateY(38px)!important;
}


/* V81 — navigation POSITION ONLY.
   Keep 78px top; change right spacing from 42px to 70px. */
.nav{
  transform:translate(-28px,38px)!important;
}


/* V82 — homepage only: remove thin line at top/header edge */
body.home header{
  border-top:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
}


/* V83 — remove header divider/line on every page and while scrolling */
header,
header.scrolled,
header.is-scrolled,
header.sticky,
.site-header,
.site-header.scrolled,
.site-header.is-scrolled{
  border-top:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
}

header::before,
header::after,
.site-header::before,
.site-header::after{
  border:0!important;
  box-shadow:none!important;
  background-image:none!important;
}


/* V91 — visibly thinner Our Work heading only */
.our-work-thin{
  font-family:"Segoe UI Light","Segoe UI Variable Display Light","Segoe UI Variable Display","Segoe UI",sans-serif!important;
  font-weight:300!important;
  font-synthesis:none!important;
  -webkit-text-stroke:0!important;
}


/* V92 — Our Work slightly smaller; thickness and everything else unchanged */
.our-work-thin{
  font-size:clamp(40px,4.8vw,78px)!important;
}


/* V93 — Our Work: 70px max and slightly thinner */
.our-work-thin{
  font-family:"Segoe UI Light","Segoe UI Variable Display Light","Segoe UI Variable Display","Segoe UI",sans-serif!important;
  font-size:clamp(38px,4.4vw,70px)!important;
  font-weight:200!important;
  font-synthesis:none!important;
  -webkit-text-stroke:0!important;
}


/* V94 — Towa, Machiya project gallery: Somerset-inspired two-by-two image grid */
.project-detail-page .project-detail-gallery{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:28px!important;
  align-items:start;
}

.project-detail-page .project-detail-image{
  width:100%!important;
  margin:0!important;
}

.project-detail-page .project-detail-image img{
  width:100%!important;
  height:auto!important;
  display:block!important;
}

@media (max-width:760px){
  .project-detail-page .project-detail-gallery{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
}


/* V105 — exact requested order around images 11/12 */
.towa-info-layout{
  grid-column:1 / -1!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  grid-template-areas:
    "image tall"
    "info  tall"!important;
  gap:28px!important;
  align-items:start!important;
}

.towa-info-layout .project-detail-image{
  margin:0!important;
  width:100%!important;
}

.towa-info-image{
  grid-area:image!important;
}

.towa-info-tall{
  grid-area:tall!important;
  align-self:stretch!important;
}

.towa-info-image img{
  width:100%!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
}

.towa-info-tall img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
}

.project-info-block{
  grid-area:info!important;
  align-self:start!important;
  padding:18px 8px 0 8px!important;
  max-width:360px!important;
}

.project-info-item{
  margin:0 0 34px!important;
}

.project-info-label{
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:500!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  color:var(--ink)!important;
  margin-bottom:12px!important;
}

.project-info-value{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:21px!important;
  line-height:1.28!important;
  font-weight:400!important;
  color:var(--ink)!important;
}

@media (max-width:760px){
  .towa-info-layout{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "image"
      "info"
      "tall"!important;
    gap:18px!important;
  }
  .towa-info-tall img{
    height:auto!important;
    object-fit:contain!important;
  }
  .project-info-block{
    max-width:none!important;
    padding:10px 0 20px!important;
  }
}


/* V107 — second info block in the exact empty area beneath image 24 */
.towa-info-right-layout{
  grid-column:1 / -1!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:28px!important;
  align-items:start!important;
}

.towa-info-right-layout .project-detail-image{
  margin:0!important;
  width:100%!important;
}

.towa-info-right-layout .project-detail-image img{
  width:100%!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
}

.towa-info-right-column{
  display:flex!important;
  flex-direction:column!important;
  gap:28px!important;
}

.towa-info-right-column .project-info-block{
  padding:18px 8px 0 8px!important;
  max-width:360px!important;
}

@media (max-width:760px){
  .towa-info-right-layout{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .towa-info-right-column{
    gap:18px!important;
  }
  .towa-info-right-column .project-info-block{
    max-width:none!important;
    padding:10px 0 20px!important;
  }
}


/* V110 — project information values: Helvetica Neue 14px */
.project-info-value{
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;
  font-size:14px!important;
}

/* V112 — repeat approved info-under-left-image layout for images 29/30 */
.towa-info-layout-29-30{
  grid-column:1 / -1!important;
}


/* V139 — Curated Objects / Elementi-inspired 3-column shop */
.shop-gallery-intro-v139{
  padding:150px 5vw 56px;
}
.shop-curated-title{
  font-family:"Segoe UI Light","Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif!important;
  font-size:34px!important;
  font-weight:300!important;
  line-height:1!important;
  letter-spacing:.30em!important;
  text-transform:uppercase!important;
  font-synthesis:none!important;
}
.shop-gallery-v139{
  width:min(1420px,calc(100% - 72px));
  margin:0 auto;
  padding:0 0 10vw;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:70px 34px;
}
.shop-gallery-v139 .gallery-product{
  padding:0!important;
}
.shop-gallery-v139 .gallery-product-image{
  aspect-ratio:3 / 4;
  background:#ece7dd;
}
.shop-gallery-v139 .gallery-product-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.shop-gallery-v139 .gallery-product-meta{
  display:block;
  text-align:center;
  padding-top:16px;
}
.shop-gallery-v139 .gallery-maker{
  display:none;
}
.shop-gallery-v139 .gallery-product-meta h2{
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:15px;
  font-weight:300;
  letter-spacing:.01em;
}
.shop-gallery-v139 .gallery-price{
  display:block;
  margin-top:8px;
  font-size:12px;
  opacity:.66;
}

/* Product page image gallery */
.product-detail-media-v139{
  display:block!important;
  padding:0 0 34px;
  overflow:visible!important;
  background:var(--paper)!important;
}
.product-detail-media-v139 .product-main-image{
  display:block;
  width:100%;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  background:#ece7dd;
}
.product-thumbnails{
  display:flex;
  gap:12px;
  padding:18px 18px 0;
  overflow-x:auto;
}
.product-thumb{
  appearance:none;
  border:1px solid transparent;
  background:transparent;
  padding:0;
  width:76px;
  height:96px;
  flex:0 0 auto;
  cursor:pointer;
}
.product-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.product-thumb.active{
  border-color:var(--ink);
}
.product-detail-info-v139{
  position:sticky;
  top:82px;
}
.product-purchase-note{
  max-width:520px;
  margin-top:46px;
  padding-top:28px;
  border-top:1px solid rgba(40,42,35,.16);
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:13px;
  line-height:1.65;
}
.product-purchase-note p{
  margin:0;
}

@media(max-width:1050px){
  .shop-gallery-v139{
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:calc(100% - 48px);
  }
}
@media(max-width:700px){
  .shop-gallery-intro-v139{
    padding:120px 24px 34px;
  }
  .shop-curated-title{
    font-size:27px!important;
    letter-spacing:.24em!important;
  }
  .shop-gallery-v139{
    grid-template-columns:1fr;
    width:calc(100% - 36px);
    gap:48px;
  }
  .product-detail-info-v139{
    position:static;
  }
}


/* V141 — refined product detail layout */
.product-detail-v139{
  width:min(1380px,calc(100% - 96px))!important;
  margin:0 auto!important;
  padding:150px 0 110px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr)!important;
  gap:72px!important;
  align-items:start!important;
}
.product-detail-media-v139{
  width:100%!important;
  max-width:760px!important;
  justify-self:end!important;
  padding:0 0 24px!important;
  background:transparent!important;
}
.product-detail-media-v139 .product-main-image{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:720px!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#ece7dd!important;
}
.product-detail-info-v139{
  position:sticky!important;
  top:130px!important;
  width:100%!important;
  max-width:500px!important;
  padding-top:0!important;
  align-self:start!important;
}
.product-detail-heading h1{
  font-size:clamp(30px,2.4vw,46px)!important;
  line-height:1.08!important;
}
.product-detail-price{
  margin-top:16px!important;
}
.product-description{
  margin-top:34px!important;
  max-width:460px!important;
}
.product-add{
  width:100%!important;
  margin-top:32px!important;
}
.product-purchase-note{
  max-width:460px!important;
  margin-top:40px!important;
}
.product-thumbnails{
  padding:16px 0 0!important;
}

@media(max-width:1050px){
  .product-detail-v139{
    width:calc(100% - 48px)!important;
    grid-template-columns:minmax(0,1fr) minmax(320px,.8fr)!important;
    gap:42px!important;
  }
  .product-detail-media-v139{
    max-width:none!important;
  }
  .product-detail-media-v139 .product-main-image{
    max-height:620px!important;
  }
}
@media(max-width:760px){
  .product-detail-v139{
    width:calc(100% - 36px)!important;
    padding:120px 0 70px!important;
    grid-template-columns:1fr!important;
    gap:34px!important;
  }
  .product-detail-media-v139{
    justify-self:stretch!important;
  }
  .product-detail-media-v139 .product-main-image{
    max-height:none!important;
  }
  .product-detail-info-v139{
    position:static!important;
    max-width:none!important;
  }
}


/* V142 — larger balanced product detail layout */
.product-detail-v139{
  width:min(1580px,calc(100% - 80px))!important;
  margin:0 auto!important;
  padding:135px 0 110px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.18fr) minmax(430px,.82fr)!important;
  gap:58px!important;
  align-items:start!important;
}
.product-detail-media-v139{
  width:100%!important;
  max-width:none!important;
  justify-self:stretch!important;
  padding:0 0 28px!important;
  background:transparent!important;
}
.product-detail-media-v139 .product-main-image{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:880px!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#ece7dd!important;
}
.product-detail-info-v139{
  position:sticky!important;
  top:120px!important;
  width:100%!important;
  max-width:560px!important;
  padding-top:8px!important;
  align-self:start!important;
}
.product-detail-info-v139 .product-back{
  margin-bottom:42px!important;
}
.product-detail-heading .eyebrow{
  font-size:11px!important;
}
.product-detail-heading h1{
  font-size:clamp(36px,2.7vw,54px)!important;
  line-height:1.05!important;
  margin-top:12px!important;
}
.product-detail-price{
  font-size:18px!important;
  margin-top:20px!important;
}
.product-description{
  margin-top:36px!important;
  max-width:510px!important;
  font-size:16px!important;
  line-height:1.55!important;
}
.product-add{
  width:100%!important;
  min-height:58px!important;
  margin-top:36px!important;
}
.product-purchase-note{
  max-width:510px!important;
  margin-top:44px!important;
  padding-top:30px!important;
  font-size:14px!important;
  line-height:1.6!important;
}
.product-thumbnails{
  padding:16px 0 0!important;
  gap:10px!important;
}
.product-thumb{
  width:84px!important;
  height:104px!important;
}

@media(max-width:1200px){
  .product-detail-v139{
    width:calc(100% - 56px)!important;
    grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr)!important;
    gap:44px!important;
  }
  .product-detail-media-v139 .product-main-image{
    max-height:760px!important;
  }
}
@media(max-width:760px){
  .product-detail-v139{
    width:calc(100% - 36px)!important;
    padding:115px 0 70px!important;
    grid-template-columns:1fr!important;
    gap:34px!important;
  }
  .product-detail-media-v139 .product-main-image{
    max-height:none!important;
  }
  .product-detail-info-v139{
    position:static!important;
    max-width:none!important;
    padding-top:0!important;
  }
  .product-detail-heading h1{
    font-size:34px!important;
  }
}


/* V144 — Product names: match TOWA typography */
.product-detail h1,
.product-info h1,
.product-copy h1,
.product-detail-title,
.product-title {
  font-family: "Segoe UI Light","Segoe UI Variable Display Light","Segoe UI Variable Display","Segoe UI",sans-serif !important;
  font-size: 25px !important;
  font-weight: 300 !important;
  line-height: 1.08 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  font-synthesis: none !important;
}


/* V155 — Mobile header/menu correction.
   This block is intentionally limited to phone/tablet widths so the existing
   desktop header, logo and navigation remain unchanged. */
@media (max-width: 800px) {
  /* Cancel the desktop-only V80/V81 position offsets on small screens. */
  .brand-refined {
    transform: none !important;
  }

  /* Keep the full-screen menu completely above the viewport until opened. */
  .nav {
    transform: translateY(-100%) !important;
    color: var(--ink) !important;
    text-shadow: none !important;
  }

  .nav.open {
    transform: translateY(0) !important;
  }

  /* The mobile menu sits on a light panel, so its links must be dark. */
  body.home header .nav a,
  body.home header.scrolled .nav a,
  .nav a,
  .nav .cart-trigger {
    color: var(--ink) !important;
    text-shadow: none !important;
  }

  /* Keep the logo and menu control readable while the menu is open. */
  header:has(.nav.open) .brand,
  header:has(.nav.open) .menu-btn {
    color: var(--ink) !important;
    text-shadow: none !important;
  }
}


/* V161 — ExtraLight mobile navigation typography.
   This intentionally affects screens 800px wide or smaller only.
   Desktop navigation remains exactly as it was. */
@font-face {
  font-family: "EnToki ExtraLight";
  src: url("EnToki-ExtraLight.ttf") format("truetype");
  font-style: normal;
  font-weight: 200;
  font-display: swap;
}

@media (max-width: 800px) {
  .nav {
    font-family: "EnToki ExtraLight", "Segoe UI Light", "Helvetica Neue", Arial, sans-serif !important;
    font-size: 25px !important;
    font-weight: 200 !important;
    line-height: 1 !important;
    letter-spacing: .34em !important;
    text-transform: uppercase !important;
    font-synthesis: none !important;
  }

  .nav > a {
    font: inherit !important;
    text-indent: .34em !important;
  }
}
