/* Homepage: eigen tokens, hero-slider en sectiestijlen. */
:root {
  --bg:#fffaf2;
  --paper:#fffdf8;
  --cream:#f3e9dc;
  --sand:#dfc9ae;
  --gold:#bd9252;
  --sun:#dd9368;
  --coral:#c9786d;
  --blue:#748d9b;
  --ink:#252420;
  --ink-2:#5f5951;
  --line:rgba(37,36,32,.14);
  --serif:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --sans:"Avenir Next","Helvetica Neue",Inter,Arial,sans-serif;
  --page:min(1280px,calc(100vw - 96px));
  --section:clamp(92px,9vw,148px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:
    radial-gradient(circle at 18% 0%,rgba(224,168,91,.11),transparent 34rem),
    linear-gradient(180deg,#fffdf8 0%,#fff9f0 48%,#fffdf8 100%);
  color:var(--ink);font-family:var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased
}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;width:100%}
main{overflow:hidden}
.wrap{width:var(--page);margin-inline:auto}
.eyebrow{font-size:11px;line-height:1;letter-spacing:.22em;text-transform:uppercase;font-weight:700}
.display{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:.92;margin:0}
.soft{color:var(--ink-2)}
.rule{width:66px;height:1px;background:var(--gold);margin-top:34px}
.text-link{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:700;padding-bottom:5px;border-bottom:1px solid currentColor}
.text-link .a{font-size:17px}

/* HERO */
.hero{height:min(900px,92vh);min-height:690px;position:relative;background:#b9b0a8}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s ease;overflow:hidden}
.slide.active{opacity:1;visibility:visible}
.slide-bg{position:absolute;inset:-2%;background-size:cover;background-position:center;transform:scale(1.03);transition:transform 8s ease}
.slide.active .slide-bg{transform:scale(1)}
.slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,21,18,.56),rgba(22,21,18,.18) 55%,rgba(22,21,18,.02) 82%)}
.s1 .slide-bg{background-image:url("/images/kim/home-1.jpg");background-position:61% 33%}
.s2 .slide-bg{background-image:url("/images/kim/home-2.jpg");background-position:center 53%}
.s3 .slide-bg{background-image:url("/images/kim/home-3.jpg");background-position:center}
.s2:after{background:linear-gradient(90deg,rgba(8,26,39,.58),rgba(8,26,39,.15) 58%,rgba(8,26,39,.03))}
.s3:after{background:linear-gradient(90deg,rgba(55,42,28,.47),rgba(55,42,28,.07) 67%,transparent)}
.hero-copy{
  position:absolute;z-index:3;left:max(48px,calc((100vw - 1280px)/2));bottom:88px;
  width:min(720px,calc(100% - 96px));color:#fff
}
.hero-copy .eyebrow{opacity:.78;margin-bottom:19px}
.hero-title{font-size:clamp(70px,7.9vw,126px)}
.hero-sub{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2vw,30px);line-height:1.4;max-width:610px;margin:25px 0 30px}
.hero-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.hero-pill{display:inline-flex;align-items:center;gap:11px;border:1px solid rgba(255,255,255,.7);border-radius:999px;padding:15px 21px;background:rgba(20,19,17,.12);backdrop-filter:blur(10px);font-size:13px;font-weight:700}
.hero-pill:hover{background:#fff;color:var(--ink)}
.hero-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.52);background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center;cursor:pointer}
.hero-prev{left:24px}.hero-next{right:24px}
.hero-indicator{position:absolute;z-index:5;right:max(40px,calc((100vw - 1280px)/2));bottom:31px;display:flex;gap:8px}
.dot{width:34px;height:2px;background:rgba(255,255,255,.34);border:0;padding:0;cursor:pointer}
.dot.active{background:#fff}
.scrollnote{position:absolute;z-index:5;left:max(48px,calc((100vw - 1280px)/2));bottom:31px;color:rgba(255,255,255,.72);font-size:10px;letter-spacing:.19em;text-transform:uppercase}

/* OPENING */
.opening{padding:var(--section) 0}
.opening-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(56px,7vw,108px);align-items:center}
.triptych{height:610px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.triptych-item{overflow:hidden;border-radius:170px 170px 5px 5px;background:#e5d8c9}
.triptych img{height:100%;object-fit:cover;transform:scale(1.19)}
.triptych-item:nth-child(1) img{object-position:16% center}
.triptych-item:nth-child(2) img{object-position:50% center}
.triptych-item:nth-child(3) img{object-position:84% center}
.opening-copy{padding-right:10px}
.opening-copy .eyebrow{margin-bottom:20px;color:#756c62}
.opening-title{font-size:clamp(52px,5.7vw,87px)}
.whisper{font-family:var(--serif);font-style:italic;font-size:clamp(21px,2vw,29px);line-height:1.5;color:#887a6c;margin:29px 0 0}

/* SHARED FEATURE */
.feature{padding-bottom:clamp(92px,9vw,132px)}
.feature-shell{width:min(1400px,calc(100vw - 42px));margin:auto;min-height:760px;position:relative;overflow:hidden;background:#d5cec5}
.feature-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.feature:hover .feature-bg{transform:scale(1.012)}
.feature-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,21,18,.72),rgba(22,21,18,.17) 62%,rgba(22,21,18,.03))}
.feature-copy{position:relative;z-index:2;min-height:760px;max-width:760px;padding:76px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff}
.feature-copy .eyebrow{opacity:.72;margin-bottom:17px}
.feature-title{font-size:clamp(60px,6.6vw,102px)}
.feature-text{font-family:var(--serif);font-size:clamp(20px,1.8vw,27px);line-height:1.48;max-width:610px;margin:23px 0 29px}
.show .feature-bg{object-position:center 54%}
.show .feature-shade{background:linear-gradient(90deg,rgba(6,24,36,.72),rgba(6,24,36,.16) 62%,rgba(6,24,36,.03))}

/* MAGIC */
.magic{padding-bottom:clamp(96px,10vw,142px)}
.magic-shell{width:min(1400px,calc(100vw - 42px));margin:auto;display:grid;grid-template-columns:.86fr 1.14fr}
.magic-copy{min-height:720px;background:#292a27;color:#f9f2e8;padding:78px;display:flex;flex-direction:column;justify-content:flex-end}
.magic-copy .eyebrow{color:#bdb1a2;margin-bottom:19px}
.magic-title{font-size:clamp(58px,6.2vw,96px)}
.magic-copy p{font-family:var(--serif);font-size:24px;line-height:1.52;color:#dcd1c5;max-width:520px;margin:24px 0 29px}
.magic-image{min-height:720px;overflow:hidden}
.magic-image img{height:100%;object-fit:cover;object-position:center 36%;transition:transform 1.2s ease}
.magic-shell:hover .magic-image img{transform:scale(1.015)}

/* MET KIM — editorial services strip */
.withkim{padding-bottom:clamp(100px,10vw,146px)}
.withkim-head{display:grid;grid-template-columns:1fr .68fr;gap:80px;align-items:end;margin-bottom:52px}
.withkim-title{font-size:clamp(58px,6.4vw,100px)}
.withkim-head p{font-family:var(--serif);font-size:21px;line-height:1.52;color:var(--ink-2);max-width:480px;margin:0 0 8px}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.offer{min-height:470px;position:relative;overflow:hidden;background:#ddd}
.offer img{position:absolute;inset:0;height:100%;object-fit:cover;transition:transform .8s ease}
.offer:hover img{transform:scale(1.025)}
.offer:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(17,17,15,.64))}
.offer-copy{position:absolute;z-index:2;left:28px;right:28px;bottom:27px;color:#fff}
.offer-num{font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.72;margin-bottom:9px}
.offer-title{font-family:var(--serif);font-size:clamp(38px,3vw,52px);font-weight:400;line-height:1;margin:0 0 11px}

/* DISCOVER */
.discover{padding-bottom:clamp(110px,10vw,150px)}
.discover-head{display:flex;justify-content:space-between;align-items:end;gap:80px;margin-bottom:48px}
.discover-title{font-size:clamp(60px,6.5vw,102px)}
.discover-head p{max-width:470px;font-family:var(--serif);font-size:21px;line-height:1.52;color:var(--ink-2);margin:0 0 8px}
.discover-grid{display:grid;grid-template-columns:1.13fr .87fr;gap:18px}
.story{min-height:570px;position:relative;overflow:hidden;background:#ddd}
.story img{position:absolute;inset:0;height:100%;object-fit:cover;transition:transform .8s ease}
.story:hover img{transform:scale(1.025)}
.story:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(17,17,15,.61))}
.story-copy{position:absolute;z-index:2;left:34px;right:34px;bottom:31px;color:#fff}
.story-copy .eyebrow{opacity:.75;margin-bottom:10px}
.story-title{font-family:var(--serif);font-weight:400;font-size:clamp(42px,4vw,62px);line-height:1;margin:0 0 12px}

/* QUOTE TEASER before footer */
.quote-teaser{padding:0 0 clamp(92px,9vw,132px)}
.quote-box{background:#efe3d5;padding:clamp(52px,7vw,92px);text-align:center}
.quote-box .eyebrow{color:#7b6d61;margin-bottom:20px}
.quote-box p{font-family:var(--serif);font-style:italic;font-size:clamp(36px,4.4vw,68px);line-height:1.1;letter-spacing:-.03em;max-width:920px;margin:0 auto;color:#3d3934}

/* REVEALS */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}
.reveal.in{opacity:1;transform:none}

/* MOBILE */
@media(max-width:900px){
  :root{--page:calc(100vw - 36px);--section:82px}
  .hero{height:79vh;min-height:620px}
  .slide:after{background:linear-gradient(180deg,rgba(18,18,16,.03) 24%,rgba(18,18,16,.14) 49%,rgba(18,18,16,.73) 100%)}
  .s1 .slide-bg{background-position:61% center}
  .s2 .slide-bg{background-position:58% center}
  .hero-copy{left:20px;right:20px;width:auto;bottom:62px}
  .hero-title{font-size:clamp(52px,14vw,76px)}
  .hero-sub{font-size:20px;margin:18px 0 24px}
  .hero-copy .eyebrow{font-size:9.5px;margin-bottom:12px}
  .hero-arrow{width:42px;height:42px;top:45%}
  .hero-prev{left:12px}.hero-next{right:12px}
  .hero-indicator{right:20px;bottom:21px}
  .scrollnote{display:none}
  .opening-grid{grid-template-columns:1fr;gap:46px}
  .triptych{height:430px;gap:6px}
  .triptych-item{border-radius:88px 88px 4px 4px}
  .opening-title{font-size:clamp(48px,12.4vw,68px)}
  .whisper{font-size:20px}
  .feature{padding-bottom:74px}
  .feature-shell{width:100%;min-height:670px}
  .feature-shade{background:linear-gradient(180deg,rgba(18,18,16,.02) 26%,rgba(18,18,16,.71) 100%)}
  .feature-copy{min-height:670px;padding:32px 20px 39px}
  .feature-title{font-size:clamp(50px,13vw,72px)}
  .feature-text{font-size:19px;margin:18px 0 24px}
  .magic{padding-bottom:74px}
  .magic-shell{width:100%;grid-template-columns:1fr}
  .magic-copy{min-height:520px;padding:50px 20px}
  .magic-title{font-size:clamp(50px,13vw,72px)}
  .magic-copy p{font-size:20px}
  .magic-image{min-height:500px}
  .withkim{padding-bottom:84px}
  .withkim-head{grid-template-columns:1fr;gap:24px;margin-bottom:34px}
  .withkim-title{font-size:clamp(52px,13vw,76px)}
  .withkim-head p{font-size:19px}
  .offer-grid{grid-template-columns:1fr;gap:12px}
  .offer{min-height:455px}
  .discover{padding-bottom:86px}
  .discover-head{display:block;margin-bottom:32px}
  .discover-title{font-size:clamp(52px,13vw,76px)}
  .discover-head p{font-size:19px;margin-top:22px}
  .discover-grid{grid-template-columns:1fr;gap:12px}
  .story{min-height:480px}
  .story-copy{left:22px;right:22px;bottom:25px}
}
@media(max-width:520px){
  .hero{height:76vh;min-height:590px}
  .hero-title{font-size:49px}
  .hero-pill{padding:13px 17px}
  .triptych{height:385px}
  .offer,.story{min-height:430px}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
  .slide,.slide-bg,.reveal,.feature-bg,.offer img,.story img{transition:none!important}
}
