/* =========================================================
   RIYORA — Storytelling site
   Royal green + royal blue, antique gold accents. Radius 0.
   ========================================================= */
:root{
  --g-900:#06120E; --g-850:#081A14; --g-800:#0B231B; --g-750:#0E2C22; --g-700:#123629;
  --b-900:#0A1330; --b-800:#0E1A3D; --b-700:#16285A;
  --line:#25443A; --line-2:#36584B; --line-b:#2A3B6E;
  --ivory:#F7EDE0; --text:#CFE0DA; --muted:#A3BDB5;
  --accent:#CBAD8D; --accent-2:#CBAD8D; --accent-ink:#CBAD8D;
  --serif:'Cormorant Garamond', Georgia, serif; --sans:'Manrope', system-ui, sans-serif;
  --rg-900:#03251A; --rg-800:#05301F; --rg-700:#0A4A33; --rg-600:#0F5E41;
  --ease:cubic-bezier(.22,.8,.2,1);
  --bs-border-radius:0; --bs-border-radius-sm:0; --bs-border-radius-lg:0;
  --teal: #CBAD8D;
}
*{box-sizing:border-box;border-radius:0!important}
html{overflow-x:clip}
body{margin:0;background:var(--g-800);color:var(--ivory);font-family:var(--sans);font-weight:300;line-height:1.75;font-size:1rem}
body.loading{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
svg{display:block}
::selection{background:var(--accent);color:var(--accent-ink)}
h1,h2,h3{font-family:var(--serif);font-weight:300;margin:0;color:var(--ivory);}
h1 em,h2 em,h3 em{color:#CBAD8D;font-style:italic}
p{margin:0}
figure{margin:0}
.chapter-tag{display:flex;align-items:center;gap:1rem;font-size:.7rem;letter-spacing:.34em;text-transform:uppercase;color:var(--accent);margin-bottom:1.6rem}
.chapter-tag::before{content:"";width:48px;height:1px;background:var(--accent)}

/* Buttons */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:1rem 2.1rem;font-size:.74rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;border:0;cursor:pointer;font-family:var(--sans);white-space:nowrap;transition:background .5s,color .5s,border-color .5s; background:linear-gradient(135deg,#1A7A55 0%,#0F5E41 45%,#07402B 100%); color:#fff;}
.btn-solid{background:var(--accent);color:var(--accent-ink)}
.btn-solid:hover{background:#CBAD8D;}
.btn-ghost{border:1px solid var(--accent);color:#fff;background:var(--accent);padding:.8rem 1.5rem;
min-height:46px;}
.btn-ghost:hover{background:#070707;color:var(--accent-ink);border-color:var(--accent)}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);transform:translateX(-120%);transition:transform .9s var(--ease)}
.btn:hover::after{transform:translateX(120%)}
.btn:focus-visible{outline:1px solid var(--accent-2);outline-offset:3px;box-shadow:none}

/* Loader */
#loader{position:fixed;inset:0;z-index:100;display:grid;place-items:center;pointer-events:none}
#loader .half{position:absolute;left:0;right:0;height:50.5%;background:var(--g-900);transition:transform 1.2s var(--ease)}
#loader .top{top:0}#loader .bot{bottom:0}
#loader .mark{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:1.4rem;transition:opacity .5s}
#loader path,#loader polyline{fill:none;stroke:var(--accent);stroke-width:1.2;stroke-dasharray:600;stroke-dashoffset:600;animation:draw 1.5s var(--ease) forwards}
#loader polyline{animation-delay:.35s}
#loader .word{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--muted);opacity:0;animation:fadeIn 1s .7s forwards}
body.loaded #loader .mark{opacity:0}
body.loaded #loader .top{transform:translateY(-100%)}
body.loaded #loader .bot{transform:translateY(100%)}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fadeIn{to{opacity:1}}

/* Header — fixed / sticky on scroll */
header{position:fixed;top:0;left:0;right:0;z-index:60;transition:background .6s var(--ease),box-shadow .6s,border-color .6s;border-bottom:0;background:linear-gradient(180deg,rgba(3,37,26,.6),rgba(3,37,26,0))}
header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:opacity .6s}
header.solid{background:rgba(4,40,28,.92);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);box-shadow:0 18px 40px -24px rgba(0,0,0,.7);border-color:transparent}
header.solid::after{opacity:.55}
.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;padding:1.5rem 2.2rem;transition:padding .5s var(--ease)}
header.solid .nav{padding:.8rem 2.2rem}
.logo{display:flex;align-items:center;justify-self:start}
/* Forces the logo to ivory on the dark header. Remove the filter if the logo file is already light / gold. */
.logo img{height:78px;width:auto;filter:brightness(0) invert(1);transition:height .5s var(--ease)}
header.solid .logo img{height:38px}
.menu{display:flex;gap:2.3rem;font-size:.74rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase}
.menu a{color:#F7EDE0;position:relative;padding:.5rem 0;white-space:nowrap;overflow:hidden;display:block}
.menu a span{display:block;transition:transform .5s var(--ease)}
.menu a::after{content:"";position:absolute;left:50%;bottom:0;width:5px;height:5px;background:#F7EDE0;
transform:translateX(-50%) rotate(45deg) scale(0);transition:transform .5s var(--ease);}
.menu a:hover{color:#CBAD8D;}
.menu a:hover::after,.menu a.on::after{transform:translateX(-50%) rotate(45deg) scale(1)}
.menu a.on{color:#fff}
.nav-end{justify-self:end;display:flex;align-items:center;gap:1rem}
.nav-cta{padding:.85rem 1.6rem;min-height:46px;font-size:.72rem}
.burger{display:none;width:48px;height:48px;background:#1a0f09cf;border:1px solid rgb(215 189 157 / 60%);cursor:pointer;position:relative;padding:0;}
.burger i{position:absolute;left:13px;right:13px;height:1px;background:#CBAD8D;transition:transform .5s var(--ease),opacity .3s,top .5s var(--ease)}
.burger i:nth-child(1){top:17px}.burger i:nth-child(2){top:23px;right:19px}.burger i:nth-child(3){top:29px}
body.menu-open .burger i:nth-child(1){top:23px;transform:rotate(45deg)}
body.menu-open .burger i:nth-child(2){opacity:0}
body.menu-open .burger i:nth-child(3){top:23px;transform:rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:55;background:radial-gradient(ellipse at 70% 20%,var(--rg-700) 0%,var(--rg-900) 70%);display:flex;flex-direction:column;justify-content:center;padding:6rem 2rem 2.5rem;clip-path:circle(0 at calc(100% - 46px) 46px);transition:clip-path .9s var(--ease);visibility:hidden}
body.menu-open{overflow:hidden}
body.menu-open .mnav{clip-path:circle(150% at calc(100% - 46px) 46px);visibility:visible}
.mnav nav{display:flex;flex-direction:column}
.mnav nav a{font-family:var(--serif);font-weight:300;font-size:clamp(2.1rem,8vw,3rem);line-height:1.2;color:#CBAD8D;padding:.55rem 0;border-bottom:1px solid rgba(143,227,231,.14);display:flex;align-items:baseline;gap:1.2rem;opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease),color .3s}
.mnav nav a small{font-family:var(--sans);font-size:.7rem;letter-spacing:.2em;color:var(--accent);width:1.8rem}
.mnav nav a:hover{color:#fff}
body.menu-open .mnav nav a{opacity:1;transform:none}
body.menu-open .mnav nav a:nth-child(1){transition-delay:.25s}body.menu-open .mnav nav a:nth-child(2){transition-delay:.32s}body.menu-open .mnav nav a:nth-child(3){transition-delay:.39s}body.menu-open .mnav nav a:nth-child(4){transition-delay:.46s}body.menu-open .mnav nav a:nth-child(5){transition-delay:.53s}
.mnav .btn{margin-top:2.2rem;align-self:flex-start}
.mnav-foot{margin-top:auto;padding-top:2rem;font-size:.78rem;letter-spacing:.12em;color:var(--muted)}
@media (min-width:1101px){.mnav{display:none}}
@media (max-width:1240px){.menu{gap:1.6rem}}
@media (max-width:1100px){
  .menu,.nav-cta{display:none}
  .burger{display:block}
  .nav{grid-template-columns:1fr auto;padding:1rem 1.25rem}
  header.solid .nav{padding:.6rem 1.25rem}
  .logo img{height:40px}
  header.solid .logo img{height:34px}
}

/* Rail */
.rail{position:fixed;left:1.6rem;top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;gap:1.1rem;opacity:0;transition:opacity .8s}
body.storied .rail{opacity:1}
.rail a{display:flex;align-items:center;gap:.8rem;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:transparent;transition:color .4s;min-height:22px}
.rail a i{width:8px;height:8px;border:1px solid var(--muted);transform:rotate(45deg);transition:background .4s,border-color .4s,transform .4s}
.rail a:hover{color:var(--muted)}
.rail a.on i{background:var(--accent);border-color:var(--accent);transform:rotate(45deg) scale(1.3)}
@media (max-width:1520px){.rail{display:none}}

#progress{position:fixed;left:0;top:0;height:2px;width:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform-origin:left;transform:scaleX(0);z-index:60;box-shadow:0 0 10px rgba(53,194,201,.6)}

/* =========== PROLOGUE — photo + royal green overlay, text left =========== */
.prologue{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:var(--rg-800)}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:75% 25%;transform:scale(1.1);transition:transform 6s var(--ease)}
body.loaded .hero-media img{transform:scale(1.02);animation:kb 30s 6s ease-in-out infinite alternate}
@keyframes kb{to{transform:scale(1.08) translate(-1%,.6%)}}
/* royal green from the left, fading out so the model and jewellery stay crisp on the right */
.hero-shade{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(3,37,26,.96) 0%,rgba(5,48,31,.90) 28%,rgba(10,74,51,.62) 46%,rgba(10,74,51,.18) 66%,rgba(10,74,51,0) 82%),
  linear-gradient(0deg,rgba(3,37,26,.7) 0%,rgba(3,37,26,0) 28%),
  linear-gradient(180deg,rgba(3,37,26,.55) 0%,rgba(3,37,26,0) 22%)}
.prologue .inner{position:relative;z-index:2;padding-top:13rem;padding-bottom:5rem;}
.hero-copy{max-width:56rem;}
.prologue h1{font-weight:300;font-size:clamp(2.6rem,5.4vw,5rem);line-height:1.06;letter-spacing:-.04em}
.prologue h1 em{color:#c6a66b;font-style:italic;font-weight:300}
.mask{display:block;overflow:hidden;padding-bottom:.1em}
.mask>span{display:block;transform:translateY(110%);transition:transform 1.4s var(--ease)}
body.loaded .mask>span{transform:none}
.mask:nth-child(2)>span{transition-delay:.15s}
.rise{opacity:0;transform:translateY(24px);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease)}
body.loaded .rise{opacity:1;transform:none}
body.loaded .d0{transition-delay:.1s}body.loaded .d1{transition-delay:.6s}body.loaded .d2{transition-delay:.9s}
.prologue .lead{margin-top:1rem;max-width:37rem;font-size:1.12rem;font-weight:300;color:#F7EDE0;}
.hero-cta{margin-top:2.8rem}
/* Royal green gradient button */
.btn-begin{border:0;padding:1.1rem 2.8rem;color:#F4FAF8;background:linear-gradient(135deg,#1A7A55 0%,#0F5E41 45%,#07402B 100%);background-size:200% 200%;background-position:0% 50%;box-shadow:0 18px 40px -16px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.14);transition:background-position .8s var(--ease),box-shadow .6s,color .4s,transform .6s var(--ease)}
.btn-begin:hover{color:#fff;background-position:100% 50%;transform:translateY(-2px);}
@media (max-width:991px){
  .prologue{align-items:flex-end}
  .hero-media img{object-position:68% 20%}
  .hero-shade{background:linear-gradient(0deg,rgba(3,37,26,.97) 0%,rgba(5,48,31,.88) 38%,rgba(10,74,51,.35) 65%,rgba(10,74,51,0) 85%),linear-gradient(180deg,rgba(3,37,26,.55) 0%,rgba(3,37,26,0) 20%)}
  .prologue .inner{padding-bottom:3.5rem}
  .prologue .lead{font-size:1rem}
}
.spark{transform-box:fill-box;transform-origin:center;animation:twinkle 3s ease-in-out infinite}
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.2) rotate(0)}45%{opacity:1;transform:scale(1) rotate(45deg)}70%{opacity:.2;transform:scale(.5) rotate(90deg)}}

/* Reveal */
.rv{opacity:0;transform:translateY(40px);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease)}
.rv.in{opacity:1;transform:none;}

h2.rv.in{font-size: clamp(2.2rem, 4vw, 3.3rem);}

/* =========== CHAPTER I · THE HOUSE =========== */
.her{background:#091410;padding:5rem 0; /*background-image:url('../images/royal-emerald-velvet-backdrop.jpg');*/ background-attachment: fixed;
    background-size: cover;
    background-position: top right; background:radial-gradient(ellipse at 72% 50%,rgba(22,40,90,.55) 0%,transparent 55%);}
.her-visual{position:sticky;top:13vh}
.portrait{position:relative;aspect-ratio:4/5;max-height:74vh;width:100%;overflow:hidden;border:1px solid var(--line-2);background:var(--g-850);clip-path:inset(100% 0 0 0);transition:clip-path 1.8s var(--ease)}
.portrait.in{clip-path:inset(0)}
.pf{position:absolute;inset:0;opacity:0;transition:opacity 1.2s var(--ease)}
.pf img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 6s var(--ease)}
.pf.on{opacity:1}
.pf.on img{transform:scale(1.02)}
.portrait::after{content:"";position:absolute;inset:14px;border:1px solid rgba(143,227,231,.35);pointer-events:none}
.pf-count{position:absolute;left:1.6rem;bottom:1.3rem;z-index:2;font-size:.7rem;letter-spacing:.3em;color:var(--ivory);text-shadow:0 1px 8px rgba(0,0,0,.6)}
.pf-count b{font-family:var(--serif);font-size:1.3rem;font-weight:400;color:var(--accent-2);letter-spacing:.05em}
.year{position:absolute;right:-.2rem;top:-1.2rem;background:#0d3629;border:1px solid var(--accent);
padding:0.5rem 1rem;font-family:var(--serif);font-size:1.5rem;line-height:1;color:var(--ivory);
text-align:center;z-index:3;}
.year small{display:block;font-family:var(--sans);font-size:.56rem;letter-spacing:.3em;text-transform:uppercase;color:var(--accent-2);margin-top:.4rem}
.beat{min-height:74vh;display:flex;flex-direction:column;justify-content:center;opacity:.14;transition:opacity .9s var(--ease),transform .9s var(--ease);transform:translateY(20px)}
.beat.on{opacity:1;transform:none}
.beat h2{font-size:clamp(2.3rem,4.2vw,3.6rem);line-height:1.1}
.beat p{margin-top:1.4rem;font-size:1.06rem;color:var(--text);max-width:32rem}
.signature{font-family:var(--serif);font-style:italic;font-size:3rem;line-height:1;color:var(--accent-2);margin-top:2.2rem;display:inline-block;clip-path:inset(0 100% 0 0);transition:clip-path 2.4s .3s var(--ease)}
.sig-role{display:block;margin-top:.6rem;font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:#f5eee3;}
.beat.on .signature{clip-path:inset(0)}
@media (max-width:991px){
  .her{padding:6rem 0 2rem}
  .her-visual{position:relative;top:0}
  .portrait{max-height:none}
  .beat{min-height:auto;padding:2.6rem 0;opacity:1;transform:none}
  .year{right:1rem}
}

/* =========== INTERLUDE =========== */
.interlude{background:var(--g-850);height:180vh;position:relative}
.interlude .stick{position:sticky;top:0;height:100vh;display:flex;align-items:center;justify-content:center;padding:0 1.5rem;overflow:hidden}
.il-bg{position:absolute;inset:0;opacity:1;}
.il-bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(.4) blur(2px);transform:scale(1.1)}
.interlude .stick::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 0%,var(--g-850) 75%)}
.interlude blockquote{position:relative;z-index:2;margin:0;max-width:60rem;text-align:center;font-family:var(--serif);font-weight:400;font-size:clamp(2.3rem,5.4vw,4.8rem);line-height:1.15}
.interlude .w{opacity:.12;transition:opacity .3s,color .3s}
.interlude .w.lit{opacity:1}
.interlude .w.acc.lit{color:var(--accent-2);font-style:italic}
.interlude cite{display:block;margin-top:2.4rem;font-family:var(--sans);font-style:normal;font-size:.92rem;letter-spacing:.3em;text-transform:uppercase;color:#F7EDE0;}

/* =========== CHAPTER II · MADE FOR YOU =========== */
.making{background:var(--g-800);height:420vh;position:relative}
.making .stick{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center;background:radial-gradient(ellipse at 72% 50%,rgba(22,40,90,.55) 0%,transparent 55%)}
.making .grid{display:flex;flex-wrap:wrap;align-items:center;gap:3rem;width:100%}
.making .copy{flex:1 1 420px;min-width:0;position:relative;min-height:24rem}
.mstep{position:absolute;inset:0;opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease),transform .8s var(--ease);pointer-events:none}
.mstep.on{opacity:1;transform:none;pointer-events:auto}
.mstep .num{font-family:var(--sans);font-size:4.3rem;line-height:1;color:var(--accent)}
.mstep h3{font-size:clamp(2.2rem,4vw,3.3rem);line-height:1.08;margin:.8rem 0 1.2rem}
.mstep p{color:var(--text);font-size:1.05rem;max-width:30rem}
.making .stage{flex:1 1 420px;min-width:0;display:flex;justify-content:center;position:relative}
.dots{display:flex;gap:.7rem;position:absolute;bottom:-3.5rem;left:0}
.dots i{width:34px;height:2px;background:var(--line-2);position:relative;overflow:hidden}
.dots i b{position:absolute;inset:0;background:var(--accent);transform-origin:left;transform:scaleX(0)}
@media (max-width:900px){
  .making .grid{flex-direction:column-reverse;flex-wrap:nowrap;gap:1.5rem;padding-top:4.5rem}
  .making .stage{flex:none}
    .making .copy{flex:none;width:100%;min-height:19rem}
  .mstep .num{font-size:3rem}
  .mstep h3{font-size:2rem}
  .dots{bottom:auto;top:-1.2rem}
}

/* =========== CHAPTER III · STONES & LIGHT =========== */
.stone{background:linear-gradient(180deg,var(--b-900) 0%,var(--b-800) 100%);padding:9rem 0}
.stone .chapter-tag{color:var(--accent-2)}
.stone-head h2{font-size:clamp(2.5rem,4.6vw,3.8rem);line-height:1.06}
.stone-head .lead{margin-top:2rem;color:#CFE0DA;max-width:28rem;font-size:1.02rem}
.stone-img{margin-top:2.8rem;position:relative;overflow:hidden;aspect-ratio:5/4;border:1px solid var(--line-b)}
.stone-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.stone-img:hover img{transform:scale(1.06)}
.stone-img figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.4rem 1.4rem 1.1rem;background:linear-gradient(0deg,rgba(10,19,48,.85),transparent);font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--accent-2)}
.srow{display:flex;align-items:flex-start;gap:1.8rem;padding:2.2rem 0;position:relative;transition:padding .6s var(--ease)}
.srow::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--line-b);transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease)}
.srow::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(53,194,201,.08),transparent 70%);opacity:0;transition:opacity .6s}
.srow.in::before{transform:scaleX(1)}
.srow:hover{padding-left:1.2rem}
.srow:hover::after{opacity:1}
.srow .n{flex:0 0 3rem;font-family:var(--serif);font-size:2rem;color:var(--accent);line-height:1.2}
.srow h3{font-size:1.75rem;margin-bottom:.5rem}
.srow p{color:#BFD3CC}
.srow .go{margin-left:auto;align-self:center;color:var(--accent);font-size:1.3rem;opacity:0;transform:translateX(-10px);transition:all .6s var(--ease)}
.srow:hover .go{opacity:1;transform:none}
.assure{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-b);border-bottom:1px solid var(--line-b);margin-top:1rem}
.assure div{padding:1.8rem 1rem;text-align:center;border-left:1px solid var(--line-b)}
.assure div:first-child{border-left:0}
.assure b{display:block;font-family:var(--serif);font-weight:400;font-size:1.7rem;color:var(--accent-2)}
.assure span{font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
@media (max-width:575px){.assure{grid-template-columns:1fr}.assure div{border-left:0;border-top:1px solid var(--line-b)}.assure div:first-child{border-top:0}}

/* =========== CHAPTER IV · THE BRIDE =========== */
.bride{position:relative;min-height:530px;display:flex;align-items:center;padding:4rem 0;overflow:hidden;background:var(--g-900)}
.bride-media{position:absolute;inset:-1% 0;will-change:transform}
.bride-media img{width:100%;height:100%;object-fit:cover;object-position:35% 40%}
.bride::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(270deg,rgba(6,18,14,.9) 0%,rgba(6,18,14,.55) 40%,rgba(6,18,14,.05) 75%)}
.bride .container-xl{z-index:2}
.bride-card{background:rgba(8,26,20,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(143,227,231,.3);padding:3rem 2.6rem;position:relative}
.bride-card::before{content:"";position:absolute;inset:10px;border:1px solid rgba(143,227,231,.14);pointer-events:none}
.bride-card h2{font-size:clamp(2.4rem,4.4vw,3.6rem);line-height:1.06}
.bride-card p:not(.chapter-tag){margin-top:1.4rem;color:var(--text)}
@media (max-width:767px){.bride{align-items:flex-end;min-height:100vh}.bride::before{background:linear-gradient(0deg,rgba(6,18,14,.95) 0%,rgba(6,18,14,.3) 60%)}.bride-card{padding:2.2rem 1.6rem}}

/* =========== CHAPTER V · THE ARCHIVE =========== */
.pieces{background:var(--g-850);position:relative}
.pieces .stick{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-top:4rem}
.pieces .head{padding:0 1.5rem;max-width:1320px;margin:0 auto 2.4rem;width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem}
.pieces .head h2{font-size:clamp(2.4rem,4.4vw,3.6rem);line-height:1.06}
.pieces .head>p{max-width:24rem;color:var(--muted)}
.htrack{display:flex;gap:1.6rem;padding:0 max(1.5rem,calc((100vw - 1320px)/2 + 1.5rem));will-change:transform}
.story-card{flex:0 0 min(360px,80vw);background:var(--g-750);border:1px solid var(--line);transition:border-color .6s,box-shadow .7s,transform .7s var(--ease);display:flex;flex-direction:column}
.story-card:hover{border-color:var(--accent);box-shadow:0 30px 60px -30px rgba(53,194,201,.35);transform:translateY(-6px)}
.story-card .media{aspect-ratio:4/4.1;position:relative;overflow:hidden;background:var(--g-900)}
.story-card .media img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.story-card:hover .media img{transform:scale(1.08)}
.story-card .media::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.22) 50%,transparent 65%);transform:translateX(-100%);transition:transform 1.2s var(--ease)}
.story-card:hover .media::after{transform:translateX(100%)}
.story-card .no{position:absolute;left:1rem;top:1rem;z-index:2;background:rgba(8,26,20,.75);border:1px solid rgba(143,227,231,.4);padding:.35rem .8rem;font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--accent-2)}
.story-card .body{padding:1.4rem 1.6rem 1.6rem;display:flex;flex-direction:column;flex:1}
.story-card .kind{font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}
.story-card h3{font-size:1.7rem;margin:.35rem 0 .45rem;line-height:1.15}
.story-card .tale{font-family:var(--serif);font-style:italic;font-size:1.1rem;line-height:1.45;color:#DDEBE6}
.story-card .price{margin-top:auto;padding-top:1rem;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.story-card .price:hover{color:var(--accent-2)}
.letter{flex:0 0 min(340px,80vw);border:1px solid var(--line-b);background:var(--b-800);padding:2.6rem;display:flex;flex-direction:column;justify-content:space-between;position:relative}
.letter::before{content:"“";position:absolute;right:1.6rem;top:.4rem;font-family:var(--serif);font-size:7rem;line-height:1;color:rgba(53,194,201,.25)}
.letter blockquote{margin:0;font-family:var(--serif);font-size:1.55rem;line-height:1.4;color:#E6F2EE}
.letter span{margin-top:1.6rem;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-2)}
.index-card{flex:0 0 min(580px,86vw);border:1px solid var(--accent);background:linear-gradient(160deg,var(--g-700),var(--g-850));padding:2.4rem 2.4rem 2.2rem;display:flex;flex-direction:column}
.index-card .kind{font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:1.2rem}
.index-card ol{list-style:none;padding:0;margin:0 0 1.8rem;display:grid;grid-template-columns:1fr 1fr;column-gap:1.4rem}
@media (max-width:480px){.index-card ol{grid-template-columns:1fr}}
.index-card li{display:flex;gap:.8rem;align-items:baseline;font-family:var(--serif);font-size:1.04rem;color:#DDEBE6;padding:.32rem 0;border-bottom:1px solid rgba(143,227,231,.12)}
.index-card li i{flex:0 0 2rem;font-size:.9rem;color:var(--accent)}
.index-card .btn{align-self:flex-start}
@media (max-width:900px){
  .pieces{height:auto!important}
  .pieces .stick{position:relative;height:auto;padding:7rem 0}
  .htrack{overflow-x:auto;scroll-snap-type:x mandatory;transform:none!important;padding-bottom:1rem;scrollbar-width:thin;scrollbar-color:var(--accent) transparent}
  .htrack>*{scroll-snap-align:start}
}
@media (min-width:901px) and (max-height:820px){
  .story-card .media{aspect-ratio:4/3}
  .index-card li{padding:.18rem 0;font-size:1rem}
}

/* =========== EPILOGUE =========== */
.epilogue{position:relative;padding:9rem 0;background:var(--g-800);overflow:hidden}
.epi-media{position:absolute;inset:0;opacity:.22}
.epi-media img{width:100%;height:100%;object-fit:cover;object-position:30% 50%}
.epilogue::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(11,35,27,.75) 0%,rgba(11,35,27,.95) 55%,var(--g-800) 100%)}
.epi-copy h2{font-size:clamp(2.7rem,5vw,4.2rem);line-height:1.04}
.epi-copy .lead{margin-top:2rem;color:#D3E3DD;max-width:26rem;font-size:1.02rem}
.contact{margin-top:2.6rem;display:flex;flex-direction:column;gap:1rem;color:#DDEBE6}
.contact small{display:block;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:.1rem}
.contact a:hover{color:var(--accent-2)}
form{background:rgba(10,19,48,.82);border:1px solid var(--line-b);padding:2.8rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.8rem 1.4rem;position:relative;overflow:hidden;backdrop-filter:blur(6px)}
.field{display:flex;flex-direction:column;gap:.5rem;position:relative}
.field.full{grid-column:1/-1}
.field label{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.field input,.field select,.field textarea{font:inherit;background:transparent;border:0;border-bottom:1px solid #4A5C86;color:var(--ivory);padding:.7rem 0;min-height:44px;outline:none}
.field select{background:var(--b-800)}
.field textarea{resize:vertical}
.field.err input{border-bottom-color:#D98F7A}
.field i{position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.field:focus-within i{transform:scaleX(1)}
.form-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:.6rem}
.form-foot span{font-size:.88rem;color:var(--muted)}
.thanks{position:absolute;inset:0;background:var(--b-800);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1rem;padding:2rem;opacity:0;pointer-events:none;transition:opacity .8s var(--ease)}
.thanks.show{opacity:1;pointer-events:auto}
.thanks h3{font-size:2.6rem}
.thanks p{color:var(--text)}
.thanks svg{width:70px}
.thanks.show path,.thanks.show polyline{stroke-dasharray:400;stroke-dashoffset:400;animation:draw 1.4s var(--ease) forwards}
@media (max-width:600px){form{grid-template-columns:1fr;padding:1.8rem}.epilogue{padding:6rem 0}}

/* Footer */
footer{background:var(--g-900);border-top:1px solid var(--line)}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2.5rem;padding-top:4.5rem;padding-bottom:2.5rem}
.foot>p{max-width:20rem;font-family:var(--serif);font-size:1.5rem;line-height:1.35;color:#DDEBE6}
.foot>p em{color:var(--accent-2)}
.foot nav{display:flex;flex-wrap:wrap;gap:3rem;font-size:.88rem}
.foot nav div{display:flex;flex-direction:column;gap:.65rem}
.foot nav span{font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:.2rem}
.foot nav a{color:#B3CBC2;transition:color .3s}
.foot nav a:hover{color:#fff}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.4rem;padding-bottom:2rem;border-top:1px solid #16302A;font-size:.76rem;color:#86A69B}

.headermain .nav{padding-right:0!important; padding-left:0!important;}
.fullimgone{width:100%;}
.fullimgone img.img-fluid{width:100%;}
.chapter-tag::before{display:none;}

/* WhatsApp */
.wa{position:fixed;right:1.4rem;bottom:1.4rem;z-index:45;width:54px;height:54px;display:grid;place-items:center;background:#CBAD8D;border:1px solid #CBAD8D;color:#070707;transition:background .4s,color .4s,transform .4s var(--ease)}
.wa:hover{background:#CBAD8D;color:#070707;transform:translateY(-3px)}

/* Cursor glow */
#glow{position:fixed;left:0;top:0;width:420px;height:420px;margin:-210px 0 0 -210px;border-radius:50%!important;background:radial-gradient(circle,rgba(53,194,201,.09),transparent 65%);pointer-events:none;z-index:1;opacity:0;transition:opacity .6s}
@media (pointer:fine){body.loaded #glow{opacity:1}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv,.rise,.beat,.appt-visual img{opacity:1;transform:none}
  .portrait,.signature{clip-path:none}
  .mask>span{transform:none}
  #loader{display:none}
}

@media (max-width:575px){
  .chapter-tag,.eyebrow{letter-spacing:.2em;font-size:.64rem;gap:.7rem}
  .chapter-tag::before,.eyebrow span{width:28px;flex:0 0 28px}
  .headermain nav{padding-right:1.5rem; padding-left:1.5rem;}
}


@media (min-width: 1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1270px;
        padding: 0;
    }
}

:root{
  /* Royal blue & royal green (no maroon) */
  --ink:#0B1F4A;          /* deep royal blue */
  --ink-2:#081638;
  --royal:#14357A;        /* royal blue */
  --royal-l:#2A55A8;
  --green:#0F4A3A;        /* royal green */
  --green-d:#0A3329;
  --emerald:#0F4A3A;
  --gold:#CBAD8D;
  --gold-l:#CBAD8D;
  --sepia:#EAF4F1;
  --sepia-2:#DCEBE6;
  --paper:#F4FAF8;
  --brown:#4A3A2A;
  --muted:#A3BDB5;
  --f:'Cormorant Garamond', Garamond, Georgia, serif;
  --ease:cubic-bezier(.25,.6,.25,1);
  --pad:clamp(20px,4vw,64px);
}

/* ================= ARCHIVE ================= */
.archive{padding:60px 0;background:radial-gradient(ellipse at center,transparent 0%,var(--g-850) 75%);}
.archive-head{text-align:center;margin-bottom:40px;}
.archive-head h2{font-size: clamp(2.2rem, 4vw, 3.3rem);
    line-height: 1.08;
    margin: 0.8rem 0 0; color:#fff;}
.archive-head p{font-style:italic;font-size:20px;color:var(--muted);margin-top:8px}
.plates{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,44px);max-width:1440px;margin:0 auto}
.plate{display:block;text-align:center}
.plate-img{background:#F4FAF8;padding:14px;box-shadow:0 1px 0 rgba(74,58,42,.12),0 24px 40px -26px rgba(11,31,74,.55);transition:transform 1s var(--ease),box-shadow 1s var(--ease)}
.plate-img img{width:100%;aspect-ratio:1/1;object-fit:cover;outline:1px solid rgba(53,194,201,.35);outline-offset:-1px;transition:filter .8s}
.plate:hover .plate-img{transform:translateY(-8px);box-shadow:0 1px 0 rgba(74,58,42,.12),0 40px 50px -28px rgba(11,31,74,.6)}
.plate:hover .plate-img img{filter:brightness(1.08)}
.pl-no{display:block;margin-top:20px;font-style:italic;color:#fff;font-size:17px; display:none;}
.plate h3{font-size:22px;color:#F7EDE0;margin:20px 0 5px;}
.pl-meta{font-size:15px;color:#CBAD8D;}
.plate:hover h3{color:#F7EDE0;}

/* ================= TILES ================= */
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--ink)}
.tile{position:relative;display:block;overflow:hidden;color:var(--sepia)}
.tile-tall{aspect-ratio:4/5}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform 2s var(--ease),filter 1s}
.tile:hover img{transform:scale(1.05)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,22,56,.7),transparent 45%)}
.tile-cap{position:absolute;left:0;right:0;bottom:clamp(40px,6vw,80px);z-index:2;text-align:center}
.tile-cap h2{color:var(--sepia);font-size:clamp(28px,3vw,46px);letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px}
.tile:hover{color:var(--gold-l)}

/* ================= GEMS ================= */
.gems{padding:70px 0 0;background:radial-gradient(ellipse at center,transparent 0%,var(--g-850) 75%);}
.gems-head{text-align:center;margin-bottom:50px}
.gems-head h2{font-size: clamp(2.2rem, 4vw, 3.3rem);
    line-height: 1.08;
    margin: 0.8rem;}
.gems-row{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.gem{position:relative;display:block;overflow:hidden;text-align:center;color:var(--sepia)}
.gem img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform 1.6s var(--ease)}
.gem:hover img{transform:scale(1.06)}
.gem::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,22,56,.75),transparent 50%)}
.gem h3,.gem p{position:absolute;left:0;right:0;z-index:2}
.gem h3{bottom:52px;color:var(--sepia);font-size:26px;letter-spacing:.08em}
.gem p{bottom:26px;font-size:13px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-l)}

/* ================= WORLD ================= */
.world{position:relative;background:var(--green-d);color:var(--sepia); padding:5rem 0;overflow:hidden;}
.world-in{max-width:1100px;margin:0 auto;}
.world h2{font-size:14px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-l);margin-bottom:30px;text-align:center}
.world-list{list-style:none;padding:0;margin:0}
.world-list li{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid rgba(210,180,124,.18);position:relative;z-index:2}
.world-list li:last-child{border-bottom:1px solid rgba(210,180,124,.18)}
.world-list a{display:block;flex:1;padding:22px 0;font-size:clamp(28px,4vw,56px);line-height:1.1;color:var(--sepia);transition:color .4s,padding .5s var(--ease)}
.world-list li:hover a{color:var(--gold-l);padding-left:22px}
.world-list span{font-style:italic;color:var(--gold);font-size:18px}
.world-peek{position:absolute;top:0;left:0;width:260px;aspect-ratio:3/4;pointer-events:none;z-index:1;opacity:0;transform:translate(-50%,-50%) scale(.9);transition:opacity .4s,transform .4s var(--ease);overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.7)}
.world-peek.show{opacity:1;transform:translate(-50%,-50%) scale(1);}
.world-peek img{width:100%;height:100%;object-fit:cover;}


/* =========================================================
   v3 — fixes & new sections
   ========================================================= */
html{scroll-padding-top:84px}

/* Tiles "Explore" label */
.explore{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:#CBAD8D;padding-bottom:.35rem;border-bottom:1px solid rgba(53,194,201,.6);transition:gap .5s var(--ease),color .3s}
.tile:hover .explore{gap:1.1rem;color:#fff}

/* ================= WORLD OF RIYORA — Garamond ================= */
.world{background:radial-gradient(ellipse at 80% 20%,#0A4A33 0%,#05301F 55%,#03251A 100%)}
.world h2{font-family:var(--serif);font-weight:300;font-size:clamp(2.2rem,4vw,3.3rem);letter-spacing:0;text-transform:none;color:#fff;margin-bottom:2.6rem;line-height:1.08}
.world-list li{border-top:1px solid rgba(53,194,201,.22)}
.world-list li:last-child{border-bottom:1px solid rgba(53,194,201,.22)}
.world-list a{font-family:var(--serif);font-weight:300;color:#F4FAF8;letter-spacing:-.005em; font-size:40px;}
.world-list li:hover a{color:#CBAD8D;}
.world-list span{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:#CBAD8D}

/* ================= APPOINTMENT — image left, form right ================= */
.appt{background:#05301F;padding:0;text-align:left}
.appt-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);min-height:100vh}
.appt-visual{position:relative;overflow:hidden;min-height:520px;background:#03251A}
.appt-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;opacity:0;transform:scale(1.1);transition:opacity 1.6s var(--ease),transform 6s var(--ease)}
.appt-visual.in img{opacity:1;transform:scale(1)}
.appt-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,37,26,.85) 0%,rgba(3,37,26,0) 45%),linear-gradient(90deg,rgba(3,37,26,0) 70%,rgba(5,48,31,.55) 100%)}
.appt-visual-cap{position:absolute;left:clamp(1.5rem,4vw,3.5rem);right:clamp(1.5rem,4vw,3.5rem);bottom:clamp(1.8rem,4vw,3.2rem);z-index:2}
.appt-visual-cap span{display:block;font-size:0.66rem;letter-spacing:.3em;text-transform:uppercase;
color:#F7EDE0;margin-bottom:0.6rem;}
.appt-visual-cap p{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.3;color:#fff;max-width:26rem}
.appt-panel{position:relative;padding:4rem 2rem;background:radial-gradient(ellipse at 100% 0%,rgba(15,94,65,.6) 0%,transparent 55%),linear-gradient(160deg,#05301F 0%,#03251A 100%);display:flex;flex-direction:column;justify-content:center}
.appt-panel .chapter-tag{margin-bottom:1rem}
.appt-panel h2{font-size:clamp(2.6rem,4.6vw,4rem);line-height:1.04;color:#fff;letter-spacing:0;text-transform:none}
.appt-panel h2 em{color:#CBAD8D}
.appt-lead{margin-top:1.2rem;max-width:30rem;color:#CFE0DA;font-size:1.02rem}
.appt-form{position:relative;margin-top:2.6rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.6rem;background:none;border:0;padding:0;backdrop-filter:none;overflow:visible}
.fl{position:relative}
.fl-full{grid-column:1/-1}
.fl input,.fl select,.fl textarea{width:100%;font:inherit;font-size:1rem;color:#F4FAF8;background:transparent;border:0;border-bottom:1px solid rgba(207,224,218,.35);padding:1.35rem 1rem 0.55rem;min-height:56px;outline:none;-webkit-appearance:none;appearance:none;transition:border-color 0.3s;}
.fl textarea{resize:vertical;min-height:96px}
.fl select{cursor:pointer;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2335C2C9' viewBox='0 0 16 16'%3E%3Cpath d='M1.6 4.6a.5.5 0 0 1 .7 0L8 10.3l5.7-5.7a.5.5 0 0 1 .7.7l-6 6a.5.5 0 0 1-.7 0l-6-6a.5.5 0 0 1 0-.7z'/%3E%3C/svg%3E") no-repeat right 2px center}
.fl select option{background:#05301F;color:#F4FAF8}
.fl label{position:absolute;left:0;top:1.3rem;font-size:1rem;color:#A3BDB5;pointer-events:none;transform-origin:left top;transition:transform .35s var(--ease),color .35s,letter-spacing .35s}
.fl input:focus + label,.fl input:not(:placeholder-shown) + label,
.fl textarea:focus + label,.fl textarea:not(:placeholder-shown) + label,
.fl select:focus + label,.fl.has label{transform:translateY(-1.15rem) scale(.72);color:#CBAD8D;letter-spacing:.14em;text-transform:uppercase}
.fl i{position:absolute;left:0;right:0;bottom:0;height:1px;background:#CBAD8D;transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.fl:focus-within i{transform:scaleX(1)}
.fl.err input,.fl.err select{border-bottom-color:#E28F84}
.fl.err label{color:#E28F84}
.mode{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:.8rem}
.mode legend{float:left;width:auto;margin:0 1rem 0 0;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:#A3BDB5}
.mode label{cursor:pointer}
.mode input{position:absolute;opacity:0;pointer-events:none}
.mode span{display:inline-block;padding:.7rem 1.2rem;font-size:.78rem;letter-spacing:.12em;color:#CFE0DA;border:1px solid rgba(207,224,218,.3);transition:all .35s}
.mode input:checked + span{background:rgba(53,194,201,.14);border-color:#CBAD8D;color:#fff}
.mode input:focus-visible + span{outline:1px solid #CBAD8D;outline-offset:3px}
.appt-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem 1.6rem;margin-top:.4rem}
.appt-small{font-size:.8rem;color:#A3BDB5}
.appt-done{position:absolute;inset:-1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;text-align:center;background:linear-gradient(160deg,#05301F,#03251A);opacity:0;pointer-events:none;transition:opacity .8s var(--ease);font-style:normal;margin:0;color:#fff}
.appt-done.show{opacity:1;pointer-events:auto}
.appt-done svg{width:64px;fill:none;stroke:#CBAD8D;stroke-width:1.4}
.appt-done.show path,.appt-done.show polyline{stroke-dasharray:400;stroke-dashoffset:400;animation:draw 1.4s var(--ease) forwards}
.appt-done h3{font-size:2.6rem;color:#fff}
.appt-done p{color:#CFE0DA}
.appt-contact{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(53,194,201,.2);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.appt-contact small{display:block;font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:#F7EDE0;margin-bottom:.3rem}
.appt-contact span,.appt-contact a{font-size:.92rem;color:#E6F2EE;word-break:break-word}
.appt-contact a:hover{color:#CBAD8D}

/* ================= FOOTER — deep royal blue ================= */
.ft{position:relative;overflow:hidden; max-height:533px; background:linear-gradient(
    180deg,
    #063D32 0%,
    #042E26 45%,
    #011C17 100%
);
color:#C3CEE8;padding:0;text-align:left;border-top:0}
.ft::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,#CBAD8D,transparent);opacity:0.7;}
.ft-glow{position:absolute;width:60vw;height:60vw;max-width:820px;max-height:820px;left:-15vw;top:-30vw;background:radial-gradient(circle,rgba(42,85,168,.35),transparent 65%);pointer-events:none}
.ft-top{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:3rem 4rem;padding-top:0;padding-bottom:3.5rem;}
.ft-line{font-family:var(--serif);font-weight:300;font-size:clamp(1.7rem,2.6vw,2.3rem);line-height:1.2;color:#fff;margin-bottom:1.8rem}
.ft-line em{color:#F7EDE0;}
.ft-social{display:flex;gap:.7rem;margin-top:2rem}
.ft-social a{width:44px;height:44px;display:grid!important;place-items:center;
border:1px solid rgba(195,206,232,.28);
color:#F7EDE0;transition:all .35s}
.ft-social a:hover{border-color:#F7EDE0;color:#F7EDE0;transform:translateY(-2px);}
.ft-social svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.ft-social svg .dot{fill:currentColor;stroke:none}
.ft-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;max-width:none;margin:0}
.ft h6{font-family:var(--sans);font-size:.66rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:#F7EDE0;margin-bottom:1.2rem}
.ft-cols a,.ft-cols span{display:block;padding:0.3rem 0;font-size:13px;color:#CBAD8D;transition:color .3s,padding .4s var(--ease)}
.ft-cols a:hover{color:#CBAD8D;padding-left:0rem;}
.ft-bottom{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem 2rem;padding-top:1.5rem;padding-bottom:1.8rem;border-top:1px solid rgba(195,206,232,0.14);font-size:0.78rem;letter-spacing:.06em;color:#F7EDE0;}

/* ================= RESPONSIVE ================= */
@media (max-width:1199px){
  .container,.container-xl{padding-left:1.5rem;padding-right:1.5rem}
  .headermain .nav{padding-left:0!important;padding-right:0!important}
}
@media (max-width:1100px){html{scroll-padding-top:68px}}
@media (max-width:991px){
  .plates{grid-template-columns:repeat(3,1fr)}
  .gems-row{grid-template-columns:repeat(2,1fr)}
  .appt-grid{grid-template-columns:1fr;min-height:0}
  .appt-visual{min-height:0;aspect-ratio:4/3}
  .ft-top{grid-template-columns:1fr}
  .ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .world-peek{display:none}
  .prologue .hero-media img{object-position:70% 30%}
}
@media (max-width:767px){
  .archive{padding:60px 0}
  .archive-head{margin-bottom:36px}
  .plates{grid-template-columns:repeat(2,1fr);gap:18px}
  .plate h3{font-size:18px;margin-top:14px}
  .pl-meta{font-size:12px}
  .tiles{grid-template-columns:1fr}
  .tile-tall{aspect-ratio:4/4.4}
  .gem h3{font-size:19px;bottom:44px;letter-spacing:.02em}
  .gem p{font-size:10px;bottom:20px;letter-spacing:.18em}
  .world-list a{padding:16px 0}
  .appt-form{grid-template-columns:1fr;gap:1.6rem}
  .appt-contact{grid-template-columns:1fr;gap:1rem}
  .appt-visual{aspect-ratio:1/1}
  .interlude blockquote{font-size:clamp(1.9rem,8vw,2.6rem)}
  .ft-bottom{flex-direction:column}
}
@media (max-width:420px){
  .plates{gap:12px}
  .plate-img{padding:8px}
  .ft-cols{grid-template-columns:1fr}
}
/* 1200–1340px: give the 1270px container side padding so Bootstrap row gutters never overflow */
@media (min-width:1200px) and (max-width:1340px){
  .container,.container-xl{padding-left:1.5rem;padding-right:1.5rem}
}

/* ================= THE MAKING — Your Vision / Our Craft ================= */
.making .stage{flex-direction:column;align-items:center}
.vc{--x:92%;position:relative;width:min(640px,100%);aspect-ratio:2/1;overflow:hidden;cursor:ew-resize;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pan-y;box-shadow:0 40px 80px -40px rgba(0,0,0,.8);outline:1px solid rgba(53,194,201,.28);outline-offset:10px}
.vc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.vc-craft{position:absolute;inset:0;clip-path:inset(0 0 0 var(--x));-webkit-clip-path:inset(0 0 0 var(--x))}
.vc-craft img{transform:scale(1.04);transition:transform 1.2s var(--ease)}
.vc.revealed .vc-craft img{transform:scale(1);}

.vc-line{position:absolute;top:0;bottom:0;left:var(--x);width:1px;background:#CBAD8D;box-shadow:0 0 14px rgba(227,147,48,.9);transform:translateX(-.5px);pointer-events:none;}

.vc-handle{position:absolute;top:50%;left:50%;width:42px;height:42px;transform:translate(-50%,-50%) rotate(45deg);background:#05301F;border:1px solid #CBAD8D;display:grid;place-items:center;color:#CBAD8D;box-shadow:0 8px 24px rgba(0,0,0,.45);transition:background .3s,color .3s,width .3s,height .3s}
.vc-handle svg{transform:rotate(-45deg)}
.vc:hover .vc-handle,.vc.dragging .vc-handle,.vc.kbd .vc-handle{background:#CBAD8D;color:#03231A}
.vc.dragging .vc-handle{width:48px;height:48px}
.vc.dragging .vc-craft img{transition:none}
.vc-tag{position:absolute;display:flex;gap:.4rem;font-family:var(--serif);font-style:italic;font-size:clamp(1.1rem,2vw,1.5rem);transition:opacity .4s var(--ease);pointer-events:none}
.vc-tag svg{width:clamp(30px,4vw,42px);height:auto}
.vc-vision{left:5%;top:7%;color:#0A4A33;flex-direction:column;align-items:flex-start}
.vc-vision svg{margin-left:1.6rem}
.vc-craft-tag{right:5%;bottom:7%;color:#CBAD8D;flex-direction:column;align-items:flex-end}
.vc-craft-tag svg{margin-right:1.6rem}
/* the range stays for keyboard users only; mouse + touch use pointer events */
.vc-range{position:absolute;width:1px;height:1px;opacity:0;margin:0;padding:0;overflow:hidden;clip:rect(0 0 0 0);pointer-events:none}
.vc.kbd{outline-color:#CBAD8D}
.vc-hint{margin-top:1.6rem;font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);}

/*.floatingwapicon{width:30px; height:30px;}*/

@media (max-width:900px){
  .vc{width:calc(100% - 12px);outline-offset:5px}
  .vc-hint{margin-top:1rem;font-size:.6rem;letter-spacing:.2em;text-align:center}
  .vc-tag svg{display:none}
  .making .grid{gap:2.2rem}
  .making .stage{width:100%;flex:none}
  .vc{margin:0 auto}
}

@media screen and (min-width: 1400px) and (max-width: 1899px){
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1370px;
        padding: 0;
    }
	
	.container-xl.ft-bottom{padding-top:2rem; margin-top:2rem;}
	
}

@media screen and (min-width: 1900px) and (max-width: 2599px){
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1600px;
        padding: 0;
    }
	
	.container-xl.ft-bottom{padding-top:2rem; margin-top: 2rem;}
}

@media (max-width: 767px){
	.mnav{top:0;}
	.logo img{height:65px;}
	.prologue h1{font-size:33.4px;}
	.her{padding:3rem 0 2rem;}
	.beat{padding: 1rem 0;}
	.beat h2{font-size:30.4px;}
	.signature{font-size:30px;}		
	.fl-full.mode span{padding:0.7rem 0.4rem;}
	
	
	
}

.btn.nav-cta.bookaconsulbtn, .btn-begin{background:#CBAD8D!important; color:#070707;}
.pf-count{display:none;}
.world-list a:hover{color:#CBAD8D;}

/* Text selection highlight */
::selection {
    background-color: #C5A46D;
    color: #FFFFFF;
}

::-moz-selection {
    background-color: #C5A46D!important;
    color: #FFFFFF;
}

.ft.footercls{height:470px; padding-top:100px;}
.mstep .num{}


.thumbhomeimgbox{width:100%; position:relative;}
.thumbhomeimgbox img.img-fluid{width:100%;}
.nameofprodcls{width:100%; text-align:center; padding:1rem;}
.nameofprodcls h3{color:#F7EDE0; margin-bottom:5px;}
.nameofprodcls .pl-meta{color:#F7EDE0; font-size:15px; font-weight:400;}

.morecollectioncls{width:100%; text-align:center;}
.btn-ghost:hover{background-color:#cbad8d!important; color:#070707!important;}

.menu a.active{color:#CBAD8D;}
.menu a.active::after{content:"";position:absolute;left:50%;bottom:0;width:5px;height:5px;background:#F7EDE0;
transform:translateX(-50%) rotate(45deg) scale(0);transition:transform .5s var(--ease);}
.menu a:hover::after, .menu a.active::after
 {
    transform: translateX(-50%) rotate(45deg) scale(1);
}

/* Collection Page */
/* ---------- Page hero ---------- */
.page-hero{position:relative;min-height:74vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--rg-900)}
.ph-media{position:absolute;inset:0}
.ph-media img{position:absolute;right:0;top:0;width:62%;height:100%;object-fit:cover;object-position:50% 40%;transform:scale(1.08);transition:transform 6s var(--ease)}
body.loaded .ph-media img{transform:scale(1)}
.ph-shade{position:absolute;inset:0;background:
  linear-gradient(90deg,#03251A 0%,#03251A 38%,rgba(3,37,26,.75) 52%,rgba(3,37,26,.1) 78%,rgba(3,37,26,0) 100%),
  linear-gradient(0deg,rgba(3,37,26,.85) 0%,rgba(3,37,26,0) 35%)}
.ph-in{position:relative;z-index:2;padding-top:136px;padding-bottom:80px;}
.crumbs{display:flex;flex-wrap:wrap;gap:.6rem;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:#c7c7c7;margin-bottom:1.6rem;}
.crumbs a{color:#F7EDE0;}
.crumbs a:hover{color:#fff}
.ph-title{font-weight:300;font-size:clamp(2.6rem,5.4vw,5rem);line-height:1;letter-spacing:-.01em;max-width:14ch}
.ph-title em{color:var(--teal);font-style:italic}
.ph-lead{margin-top:1.6rem;max-width:34rem;font-size:1.08rem;color:#F7EDE0;}
.ph-stats{display:flex;flex-wrap:wrap;gap:0;margin-top:2.4rem;border-top:1px solid rgba(53,194,201,.25);max-width:36rem}
.ph-stats div{flex:1 1 0;min-width:120px;padding:1.2rem 1.2rem 0 0}
.ph-stats b{display:block;font-weight:400;font-size:1.7rem;color:#F7EDE0;line-height:1.1;}
.ph-stats span{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:#F7EDE0;}
.ph-jump{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2.2rem}
.ph-jump a{padding:.6rem 1rem;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#DDEBE6;border:1px solid rgba(53,194,201,.35);transition:all .35s}
.ph-jump a:hover{background:rgba(53,194,201,.14);border-color:var(--teal);color:#fff}
body.inner .rise{transition-delay:0s}

@media (max-width:991px){
  .page-hero{min-height:0;align-items:stretch;flex-direction:column}
}

/* ---------- Filters (sticky under header) ---------- */
.filters{display:none;}
.filters{position:sticky;top:var(--hdr-h);z-index:40;background:rgba(3,37,26,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid rgba(53,194,201,.18);border-bottom:1px solid rgba(53,194,201,.18)}
.filters-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem 2rem;padding-top:.9rem;padding-bottom:.9rem}
.f-lines{display:flex;flex-wrap:wrap;gap:.4rem}
.f-line{background:transparent;border:1px solid transparent;color:#CFE0DA;font:inherit;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;padding:.65rem 1rem;cursor:pointer;transition:all .3s}
.f-line:hover{color:#fff;border-color:#f7ede06b;}
.f-line.on{color:#F7EDE0;background:var(--teal);border-color:var(--teal)}
.f-selects{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.4rem}
.f-sel{display:flex;align-items:center;gap:.6rem;margin:0}
.f-sel span{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#F7EDE0;}
.f-sel select{font:inherit;font-size:.9rem;color:#F4FAF8;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2335C2C9' viewBox='0 0 16 16'%3E%3Cpath d='M1.6 4.6a.5.5 0 0 1 .7 0L8 10.3l5.7-5.7a.5.5 0 0 1 .7.7l-6 6a.5.5 0 0 1-.7 0l-6-6a.5.5 0 0 1 0-.7z'/%3E%3C/svg%3E") no-repeat right 2px center;border:0;border-bottom:1px solid rgba(207,224,218,.35);padding:.45rem 1.6rem .45rem 1rem;min-height:40px;-webkit-appearance:none;appearance:none;cursor:pointer;outline:none}
.f-sel select:focus{border-bottom-color:var(--teal)}
.f-sel select option{background:#05301F;color:#F4FAF8}
.f-count{font-size:.78rem;color:var(--muted);min-width:5.5rem;text-align:right}

/* ---------- Collection grid ---------- */
.collection{padding:clamp(3rem,5vw,5rem) 0 clamp(4rem,5vw,7rem);background:radial-gradient(ellipse at 50% 0%,rgba(15,94,65,.35),transparent 60%),#000201;}
.pc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.4rem,3vw,2.6rem)}
.pc{display:flex;flex-direction:column;scroll-margin-top:calc(var(--hdr-h) + 90px)}
.pc.is-hidden{display:none}
.pc.pop{animation:pcIn .7s var(--ease) both}
@keyframes pcIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.pc.flash .pc-media{box-shadow:0 0 0 2px var(--teal),0 30px 60px -30px rgba(53,194,201,.6)}
.pc-media{position:relative;display:block;width:100%;padding:3px;border:0;background:#CBAD8D;cursor:pointer;overflow:hidden;box-shadow:0 24px 40px -26px rgba(0,0,0,.6);transition:box-shadow .8s var(--ease),transform .8s var(--ease); border-radius:4px!important;}
.pc-media img{width:100%;aspect-ratio:1/1;object-fit:cover;outline:1px solid rgba(53,194,201,.3);outline-offset:-1px;transition:transform 1.4s var(--ease)}
.pc:hover .pc-media{transform:translateY(-6px);box-shadow:0 40px 60px -30px rgba(0,0,0,.7)}
.pc:hover .pc-media img{transform:scale(1.05)}
.pc-no{position:absolute;left:22px;top:22px;z-index:2;background:rgba(3,37,26,.82);border:1px solid rgba(53,194,201,.5);padding:.3rem .7rem;font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--teal-l)}
.pc-qv{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;padding:.9rem;background:rgba(3,37,26,.88);color:#fff;font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;text-align:center;transform:translateY(calc(100% + 14px));transition:transform .6s var(--ease)}
.pc:hover .pc-qv,.pc-media:focus-visible .pc-qv{transform:none}
.pc-media:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.pc-body{padding:1.3rem .2rem 0;display:flex;flex-direction:column;flex:1; text-align:center;}
.pc-line{font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--teal);margin-bottom:.4rem}
.pc-body h3{font-size:1.6rem;line-height:1.15;color:#F7EDE0;}
.pc-meta{margin-top:.35rem;font-size:.86rem;color:#CBAD8D;}
.pc-actions{margin-top:auto;padding-top:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid rgba(53,194,201,.18);margin-top:1rem}
.pc-more{background:none;border:0;padding:0;font:inherit;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--teal);cursor:pointer}
.pc-more:hover{color:#fff}
.pc-actions span{font-size:.72rem;color:var(--muted)}
.pc-empty{text-align:center;padding:4rem 1rem}
.pc-empty h3{font-size:2.2rem;color:#fff}
.pc-empty h3 em{color:var(--teal)}
.pc-empty p{max-width:30rem;margin:1rem auto 1.6rem}

/* ---------- Bespoke band ---------- */
.bespoke-band{display:none;}
.bespoke-band{padding:clamp(4rem,5vw,7rem) 0;background:linear-gradient(160deg,#05301F,#03251A)}
.bespoke-band p:not(.chapter-tag){margin:1.2rem 0 2rem;max-width:32rem}
.bb-pair{position:relative;padding-bottom:18%}
.bb-pair img{width:78%;aspect-ratio:2/1;object-fit:cover;box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.bb-pair img:last-child{position:absolute;right:0;bottom:0;outline:1px solid rgb(223 203 183 / 38%);outline-offset:8px}

/* ---------- Assurance band ---------- */
.assure-band{display:none;}
.assure-band{background:var(--rb-800);border-top:1px solid rgba(53,194,201,.2);border-bottom:1px solid rgba(53,194,201,.2)}
.assure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.as{display:flex;flex-direction:column;gap:.3rem;padding:2.4rem 1.6rem;border-left:1px solid rgba(195,206,232,.14);transition:background .4s}
.as:first-child{border-left:0}
.as:hover{background:rgba(53,194,201,.07)}
.as b{font-family:var(--serif);font-weight:400;font-size:1.9rem;color:#fff}
.as span{font-size:.92rem;color:#CBAD8D;}
.as em{font-style:normal;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--teal);margin-top:.6rem}

/* ---------- CTA band ---------- */
.cta-band{position:relative;overflow:hidden;padding:clamp(5rem,5vw,8rem) 0;background:var(--rg-900)}
.cta-media{position:absolute;inset:0}
.cta-media img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.cta-band::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(3,37,26,.96) 0%,rgba(3,37,26,.85) 45%,rgba(3,37,26,.35) 100%)}
.cta-in{position:relative;z-index:2;max-width:1270px}
.cta-in h2{font-size:clamp(2.2rem,4vw,3.3rem);line-height:1.05;max-width:16ch}
.cta-in h2 em{color:var(--teal)}
.cta-in>p:not(.chapter-tag){margin:1.2rem 0 2rem;max-width:30rem;color:#DDEBE6}
.cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem}
.cta-link{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--teal)}
.cta-link:hover{color:#fff}

/* ---------- Quick view modal ---------- */
.qv .modal-content{background:linear-gradient(160deg,#05301F,#021D14);border:1px solid rgba(53,194,201,.3);color:#F4FAF8;box-shadow:0 40px 100px -30px rgba(0,0,0,.8)}
.modal-backdrop.show{opacity:.78;background:#010F0A}
.qv-close{position:absolute;right:14px;top:14px;z-index:5;width:46px;height:46px;border:1px solid rgba(53,194,201,.45);background:rgba(3,37,26,.8);cursor:pointer}
.qv-close i{position:absolute;left:12px;right:12px;top:22px;height:1px;background:#F7EDE0;
transform:rotate(45deg);}
.qv-close i+i{transform:rotate(-45deg)}
.qv-close:hover{background:#1c1c1c;}
.qv-close:hover i{background:#03231A}
.qv-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.qv-media{position:relative;background:#F4FAF8;padding:16px}
.qv-media img{width:100%;height:100%;min-height:320px;aspect-ratio:1/1;object-fit:cover}
.qv-media .pc-no{left:28px;top:28px}
.qv-body{padding:clamp(1.8rem,4vw,3.2rem);display:flex;flex-direction:column}
.qv-body h2{font-size:clamp(2rem,3.4vw,2.8rem);line-height:1.08;color:#fff}
.qv-tale{margin-top:1rem;font-family:var(--serif);font-style:italic;font-size:1.25rem;line-height:1.45;color:#DDEBE6}
.qv-specs{margin:1.6rem 0 0;border-top:1px solid rgba(53,194,201,.2)}
.qv-specs div{display:grid;grid-template-columns:8.5rem 1fr;gap:1rem;padding:.7rem 0;border-bottom:1px solid rgba(53,194,201,.12)}
.qv-specs dt{font-weight:400;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--teal);padding-top:.2rem}
.qv-specs dd{margin:0;font-size:.92rem;color:#E6F2EE}
.qv-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin-top:1.8rem}
.qv-wa{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--teal)}
.qv-wa:hover{color:#fff}
.qv-nav{display:flex;justify-content:space-between;margin-top:auto;padding-top:1.8rem}
.qv-nav button{background:none;border:0;padding:.4rem 0;font:inherit;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);cursor:pointer}
.qv-nav button:hover{color:#fff}

/* ---------- IGI: why ---------- */
.why{padding:clamp(4rem,5vw,7rem) 0;background:var(--rg-900)}
.why p:not(.chapter-tag){margin-top:1.2rem;max-width:32rem}
.why-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(53,194,201,.18);border:1px solid rgb(52 151 34 / 18%);}
.why-card{background:var(--rg-900);padding:2rem 1.8rem;transition:background .4s}
.why-card:hover{background:#05301F}
.wc-n{font-family:var(--serif);font-size:1.1rem;color:var(--teal)}
.why-card h3{font-size:1.7rem;color:#fff;margin:.4rem 0 .5rem}
.why-card p{font-size:.92rem;margin:0!important}

.why-card.rv.bgtwo{background:#05301F;}

/* ---------- IGI: 4Cs ---------- */
.fourcs{padding:clamp(4rem,5vw,7rem) 0;background:linear-gradient(180deg,var(--rb-900),var(--rb-800));}
.fourcs .chapter-tag{color:var(--teal)}
.cc-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:0;margin:0 auto 2.4rem;border-bottom:1px solid rgba(195,206,232,0.18);max-width:60rem;}
.cc-tab{flex:1 1 0;min-width:90px;background:none;border:0;padding:1rem 0.5rem;font-family:var(--serif);font-size:1.6rem;color:#CBAD8D;cursor:pointer;position:relative;transition:color 0.3s;}
.cc-tab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--teal);transform:scaleX(0);transition:transform .5s var(--ease);}
.cc-tab:hover{color:#F7EDE0}
.cc-tab.on{color:#F7EDE0}
.cc-tab.on::after{transform:scaleX(1)}
.cc-panels{max-width:60rem;margin:0 auto}
.cc-panel{animation:pcIn .6s var(--ease)}
.cc-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:1rem 3rem;align-items:start}
.cc-copy h3{font-size:clamp(1.7rem,2.6vw,2.2rem);line-height:1.15;color:#fff}
.cc-copy p{color:#C3CEE8}
.cc-scale{display:flex;flex-wrap:wrap;gap:4px;margin-top:2.4rem}
.cc-scale span{flex:1 1 0;min-width:52px;text-align:center;padding:1rem .3rem;font-family:var(--serif);font-size:1.25rem;color:#C3CEE8;background:rgba(195,206,232,.06);border:1px solid rgba(195,206,232,.14)}
.cc-scale span.hi{color:#070707;background:#F7EDE0;border-color:#F7EDE0;}
.cc-colour span:nth-child(1){background:#FFFFFF;color:#0A1740}
.cc-colour span:nth-child(2){background:#FDFEFF;color:#0A1740}
.cc-colour span:nth-child(3){background:#FAFBF7;color:#0A1740}
.cc-colour span:nth-child(4){background:#F8F7EE;color:#0A1740}
.cc-colour span:nth-child(5){background:#F6F3E4;color:#0A1740}
.cc-colour span:nth-child(6){background:#F3EFD9;color:#0A1740}
.cc-colour span:nth-child(7){background:#F0EACC;color:#0A1740}
.cc-colour span:nth-child(8){background:#EDE4BE;color:#0A1740}
.cc-colour span:nth-child(9){background:#E9DEAF;color:#0A1740}
.cc-colour span:nth-child(10){background:#E5D7A0;color:#0A1740}
.cc-colour span:nth-child(11){background:#E0CE8D;color:#0A1740}
.cc-colour span{border-color:transparent}
.cc-legend{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem 1rem;margin-top:.8rem;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:#F7EDE0;}
.cc-note{margin-top:1rem;font-size:.8rem;color:#F7EDE0}
.cc-carats{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-top:2.4rem;padding:2rem 1rem 0;border-top:1px solid rgba(195,206,232,.14)}
.cc-carats div{flex:1;display:flex;flex-direction:column;align-items:center;gap:.9rem}
.cc-carats i{display:block;width:calc(110px * var(--s));aspect-ratio:1;border-radius:50%!important;background:conic-gradient(from 20deg,#fff,#cfe6ee,#fff,#a9c6d4,#fff,#dff3f6,#fff,#b9d3de,#fff);box-shadow:0 0 0 1px rgba(255,255,255,.6),0 10px 30px -8px rgba(53,194,201,.6)}
.cc-carats span{font-family:var(--serif);font-size:1.1rem;color:#fff}

/* ---------- IGI: report ---------- */
.report{padding:clamp(4rem,5vw,7rem) 0;background:var(--rg-900)}
.report p:not(.chapter-tag){margin-top:1rem;max-width:32rem}
.rp-list{list-style:none;padding:0;margin:2rem 0 0;counter-reset:rp}
.rp-list li{position:relative;padding:1rem 0 1rem 3.4rem;border-top:1px solid rgba(53,194,201,.16);cursor:pointer;counter-increment:rp;transition:background .3s}
.rp-list li:last-child{border-bottom:1px solid rgba(53,194,201,.16)}
.rp-list li::before{content:counter(rp);position:absolute;left:0;top:1rem;width:2.2rem;height:2.2rem;display:grid;place-items:center;font-family:var(--serif);font-size:1.1rem;color:var(--teal);border:1px solid rgba(255,255,255,0.1));transition:all 0.3s;}
.rp-list b{display:block;font-family:var(--serif);font-weight:400;font-size:1.3rem;color:#F7EDE0;}
.rp-list span{display:block;max-height:0;overflow:hidden;font-size:.92rem;color:#F7EDE0;transition:max-height .5s var(--ease),margin .5s;}
.rp-list li.on span{max-height:8rem;margin-top:0.35rem;}
.rp-list li.on::before,.rp-list li:hover::before{background:var(--teal);color:#F7EDE0;}
.rp-doc{margin:0}
.rp-paper{position:relative;background:#F7F8F3;color:#1B2B26;padding:2rem 2rem 1.6rem;box-shadow:0 40px 80px -40px rgba(0,0,0,.85);font-size:.82rem;transform:rotate(0deg);transition:transform 1s var(--ease)}
.rp-doc:hover .rp-paper{transform:rotate(0)}
.rp-paper::before{content:"";position:absolute;inset:10px;border:1px solid rgba(10,23,64,.18);pointer-events:none}
.rp-top{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding-bottom:1rem;margin-bottom:.6rem;border-bottom:2px solid #0A1740}
.rp-t{flex:1 1 100%;font-family:var(--serif);font-size:1.25rem;color:#0A1740;letter-spacing:.02em}
.rp-num{font-family:var(--sans);font-weight:600;letter-spacing:.12em;color:#0A1740}
.rp-row{display:flex;align-items:center;gap:.6rem;padding:.42rem 0;border-bottom:1px dotted rgba(10,23,64,.25)}
.rp-row em{font-style:normal;color:#56645F;flex:1}
.rp-row b{font-weight:600;color:#0A1740;letter-spacing:.04em;text-align:right}
.rp-sec{display:flex;align-items:center;gap:.6rem;margin-top:.9rem;padding:.3rem 0;font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#0A1740}
.rp-com b{font-weight:400;font-style:italic;font-size:.78rem}
.rp-foot{display:flex;align-items:center;gap:1rem;margin-top:1.2rem}
.rp-diag{display:block;width:120px;height:60px;background:linear-gradient(135deg,transparent 48%,#0A1740 49%,#0A1740 51%,transparent 52%),linear-gradient(45deg,transparent 48%,#0A1740 49%,#0A1740 51%,transparent 52%);background-size:50% 100%;background-repeat:no-repeat;background-position:left,right;border-top:1px solid #0A1740;opacity:.55}
.rp-qr{display:block;width:54px;height:54px;margin-left:auto;background:repeating-linear-gradient(90deg,#0A1740 0 4px,transparent 4px 7px),repeating-linear-gradient(0deg,#0A1740 0 4px,transparent 4px 9px);background-blend-mode:multiply;opacity:.6}
.rp-hot{flex:0 0 auto;width:24px;height:24px;display:inline-grid;place-items:center;font-family:var(--sans);font-size:.7rem;font-weight:600;color:#fff;background:#0F5E41;cursor:pointer;box-shadow:0 0 0 0 rgba(53,194,201,.6);transition:background .3s,transform .3s}
.rp-hot:hover,.rp-hot.on{background:var(--teal);color:#03231A;transform:scale(1.15)}
.rp-hot.on{animation:hotPulse 1.8s ease-out infinite}
@keyframes hotPulse{0%{box-shadow:0 0 0 0 rgba(53,194,201,.7)}100%{box-shadow:0 0 0 12px rgba(53,194,201,0)}}
.rp-doc figcaption{margin-top:1.4rem;font-size:.76rem;color:#F7EDE0;}

/* ---------- IGI: verify ---------- */
.verify{padding:clamp(4rem,5vw,7rem) 0;background:linear-gradient(160deg,#05301F,#021D14);}
.vf-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4rem;counter-reset:vf}
.vf{position:relative;padding:2rem 1.6rem;border:1px solid rgba(53,194,201,.22);background:rgba(3,37,26,.5);transition:border-color .4s,transform .6s var(--ease)}
.vf:hover{border-color:var(--teal);transform:translateY(-4px)}
.vf>span{font-family:var(--serif);font-size:2.6rem;line-height:1;color:var(--teal)}
.vf h3{font-size:1.5rem;color:#fff;margin:.8rem 0 .5rem}
.vf p{font-size:.92rem;margin:0}
.vf p em{color:var(--teal-l)}
.vf-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem 2rem;margin-top:2.6rem;text-align:center}
.vf-cta p{font-size:.92rem}
.vf-cta p a{color:var(--teal);border-bottom:1px solid rgba(53,194,201,.5)}
.inscr{margin:clamp(3rem,6vw,4.5rem) auto 0;max-width:46rem;text-align:center}
.inscr-girdle{position:relative;height:110px;display:grid;place-items:center;background:radial-gradient(ellipse 80% 40% at 50% 50%,rgba(255,255,255,.12),transparent 70%),linear-gradient(180deg,#0B3B2C,#062A1F);border:1px solid rgba(53,194,201,.25);overflow:hidden}
.inscr-girdle::before{content:"";position:absolute;left:-10%;right:-10%;top:50%;height:46px;transform:translateY(-50%);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.18) 50%,rgba(255,255,255,.05));border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}
.inscr-girdle span{position:relative;font-family:var(--sans);font-size:clamp(.8rem,1.8vw,1.1rem);font-weight:500;letter-spacing:.4em;color:rgba(255,255,255,.88);text-shadow:0 0 12px rgba(143,227,231,.8)}
.inscr p{margin-top:1rem;font-size:.86rem;color:#F7EDE0;}

/* ---------- IGI: hallmark ---------- */
.hallmark{padding:clamp(4rem,5vw,7rem) 0;background:linear-gradient(180deg,var(--rb-800),var(--rb-900))}
.hallmark p{color:#F7EDE0;}
.hallmark p:not(.chapter-tag){margin-top:1.2rem;max-width:32rem}
.hm-small{font-size:.86rem;color:#CBAD8D!important}
.hm-marks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.hm{padding:2rem 1.5rem;border:1px solid rgba(195,206,232,0.16);background:rgb(4 46 29 / 60%);}
.hm h3{font-size:1.5rem;color:#CBAD8D;margin:1.2rem 0 .4rem; font-weight:500;}
.hm p{font-size:.88rem;margin:0!important}
.hm-ico{display:grid;place-items:center;width:84px;height:46px;font-style:normal;font-family:var(--sans);font-weight:600;font-size:.82rem;letter-spacing:.08em;color:var(--teal);border:1px solid var(--teal)}
.hm-tri{position:relative}
.hm-tri::before{content:"";width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-bottom:22px solid var(--teal)}

/* ---------- IGI: compare ---------- */
.compare{padding:clamp(4rem,5vw,7rem) 0;background:var(--rg-900)}
.cmp-wrap{overflow-x:auto;border:1px solid rgba(53,194,201,.22)}
.cmp{width:100%;min-width:600px;border-collapse:collapse}
.cmp th,.cmp td{padding:1.1rem 1.4rem;text-align:left;vertical-align:top;border-bottom:1px solid rgba(53,194,201,.12);font-size:.95rem}
.cmp thead th{font-family:var(--serif);font-weight:400;font-size:1.5rem;color:#CBAD8D;background:#05301F;border-bottom:1px solid rgb(54 98 14 / 30%);}
.cmp thead th:nth-child(2){color:var(--teal)}
.cmp tbody th{font-weight:400;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#CBAD8D;
width:30%;}
.cmp td{color:#E6F2EE}
.cmp td:nth-child(2){background:rgba(53,194,201,.05)}
.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:0}

/* ---------- IGI: FAQ ---------- */
.faq{padding:clamp(4rem,5vw,7rem) 0;background:linear-gradient(160deg,#05301F,#03251A)}
.faq .col-lg-4 p:not(.chapter-tag){margin-top:1.2rem}
.faq-item{border-top:1px solid rgb(255 225 200 / 20%);}
.faq-item:last-child{border-bottom:1px solid rgba(53,194,201,.2)}
.faq-item h3{margin:0}
.faq-q{position:relative;width:100%;text-align:left;background:none;border:0;padding:1.4rem 3rem 1.4rem 0;font-family:var(--serif);font-weight:300;font-size:clamp(1.3rem,2.2vw,1.65rem);line-height:1.25;color:#F7EDE0;cursor:pointer;transition:color .3s;}
.faq-q:hover{color:var(--teal)}
.faq-q::before,.faq-q::after{content:"";position:absolute;right:.4rem;top:50%;width:16px;height:1px;background:var(--teal);transition:transform .4s var(--ease)}
.faq-q.collapsed::after{transform:rotate(90deg)}
.faq-q:not(.collapsed)::after{transform:rotate(0)}
.faq-a{padding:0 3rem 1.6rem 0;color:#CFE0DA;font-size:.98rem;line-height:1.75}

.qv-close:hover i{background:#CBAD8D;}
.pc-no, .pc-line, .pc-actions{display:none;}

/* ---------- Responsive ---------- */
@media (max-width:1199px){
  .vf-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:991px){
  .page-hero{min-height:0;align-items:stretch;flex-direction:column}
  .ph-media{position:relative;height:46vh;min-height:260px}
  .ph-media img{width:100%}
  .ph-shade{background:linear-gradient(0deg,#03251A 0%,#03251A 42%,rgba(3,37,26,.4) 62%,rgba(3,37,26,.1) 100%)}
  .ph-in{padding-top:0;margin-top:-6rem}
  .pc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qv-grid{grid-template-columns:1fr}
  .qv-media img{min-height:0;max-height:52vh}
  .cc-copy{grid-template-columns:1fr}
  .hm-marks{grid-template-columns:1fr}
  .hm{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1.2rem;align-items:center}
  .hm-ico{grid-row:span 2}
  .hm h3{margin:0}
  .rp-paper{transform:none}
  .filters-in{gap:.6rem 1rem}
}
@media (max-width:767px){
  .filters-in{flex-direction:column;align-items:stretch;padding-top:.7rem;padding-bottom:.7rem}
  .f-lines{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0;padding:0;max-width:100%}
  .f-lines::-webkit-scrollbar{display:none}
  .f-line{flex:0 0 auto;padding:.55rem .85rem;font-size:.66rem}
  .f-selects{justify-content:space-between;gap:.6rem}
  .f-sel select{font-size:.84rem}
  .f-count{min-width:0}
  .pc-grid{gap:1.4rem 1rem}
  .pc-media{padding:7px}
  .pc-no{left:13px;top:13px;font-size:.78rem;padding:.2rem .5rem}
  .pc-qv{display:none}
  .pc-body h3{font-size:1.2rem}
  .pc-meta{font-size:.76rem}
  .pc-actions{flex-direction:column;align-items:flex-start;gap:.3rem}
  .assure-grid{grid-template-columns:1fr}
  .as{border-left:0;border-top:1px solid rgba(195,206,232,.14);padding:1.6rem 0}
  .as:first-child{border-top:0}
  .why-grid{grid-template-columns:1fr}
  .vf-steps{grid-template-columns:1fr}
  .cc-tab{font-size:1.25rem}
  .cc-scale span{min-width:44px;font-size:13px; line-height:20px;padding:.75rem .2rem}
  .cc-legend{display:none}
  .cc-carats{gap:.4rem;padding-left:0;padding-right:0}
  .cc-carats span{font-size:.85rem}
  .rp-paper{padding:1.4rem 1.2rem;font-size:.74rem}
  .qv-specs div{grid-template-columns:6.5rem 1fr}
  .qv-body{padding:1.6rem 1.3rem}
  .cta-band::before{background:linear-gradient(0deg,rgba(3,37,26,.97) 0%,rgba(3,37,26,.82) 60%,rgba(3,37,26,.55) 100%)}
  .faq-a{padding-right:0}
  .bb-pair img{width:86%}
  
  .btn.btn-solid{color:#070707;}
  .cc-panel .cc-carats{transform:scale(0.8);position:relative;left:-32px;margin-top:0;}
  .cmp thead th{font-size:18px; padding:1rem; line-height:22px;}
  .cmp tbody td{font-size:14px; padding:1rem;}
  .cmp{min-width:100%;}
  .verify{padding-top:2.5rem;}
  
  
}
@media (max-width:400px){
  .pc-grid{grid-template-columns:1fr}
  .ph-stats div{min-width:0;padding-right:.6rem}
  .ph-stats b{font-size:1.3rem}
}
@media (prefers-reduced-motion:reduce){
  .pc.pop,.cc-panel{animation:none}
}
/* small phones: long buttons wrap instead of widening the page */
@media (max-width:420px){
  .appt-grid{grid-template-columns:minmax(0,1fr);}
  .appt-actions .btn,.cta-actions .btn,.archive-more .btn,.qv-actions .btn,.vf-cta .btn,.bespoke-band .btn,.ft-brand .btn,.pc-empty .btn{width:100%;white-space:normal;text-align:center;padding-left:1rem;
  padding-right:1rem;}
}
/* mobile polish */
.archive-head .chapter-tag{font-style:normal;font-family:var(--sans);font-size:.7rem;color:var(--teal);margin-top:0}
@media (max-width:767px){
  .f-selects{flex-wrap:nowrap;gap:.8rem}
  .f-sel{flex:1 1 0;min-width:0}
  .f-sel span{display:none}
  .f-sel select{width:100%}
  .f-count{flex:0 0 auto;font-size:.7rem}
  .cc-tab{min-width:0;font-size:1.15rem;padding:.9rem .2rem}
  .cc-tabs{flex-wrap:nowrap}
}

.fourcs .sec-head.rv.in{text-align:center; margin-bottom:1.2rem;}
.fourcs .sec-head.rv.in h2, .verify .sec-head.rv.in h2, .compare .sec-head.rv.in h2{font-size:clamp(2.2rem, 5vw, 3.3rem);}
.verify .sec-head.rv.in h2, .compare .sec-head.rv.in h2{text-align:center; margin-bottom:2rem;}
.page-hero.igicertisec .ph-media img{width:95%;}

.page-hero.yourchapersec .ph-title{max-width:90%;}

/* =========================================================
   YOUR CHAPTER — two journeys, step-by-step animation
   ========================================================= */
.journey{padding:clamp(4rem,5vw,7rem) 0;background:radial-gradient(ellipse at 50% 0%,rgba(15,94,65,.45),transparent 60%),var(--rg-900)}
/* path switch */
.jr-switch{position:relative;display:grid;grid-template-columns:1fr 1fr;max-width:640px;margin:0 auto 3rem;border:1px solid rgba(53,194,201,.35);padding:4px}
.jr-tab{position:relative;z-index:1;background:none;border:0;padding:1rem 1.2rem;font-family:var(--serif);font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.2;color:#CFE0DA;cursor:pointer;transition:color .4s}
.jr-tab small{display:block;font-family:var(--sans);font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--teal);margin-bottom:.25rem;transition:color .4s}
.jr-tab.on{color:#03231A}
.jr-tab.on small{color:#03231A}
.jr-glide{position:absolute;z-index:0;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);background:var(--teal);transition:transform .6s var(--ease)}
.jr-switch.b .jr-glide{transform:translateX(100%)}
.jr-panel{animation:pcIn .6s var(--ease)}
.jr-line{text-align:center;font-family:var(--serif);font-size:clamp(1.4rem,2.4vw,1.9rem);color:#fff;margin-bottom:2.6rem}
.jr-line em{color:var(--teal)}
/* the list + scroll-drawn rail */
.jr-list{--p:0;position:relative;list-style:none;padding:0;margin:0 auto;max-width:1100px}
.jr-list::before,.jr-list::after{content:"";position:absolute;left:31px;top:10px;width:1px;bottom:10px;background:rgba(53,194,201,.18)}
.jr-list::after{bottom:auto;height:calc((100% - 20px) * var(--p));background:linear-gradient(var(--teal),#CBAD8D);box-shadow:0 0 12px rgba(53,194,201,.8)}
.jr-step{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,340px);gap:1rem 2.4rem;align-items:center;padding:1.6rem 0;opacity:.28;transition:opacity .8s var(--ease)}
.jr-step.in{opacity:1}
.jr-num{position:relative;z-index:1;width:64px;height:64px;display:grid;place-items:center}
.jr-num::before{content:"";position:absolute;inset:12px;background:var(--rg-900);border:1px solid rgba(53,194,201,.45);transform:rotate(45deg);transition:background .6s,border-color .6s}
.jr-step.in .jr-num::before{background:var(--teal);border-color:var(--teal)}
.jr-num span{position:relative;font-family:var(--serif);font-size:1.05rem;color:var(--teal);transition:color .6s}
.jr-step.in .jr-num span{color:#03231A}
.jr-copy{transform:translateY(18px);transition:transform .9s var(--ease)}
.jr-step.in .jr-copy{transform:none}
.jr-copy h3{font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.1;color:#fff;margin-bottom:.5rem}
.jr-copy p{max-width:32rem;font-size:1rem;color:#CFE0DA}
.jr-vis{transform:translateY(24px) scale(.97);opacity:0;transition:transform 1s .15s var(--ease),opacity 1s .15s var(--ease)}
.jr-step.in .jr-vis{transform:none;opacity:1}
.jr-vis>div{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(160deg,#05301F,#021D14);border:1px solid rgba(53,194,201,.22)}
.jr-vis b{position:absolute;left:0;right:0;bottom:.7rem;text-align:center;font-family:var(--sans);font-weight:500;font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--teal)}
.jr-vis img{display:block}
.jr-vis svg{fill:none;stroke:var(--teal);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* A1 · saved card */
.v-card img{position:absolute;left:50%;top:44%;width:42%;aspect-ratio:1;object-fit:cover;border:6px solid #F4FAF8;transform:translate(-50%,-50%);transition:transform 1s .3s var(--ease),box-shadow 1s .3s}
.jr-step.in .v-card img{transform:translate(-50%,-58%);box-shadow:0 22px 30px -16px rgba(0,0,0,.8)}
.v-tick{position:absolute;left:calc(50% + 15%);top:16%;width:34px;height:34px;display:grid;place-items:center;background:var(--teal);transform:scale(0);transition:transform .6s 1s cubic-bezier(.3,1.6,.5,1)}
.v-tick svg{width:20px;stroke:#03231A;stroke-width:2.4}
.jr-step.in .v-tick{transform:scale(1)}
/* A2 · phone rings */
.v-phone svg{position:absolute;left:50%;top:44%;width:46px;transform:translate(-50%,-50%)}
.jr-step.in .v-phone svg{animation:ring 1.6s .4s ease-in-out 2}
@keyframes ring{0%,100%{transform:translate(-50%,-50%) rotate(0)}10%,30%,50%{transform:translate(-50%,-50%) rotate(-14deg)}20%,40%{transform:translate(-50%,-50%) rotate(14deg)}60%{transform:translate(-50%,-50%) rotate(0)}}
.v-phone i{position:absolute;left:50%;top:44%;width:60px;height:60px;margin:-30px 0 0 -30px;border:1px solid var(--teal);border-radius:50%!important;opacity:0}
.jr-step.in .v-phone i{animation:wave 2.4s ease-out infinite}
.jr-step.in .v-phone .w2{animation-delay:.8s}.jr-step.in .v-phone .w3{animation-delay:1.6s}
@keyframes wave{0%{transform:scale(.8);opacity:.9}100%{transform:scale(2.6);opacity:0}}
/* A3 · loupe */
.v-loupe img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v-lens{position:absolute;left:30%;top:50%;width:40%;aspect-ratio:1;border:3px solid var(--teal);border-radius:50%!important;transform:translate(-50%,-50%);box-shadow:0 0 0 999px rgba(2,29,20,.62),inset 0 0 20px rgba(143,227,231,.35)}
.jr-step.in .v-lens{animation:lens 5s ease-in-out infinite}
@keyframes lens{0%,100%{left:30%}50%{left:62%}}
.v-loupe b{color:#fff}
/* A4 · options */
.v-options img{position:absolute;left:6%;top:50%;width:40%;aspect-ratio:1;object-fit:cover;border:5px solid #F4FAF8;transform:translateY(-50%)}
.v-chips{position:absolute;left:52%;right:5%;display:flex;flex-wrap:wrap;gap:6px}
.v-chips:nth-of-type(1){top:28%}.v-chips:nth-of-type(2){top:56%}
.v-chips span{padding:.4rem .6rem;font-size:.66rem;letter-spacing:.12em;color:#CFE0DA;border:1px solid rgba(53,194,201,.35)}
.jr-step.in .c-k{animation:chipK 4s infinite}
.jr-step.in .c-k:nth-child(2){animation-delay:2s}
@keyframes chipK{0%,45%{background:var(--teal);color:#03231A;border-color:var(--teal)}50%,100%{background:transparent;color:#CFE0DA}}
.jr-step.in .c-m{animation:chipM 4.5s infinite}
.jr-step.in .c-m:nth-child(2){animation-delay:1.5s}.jr-step.in .c-m:nth-child(3){animation-delay:3s}
@keyframes chipM{0%,30%{background:rgba(53,194,201,.18);color:#fff;border-color:var(--teal)}34%,100%{background:transparent;color:#CFE0DA}}
/* A5 · price/time tags on the sketch */
.v-tags img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v-tags span{position:absolute;right:6%;padding:.4rem .75rem;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:#0A4A33;border-left:3px solid var(--teal);transform:translateX(130%);transition:transform .7s var(--ease)}
.v-tags .t1{top:14%}.v-tags .t2{top:40%}.v-tags .t3{top:66%}
.jr-step.in .v-tags .t1{transform:none;transition-delay:.5s}
.jr-step.in .v-tags .t2{transform:none;transition-delay:.8s}
.jr-step.in .v-tags .t3{transform:none;transition-delay:1.1s}
/* A6 · quote + stamp */
.v-quote{display:flex;flex-direction:column;justify-content:center;gap:9px;padding:0 24%}
.v-quote::before{content:"";position:absolute;left:20%;right:20%;top:12%;bottom:12%;background:#F4FAF8}
.v-quote i{position:relative;height:6px;background:#C9D6D1}
.v-quote i.short{width:55%}
.v-stamp{position:absolute;right:16%;bottom:16%;padding:.35rem .7rem;font-family:var(--sans);font-weight:600;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#0F5E41;border:2px solid #0F5E41;transform:rotate(-12deg) scale(2.2);opacity:0;transition:transform .45s 1s cubic-bezier(.3,1.4,.5,1),opacity .2s 1s}
.jr-step.in .v-stamp{transform:rotate(-12deg) scale(1);opacity:1}
/* 7 · sketch → ring */
.v-reveal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v-reveal-top{position:absolute;inset:0;clip-path:inset(0 0 0 100%)}
.v-reveal-line{position:absolute;top:0;bottom:0;left:100%;width:2px;background:var(--teal);box-shadow:0 0 12px var(--teal)}
.jr-step.in .v-reveal-top{animation:rv-clip 5s .4s ease-in-out infinite}
.jr-step.in .v-reveal-line{animation:rv-line 5s .4s ease-in-out infinite}
@keyframes rv-clip{0%,10%{clip-path:inset(0 0 0 100%)}55%,85%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 0 100%)}}
@keyframes rv-line{0%,10%{left:100%}55%,85%{left:0%}100%{left:100%}}
/* 8 · certified */
.v-cert img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v-doc{position:absolute;left:8%;bottom:10%;width:34%;padding:.6rem .7rem;background:#F4FAF8;box-shadow:0 14px 30px -12px rgba(0,0,0,.8);transform:translateY(140%);transition:transform .8s .5s var(--ease)}
.v-doc b{position:static;display:block;text-align:left;font-size:.7rem;letter-spacing:.2em;color:#0A1740;margin-bottom:.35rem}
.v-doc i{display:block;height:4px;background:#C9D6D1;margin-top:4px}
.v-doc i:last-child{width:60%}
.v-hm{position:absolute;right:8%;bottom:12%;padding:.35rem .6rem;font-size:.62rem;letter-spacing:.16em;color:#fff;background:#0A1740;border:1px solid var(--teal);transform:translateY(220%);transition:transform .8s .9s var(--ease)}
.jr-step.in .v-doc,.jr-step.in .v-hm{transform:none}
/* B1 · chat */
.v-chat{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 12%}
.v-chat .b-in,.v-chat .b-msg{position:absolute;left:12%;top:50%;transform:translateY(-50%);background:#0F5E41;color:#fff;padding:.8rem 1rem;font-size:.86rem;max-width:76%}
.v-chat .b-in{display:flex;gap:5px}
.v-chat .b-in i{width:7px;height:7px;background:#CBAD8D;border-radius:50%!important}
.jr-step.in .v-chat .b-in i{animation:dot 1s infinite}
.jr-step.in .v-chat .b-in i:nth-child(2){animation-delay:.2s}.jr-step.in .v-chat .b-in i:nth-child(3){animation-delay:.4s}
@keyframes dot{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
.v-chat .b-msg{opacity:0;transition:opacity .5s 1.8s}
.jr-step.in .v-chat .b-in{opacity:0;transition:opacity .3s 1.7s}
.jr-step.in .v-chat .b-msg{opacity:1}
/* B2 · two circles meet */
.v-meet span{position:absolute;top:50%;width:34%;aspect-ratio:1;display:grid;place-items:center;border-radius:50%!important;font-family:var(--serif);font-size:1.05rem;color:#fff;transition:transform 1.1s .3s var(--ease)}
.v-meet .m1{left:50%;border:1px solid #F4FAF8;transform:translate(-130%,-50%)}
.v-meet .m2{left:50%;border:1px solid var(--teal);color:var(--teal);transform:translate(30%,-50%)}
.jr-step.in .v-meet .m1{transform:translate(-92%,-50%)}
.jr-step.in .v-meet .m2{transform:translate(-8%,-50%)}
/* B3 · suggestions fan out */
.v-fan img{position:absolute;left:50%;top:50%;width:30%;aspect-ratio:1;object-fit:cover;border:5px solid #F4FAF8;box-shadow:0 14px 26px -12px rgba(0,0,0,.8);transform:translate(-50%,-50%);transition:transform 1s .3s var(--ease)}
.jr-step.in .v-fan .f1{transform:translate(-125%,-46%) rotate(-10deg)}
.jr-step.in .v-fan .f2{transform:translate(-50%,-56%)}
.jr-step.in .v-fan .f3{transform:translate(25%,-46%) rotate(10deg)}
/* B4 · rate dips + calendar */
.v-chart{position:absolute;left:6%;top:16%;width:52%}
.v-chart .ln{stroke-dasharray:240;stroke-dashoffset:240;transition:stroke-dashoffset 1.6s .3s ease}
.v-chart .pt{fill:var(--teal);stroke:none;opacity:0;transition:opacity .4s 1.8s}
.jr-step.in .v-chart .ln{stroke-dashoffset:0}
.jr-step.in .v-chart .pt{opacity:1;animation:hotPulse 1.8s 2s ease-out infinite}
.v-cal{position:absolute;right:6%;top:18%;width:32%;padding:.5rem;background:#F4FAF8}
.v-cal b{position:static;display:block;text-align:left;font-size:.56rem;color:#0A1740;margin-bottom:.35rem;letter-spacing:.2em}
.v-cal span{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.v-cal i{aspect-ratio:1;background:#DCE5E1}
.v-cal i.mk{transition:background .4s 2s}
.jr-step.in .v-cal i.mk{background:var(--teal)}
/* B5 · balance settles */
.v-scale svg{position:absolute;left:50%;top:46%;width:56%;transform:translate(-50%,-50%)}
.v-scale .beam{transform-origin:80px 26px;transform:rotate(-12deg)}
.jr-step.in .v-scale .beam{animation:balance 2.6s .3s ease-out forwards}
@keyframes balance{0%{transform:rotate(-12deg)}35%{transform:rotate(8deg)}60%{transform:rotate(-4deg)}80%{transform:rotate(2deg)}100%{transform:rotate(0)}}
.v-scale circle{fill:var(--teal);stroke:none}
.v-scale b.l,.v-scale b.r{bottom:14%;width:30%}
.v-scale b.l{left:16%;right:auto;color:#fff}
.v-scale b.r{right:16%;left:auto}
/* B6 · hourglass */
.v-glass svg{position:absolute;left:50%;top:44%;width:44px;transform:translate(-50%,-50%)}
.v-glass .sand-t,.v-glass .sand-b{fill:var(--teal);stroke:none}
.jr-step.in .v-glass svg{animation:turn 4s 1s ease-in-out infinite}
@keyframes turn{0%,70%{transform:translate(-50%,-50%) rotate(0)}85%,100%{transform:translate(-50%,-50%) rotate(180deg)}}
.jr-step.in .v-glass .sand-t{animation:drain 4s 1s linear infinite;transform-origin:30px 18px}
@keyframes drain{0%{transform:scaleY(1)}70%,100%{transform:scaleY(.15)}}

/* promise + CTA */
.promise{padding:clamp(4rem,5vw,7rem) 0;background:linear-gradient(180deg,var(--rb-900),var(--rb-800))}
.pr-quote{max-width:52rem;margin:0 auto;text-align:center}
.pr-quote blockquote{margin:0;font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(1.7rem,3.4vw,2.7rem);line-height:1.3;color:#F7EDE0;}
.pr-quote figcaption{margin-top:1.8rem}
.pr-sig{display:block;font-family:var(--serif);font-style:italic;font-size:2.4rem;line-height:1;color:var(--teal)}
.pr-role{display:block;margin-top:.5rem;font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;
color:#F7EDE0;}
.pr-points{list-style:none;padding:0;margin:3.2rem auto 0;max-width:60rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(195,206,232,.16);border-bottom:1px solid rgba(195,206,232,.16)}
.pr-points li{padding:1.6rem 1.2rem;text-align:center;border-left:1px solid rgba(195,206,232,.16)}
.pr-points li:first-child{border-left:0}
.pr-points b{display:block;font-family:var(--serif);font-weight:400;font-size:1.5rem;color:#fff}
.pr-points span{font-size:0.9rem;color:#CBAD8D;}
.pr-cta{margin:clamp(3rem,6vw,4.5rem) auto 0;max-width:46rem;text-align:center}
.pr-cta h2{font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.08}
.pr-cta>p{margin:1rem auto 2rem;max-width:32rem;color:#C3CEE8}
.pr-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem 1.4rem}
.btn-ghost-teal{background:transparent;border:1px solid var(--teal);color:var(--teal)}
.btn-ghost-teal:hover{background:var(--teal);color:#03231A}

@media (max-width:991px){
  .jr-step{grid-template-columns:52px minmax(0,1fr);gap:1rem 1.4rem;align-items:start}
  .jr-num{width:52px;height:52px}
  .jr-num::before{inset:10px}
  .jr-list::before,.jr-list::after{left:25px}
  .jr-vis{grid-column:2;max-width:440px}
}
@media (max-width:767px){
  .jr-switch{margin-bottom:2rem}
  .jr-tab{padding:.8rem .6rem;font-size:1rem}
  .jr-step{padding:1.2rem 0}
  .jr-copy h3{font-size:1.5rem}
  .pr-points{grid-template-columns:1fr}
  .pr-points li{border-left:0;border-top:1px solid rgba(195,206,232,.16)}
  .pr-points li:first-child{border-top:0}
}
@media (max-width:420px){
  .pr-actions .btn{width:100%;white-space:normal;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  .jr-step,.jr-step .jr-copy,.jr-step .jr-vis{opacity:1;transform:none}
}

.journey .sec-head.rv.in h2{font-size:clamp(2.2rem, 5vw, 3.3rem); margin-bottom:1.2rem;}
.journey .sec-head.rv.in{text-align:center; margin-bottom:2rem;}


/* =========================================================
   PRIVATE APPOINTMENTS page
   ========================================================= */
.ph-jump a.ph-jump-main{background:linear-gradient(135deg,#1A7A55 0%,#0F5E41 45%,#07402B 100%);border-color:transparent;color:#fff}
.ph-jump a.ph-jump-main:hover{border-color:var(--teal)}

.ways{padding:clamp(4rem,5vw,7rem) 0;background:var(--rg-900)}
.way-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.4rem,3vw,2.4rem)}
.way{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:linear-gradient(160deg,#05301F,#03251A);border:1px solid rgba(53,194,201,.2);transition:border-color .5s,transform .7s var(--ease)}
.way:hover{border-color:var(--teal);transform:translateY(-4px)}
.way-media{position:relative;overflow:hidden;min-height:280px}
.way-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.way:hover .way-media img{transform:scale(1.05)}
.way-body{padding:clamp(1.6rem,3vw,2.4rem);display:flex;flex-direction:column}
.way-body h3{font-size:clamp(1.7rem,2.4vw,2.1rem);line-height:1.1;color:#fff;margin-bottom:.8rem}
.way-body p:not(.pc-line){font-size:.95rem}
.way-list{list-style:none;padding:0;margin:1.2rem 0 1.6rem}
.way-list li{position:relative;padding:.45rem 0 .45rem 1.4rem;font-size:.9rem;color:#DDEBE6;border-bottom:1px solid rgba(53,194,201,.12)}
.way-list li::before{content:"";position:absolute;left:0;top:1rem;width:6px;height:6px;background:var(--teal);transform:rotate(45deg)}
.way-body .btn{margin-top:auto;align-self:flex-start}

.how{padding:clamp(4rem,8vw,7rem) 0;background:linear-gradient(180deg,var(--rb-900),var(--rb-800))}
.how-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;position:relative}
.how-steps::before{content:"";position:absolute;left:12.5%;right:12.5%;top:1.6rem;height:1px;background:linear-gradient(90deg,transparent,rgba(53,194,201,.6),transparent)}
.how-steps li{position:relative;text-align:center;padding:0 1.2rem}
.how-steps span{position:relative;z-index:1;display:inline-grid;place-items:center;width:3.2rem;height:3.2rem;font-family:var(--serif);font-size:1.3rem;color:var(--teal);background:var(--rb-900);border:1px solid var(--teal);transform:rotate(45deg)}
.how-steps span{line-height:1}
.how-steps li h3{font-size:1.5rem;color:#fff;margin:1.6rem 0 .5rem}
.how-steps li p{font-size:.92rem;color:#C3CEE8}

.appt-page .appt-grid{min-height:0}
.appt-page .appt-visual{min-height:640px}
.fl-fixed label{transform:translateY(-1.15rem) scale(.72);color:var(--teal);letter-spacing:.14em;text-transform:uppercase}
.fl input[type="date"]{color-scheme:dark;cursor:pointer}
.fl input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(68%) sepia(43%) saturate(522%) hue-rotate(137deg);cursor:pointer}

.expect{padding:clamp(4rem,8vw,7rem) 0;background:var(--rg-900)}
.ex-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:2.2rem;background:rgba(53,194,201,.18);border:1px solid rgba(53,194,201,.18)}
.ex{background:var(--rg-900);padding:1.8rem 1.6rem}
.ex span{font-family:var(--serif);color:var(--teal)}
.ex h3{font-size:1.5rem;color:#fff;margin:.35rem 0 .4rem}
.ex p{font-size:.9rem;margin:0}
.visit{position:sticky;top:calc(var(--hdr-h) + 1.5rem);padding:clamp(1.8rem,3vw,2.6rem);background:linear-gradient(160deg,var(--rb-800),var(--rb-900));border:1px solid rgba(53,194,201,.25)}
.visit h3{font-size:2rem;color:#fff;margin-bottom:1.2rem}
.visit dl{margin:0 0 1.8rem;border-top:1px solid rgba(195,206,232,.14)}
.visit dl div{display:grid;grid-template-columns:5.5rem 1fr;gap:1rem;padding:.75rem 0;border-bottom:1px solid rgba(195,206,232,.14)}
.visit dt{font-weight:400;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--teal);padding-top:.25rem}
.visit dd{margin:0;font-size:.95rem;color:#E6F2EE}
.visit dd a:hover{color:var(--teal)}
.visit-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem}

@media (max-width:1199px){
  .way{grid-template-columns:1fr}
  .way-media{min-height:0;aspect-ratio:16/10}
}
@media (max-width:991px){
  .how-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.6rem 0}
  .how-steps::before{display:none}
  .appt-page .appt-visual{min-height:0}
  .visit{position:relative;top:0}
}
@media (max-width:767px){
  .way-grid{grid-template-columns:1fr}
  .how-steps{grid-template-columns:1fr;gap:2rem}
  .how-steps li{text-align:left;display:grid;grid-template-columns:3.6rem 1fr;gap:0 1.2rem;align-items:start;padding:0}
  .how-steps span{width:2.6rem;height:2.6rem;font-size:1.05rem;margin:.4rem 0 0 .4rem;grid-row:span 2}
  .how-steps li h3{margin:0 0 .3rem}
  .ex-grid{grid-template-columns:1fr}
 
  .page-hero .ph-media img{object-position:top; height:485px; object-fit:cover;}
  .ft.footercls{height:auto; max-height:fit-content;}
  .ft-top{padding-top:0; padding-bottom:3.5rem;}
  .jr-tab{padding:0.8rem 0.4rem;}
  
  .prologue .hero-media img{object-position:88% 30%;}
  .hero-cta{margin-top:0.8rem;}
  .hero-copy{max-width:56rem; padding-bottom:4.3rem;}
  .prologue h1 em{color:#F7EDE0;}
  .ft.footercls{padding-top:50px;}
  .interlude .stick{height:358px;}
  
  .ft-cols {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  
}
@media (max-width:420px){
  .way-body .btn,.visit-actions .btn{width:100%;white-space:normal;text-align:center}
}
/* how-it-works: diamond frame rotates, the number stays upright */
.how-steps span{transform:none;background:none;border:0}
.how-steps span::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--rb-900);border:1px solid var(--teal);transform:rotate(45deg)}

.ways.cuswaysec .sec-head.rv.in h2{font-size:clamp(2.2rem, 5vw, 3.3rem);}
.ways.cuswaysec .sec-head.rv.in{text-align:center; margin-bottom:2rem;}

.btn.btn-begin.way-pick{padding:1.1rem 2rem; width:260.64px;}


@media screen and (min-width: 992px) and (max-width: 2500px){
	.page-hero{min-height:615px;}
}

.btn.nav-cta.bookaconsulbtn:hover{color:#fff;}


/* Loader logo: no box, no background */
#loader .mark,
#loader .mark img{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0;
}
#loader .mark img{
  display:block;
  width:170px;          
  height:auto;
  mix-blend-mode:normal;
}

/* Textarea: line up its underline with the teal focus line */
.fl textarea{
  display:block;            /* removes the inline gap under the textarea */
  vertical-align:top;
  margin:0;
  min-height:96px;
  line-height:1.5;
  padding:1.35rem 0 .55rem;
  resize:vertical;
  overflow:auto;
}
.fl{line-height:0}          /* no extra space inside the field wrapper */
.fl input,.fl select,.fl textarea,.fl label{line-height:1.5}
.fl i{bottom:0;height:1px}  /* focus line sits exactly on the field's bottom border */


/* =========================================================
   THE MAKING page (editorial, Fred / Piaget inspired)
   ========================================================= */
.mk-link{display:inline-flex;align-items:center;gap:.6rem;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--teal);padding-bottom:.3rem;border-bottom:1px solid rgba(53,194,201,.5);transition:gap .5s var(--ease),color .3s}
.mk-link:hover{gap:1rem;color:#fff}
.mk-home-link{margin-top:1.2rem}

/* hero — text-led, full bleed */
.mk-hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:var(--rg-900)}
.mk-hero-media{position:absolute;inset:0}
.mk-hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;transform:scale(1.12);transition:transform 7s var(--ease)}
body.loaded .mk-hero-media img{transform:scale(1.02)}
.mk-hero-shade{position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(3,37,26,.72) 0%,rgba(3,37,26,.55) 50%,rgba(3,37,26,.85) 100%),linear-gradient(180deg,rgba(3,37,26,.6) 0%,rgba(3,37,26,0) 30%)}
.mk-hero-in{position:relative;z-index:2;padding-top:calc(var(--hdr-h) + 3rem);padding-bottom:4rem;display:flex;flex-direction:column;align-items:center}
.mk-hero .crumbs{justify-content:center}
.mk-kicker{font-size:.72rem;letter-spacing:.42em;text-transform:uppercase;color:var(--teal);margin-bottom:1.4rem}
.mk-title{font-weight:300;font-size:clamp(3.2rem,9vw,8rem);line-height:.98;letter-spacing:-.01em}
.mk-title em{color:var(--teal);font-style:italic}
.mk-lead{margin-top:1.8rem;max-width:36rem;font-size:1.1rem;color:#DDEBE6}
.mk-scroll{margin-top:3rem;display:flex;flex-direction:column;align-items:center;gap:.8rem;font-size:.64rem;letter-spacing:.34em;text-transform:uppercase;color:#CFE0DA}
.mk-scroll i{display:block;width:1px;height:64px;background:linear-gradient(var(--teal),transparent);transform-origin:top;animation:cue 2.4s ease-in-out infinite}

/* pull quote */
.mk-quote{padding:clamp(2rem,5vw,8rem) 0;background:#021810;text-align:center}
.mk-quote figure{max-width:56rem;margin:0 auto}
.mk-quote blockquote{margin:0;font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(1.9rem,4vw,3.2rem);line-height:1.25;color:#fff}
.mk-quote figcaption{margin-top:2rem}

/* six chapters */
.mk-chapters{padding:clamp(4rem,5vw,7rem) 0;background:radial-gradient(ellipse at 50% 0%,rgba(15,94,65,.4),transparent 55%),var(--rg-900)}
.mk-ch{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:center;padding:clamp(2.5rem,5vw,4.5rem) 0}
.mk-ch + .mk-ch{border-top:1px solid rgba(53,194,201,.12)}
.mk-right .mk-ch-media{order:2}
.mk-ch-media{position:relative}
.mk-ch-fig{position:relative;margin:0;overflow:hidden;aspect-ratio:4/5;max-height:78vh;background:#03251A;clip-path:inset(12% 0 0 0);transition:clip-path 1.4s var(--ease)}
.mk-ch-media.in .mk-ch-fig{clip-path:inset(0)}
.mk-ch-fig img{width:100%;height:118%;object-fit:cover;transform:translateY(calc(var(--py,0) * 1px));will-change:transform}
.mk-ch-fig::after{content:"";position:absolute;inset:14px;border:1px solid rgba(143,227,231,.3);pointer-events:none}
.mk-ch-roman{position:absolute;top:-1.6rem;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(4rem,9vw,8rem);line-height:1;color:rgba(53,194,201,.22);pointer-events:none}
.mk-left .mk-ch-roman{right:-1rem}
.mk-right .mk-ch-roman{left:-1rem}
.mk-ch-copy h2{font-size:clamp(2.4rem,4.4vw,3.8rem);line-height:1.04}
.mk-ch-text{margin-top:1.4rem;max-width:30rem;font-size:1.04rem}
.mk-ch-quote{margin:2rem 0 2rem;padding-left:1.4rem;border-left:2px solid var(--teal);max-width:28rem}
.mk-ch-quote p{font-family:var(--serif);font-style:italic;font-size:1.45rem;line-height:1.35;color:#fff}
.mk-ch-quote cite{display:block;margin-top:.6rem;font-style:normal;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted)}

/* vision / craft split */
.mk-vision{padding:clamp(4rem,8vw,7rem) 0;background:linear-gradient(160deg,#05301F,#021D14)}
.mk-vision p:not(.chapter-tag){margin-top:1.2rem;max-width:28rem}
.mk-facts{list-style:none;padding:0;margin:2rem 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(53,194,201,.2)}
.mk-facts li{padding:1rem .8rem 0 0}
.mk-facts b{display:block;font-family:var(--serif);font-weight:400;font-size:1.2rem;color:#fff}
.mk-facts span{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.vc-free{width:100%;margin:0 auto}
.vc-free .vc-vision{left:5%;top:7%;color:#0A4A33}
.vc-free .vc-craft-tag{right:5%;bottom:7%;color:#8FE3E7}

/* pinned horizontal process */
.mk-process{position:relative;background:#031a13;}
.mk-proc-stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-top:var(--hdr-h)}
.mk-proc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:2rem}
.mk-proc-head h2{font-size:clamp(2.2rem,4vw,3.3rem);line-height:1.06}
.mk-proc-count{font-size:.7rem;letter-spacing:.3em;color:var(--muted)}
.mk-proc-count b{font-family:var(--serif);font-weight:400;font-size:2rem;color:var(--teal);letter-spacing:0}
.mk-track{display:flex;gap:1.6rem;padding:0 max(1.5rem,calc((100vw - 1270px)/2));will-change:transform}
.mk-step{flex:0 0 min(360px,78vw);background:linear-gradient(160deg,#05301F,#021D14);border:1px solid rgba(53,194,201,.2)}
.mk-step figure{margin:0;aspect-ratio:4/3;overflow:hidden}
.mk-step img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.mk-step:hover img{transform:scale(1.05)}
.mk-step-body{padding:1.4rem 1.5rem 1.6rem}
.mk-step-body span{font-size:1.6rem;color:var(--teal)}
.mk-step-body h3{font-size:1.7rem;color:#fff;margin:.2rem 0 .4rem}
.mk-step-body p{font-size:.92rem;margin:0}
.mk-progress{height:2px;background:rgba(53,194,201,.18);margin-top:2rem;overflow:hidden}
.mk-progress i{display:block;height:100%;background:var(--teal);transform-origin:left;transform:scaleX(0)}

/* materials (Piaget savoir-faire cards) */
.mk-materials{padding:clamp(4rem,8vw,7rem) 0;background:linear-gradient(180deg,var(--rb-900),var(--rb-800))}
.mk-mat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}
.mk-mat{position:relative;display:block;overflow:hidden;aspect-ratio:3/4}
.mk-mat img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.mk-mat:hover img{transform:scale(1.06)}
.mk-mat::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,23,64,.9) 0%,rgba(10,23,64,0) 55%)}
.mk-mat div{position:absolute;left:1.4rem;right:1.4rem;bottom:1.4rem;z-index:2}
.mk-mat h3{font-size:1.6rem;color:#fff;line-height:1.1}
.mk-mat p{margin-top:.3rem;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--teal)}

/* services row */
.mk-services{padding:clamp(3rem,6vw,5rem) 0;background:var(--rg-900);border-top:1px solid rgba(53,194,201,.15)}
.mk-svc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.mk-svc{display:flex;flex-direction:column;gap:.4rem;padding:2rem 1.6rem;border-left:1px solid rgba(53,194,201,.15);transition:background .4s}
.mk-svc:first-child{border-left:0}
.mk-svc:hover{background:rgba(53,194,201,.06)}
.mk-svc span{font-family:var(--serif);color:var(--teal)}
.mk-svc h3{font-size:1.5rem;color:#fff}
.mk-svc p{font-size:.9rem;margin:0}
.mk-svc em{margin-top:auto;padding-top:1rem;font-style:normal;font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;color:var(--teal)}

/* contact */
.mk-contact{padding:clamp(5rem,10vw,8rem) 0;text-align:center;background:radial-gradient(ellipse at 50% 100%,rgba(15,94,65,.6),transparent 60%),linear-gradient(160deg,#05301F,#021D14)}
.mk-contact h2{font-size:clamp(2.8rem,6vw,5rem);line-height:1}
.mk-contact p:not(.chapter-tag){margin:1.2rem auto 2.2rem;max-width:32rem}
.mk-contact-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}

@media (max-width:991px){
  .mk-ch{grid-template-columns:1fr;gap:2rem}
  .mk-right .mk-ch-media{order:0}
  .mk-ch-fig{aspect-ratio:4/3.4;max-height:none}
  .mk-ch-roman{top:-1.2rem}
  .mk-mat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mk-svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mk-svc:nth-child(3){border-left:0}
  .mk-svc{border-top:1px solid rgba(53,194,201,.15)}
  .mk-process{height:auto!important}
  .mk-proc-stick{position:relative;height:auto;padding:5rem 0 4rem}
  .mk-track{overflow-x:auto;scroll-snap-type:x mandatory;transform:none!important;padding-bottom:1rem;scrollbar-width:none}
  .mk-track::-webkit-scrollbar{display:none}
  .mk-step{scroll-snap-align:start}
}
@media (max-width:575px){
  .mk-facts{grid-template-columns:1fr;gap:.2rem}
  .mk-mat-grid{gap:.8rem}
  .mk-mat h3{font-size:1.25rem}
  .mk-mat div{left:1rem;right:1rem;bottom:1rem}
  .mk-svc-grid{grid-template-columns:1fr}
  .mk-svc{border-left:0}
  .mk-proc-head{flex-direction:column;align-items:flex-start}
  .mk-contact-actions .btn{width:100%;white-space:normal}
  .mk-ch-quote p{font-size:1.25rem}
}
@media (prefers-reduced-motion:reduce){
  .mk-ch-fig{clip-path:none}
  .mk-ch-fig img{transform:none!important}
}
@media (max-width:767px){.mk-hero-media img{object-position:80% 55%}}

/* ---------- The Making (trimmed): title, workshop gallery ---------- */
.mk-intro{padding:calc(72px + 3.5rem) 0 1.5rem;background:var(--rg-900);text-align:center;}
.mk-intro .crumbs{justify-content:center;}
.mk-intro-title{font-weight:300;font-size:clamp(3rem,8vw,6.5rem);line-height:1;letter-spacing:-.01em}

.mk-gallery{padding:clamp(4rem,5vw,7rem) 0;background:linear-gradient(180deg,var(--rb-900),var(--rb-800))}
.mk-g-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(180px,20vw,280px);gap:1rem}
.mk-shot{position:relative;margin:0;overflow:hidden;background:#05301F}
.mk-g-lg{grid-column:span 2;grid-row:span 2}
.mk-g-tall{grid-row:span 2}
.mk-g-wide{grid-column:span 2}
.mk-shot img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.mk-shot:hover img{transform:scale(1.05)}
.mk-shot figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.2rem 1.2rem 1rem;background:linear-gradient(0deg,rgba(10,23,64,.85),transparent);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--teal-l)}
/* placeholder until the workshop photos arrive */
.mk-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.2rem;text-align:center;
  background:repeating-linear-gradient(135deg,rgba(53,194,201,.04) 0 14px,transparent 14px 28px),linear-gradient(160deg,#0A4A33,#03251A);
  border:1px dashed rgba(53,194,201,.45);outline:1px solid rgba(53,194,201,.12);outline-offset:-10px}
.mk-ph svg{width:34px;height:34px;fill:none;stroke:var(--teal);stroke-width:1.4;stroke-linejoin:round}
.mk-ph b{font-weight:500;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--teal)}
.mk-ph span{font-family:var(--serif);font-style:italic;font-size:1.1rem;line-height:1.3;color:#DDEBE6;max-width:16rem}

@media (max-width:991px){
  .mk-g-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(160px,34vw,260px)}
  .mk-g-lg,.mk-g-wide{grid-column:span 2}
  .mk-g-lg{grid-row:span 2}
}
@media (max-width:480px){
  .mk-g-grid{gap:.6rem}
  .mk-ph span{font-size:.95rem}
}
.mk-ph svg{flex:0 0 auto}
@media (max-width:575px){
  .mk-ph{padding:.8rem;gap:.35rem}
  .mk-ph svg{width:26px;height:26px}
  .mk-ph b{font-size:.54rem;letter-spacing:.2em}
  .mk-ph span{font-size:.88rem;line-height:1.25}
}


.mk-chapters .sec-head.rv.in, .mk-gallery .sec-head.rv.in{
    text-align: center;
    margin-bottom: 2rem;
}

.mk-chapters .sec-head.rv.in h2, .mk-gallery .sec-head.rv.in h2{font-size:clamp(2.2rem, 5vw, 3.3rem); margin-bottom:1.2rem;}
.mk-ch.mk-right.last{padding-bottom:0;}

.mk-proc-head{align-items:center; justify-content:center;}


.video-section {
            width: 100%;
            padding: 50px 15px;
        }

        .video-container {
            width: 96%;
            margin: 0 auto;
        }

        .video-container video {
            display: block;
            width: 100%;
            height: auto;
            border-radius: 8px;
            background: #000;
        }

        /* Mobile */
        @media (max-width: 767px) {
            .video-section {
                padding: 25px 15px;
            }

            .video-container {
                width: 100%;
            }
			
			.interlude{height:358px;}
			.interlude .w{color:#F7EDE0; opacity:1.0!important;}
			.interlude .w.acc{color:#CBAD8D; opacity:1.0!important;}
			
			.video-container video{object-fit:cover; height:400px;}
			.mk-chapters{padding-top:2rem;}
			.mk-ch{padding:1.5rem 0;}
			.chapnumcls{top:-58px!important; font-size:85px; left:initial!important; right:0;}
			.mk-chapters .sec-head.rv.in{margin-bottom:0rem;}
			.mk-gallery, .mk-chapters{padding:2.2rem 0;}
			.mk-proc-stick{padding:2rem 0;}
			.page-hero.igicertisec .ph-media img{width:100%;}
			.ph-in{padding-bottom:50px;}
			.making .grid{padding-top:0;}
			.ft-line br{display:none;}
			
			.dots{position:relative; justify-content:center;}
			.mode span{letter-spacing:0;}
			.interlude cite{font-size:12px;}
			.appt-panel{padding:2rem;}
			
			.pc:hover .pc-qv{transform:none;}
			
        }



/* RIYORA — Her Story, MOBILE ONLY (under 992px).
   All classes start with "rmob-" and the section id is "rmobHer",
   so nothing here touches your desktop code.
   On 992px and wider this section is hidden. */
.rmob-her{display:none}

@media (max-width:991.98px){
  .rmob-her{
    --rmob-green:#05301F; --rmob-green-d:#03251A; --rmob-teal:#35C2C9; --rmob-teal-l:#8FE3E7;
    --rmob-ivory:#F4FAF8; --rmob-text:#CFE0DA; --rmob-muted:#A3BDB5;
    --rmob-serif:'Cormorant Garamond', Georgia, serif; --rmob-sans:'Manrope', system-ui, sans-serif;
    --rmob-ease:cubic-bezier(.22,.8,.2,1);
    --rmob-header:67px;                         /* height of your fixed mobile header */
    display:block;position:relative;
    height:calc(4 * 80vh + 100vh);              /* scroll length: ~80% of a screen per step */
    background:radial-gradient(ellipse at 30% 20%,#0A4A33 0%,var(--rmob-green) 50%,var(--rmob-green-d) 100%);
    color:var(--rmob-ivory);font-family:var(--rmob-sans);font-weight:300;
  }
  @supports (height:100svh){ .rmob-her{height:calc(4 * 80svh + 100svh)} }
  .rmob-her *{box-sizing:border-box}

  .rmob-stick{position:-webkit-sticky;position:sticky;top:var(--rmob-header);
    height:calc(100vh - var(--rmob-header));display:flex;flex-direction:column;overflow:hidden}
  @supports (height:100svh){ .rmob-stick{height:calc(100svh - var(--rmob-header))} }

  /* image (top, full width) */
  .rmob-media{position:relative;flex:0 0 58%;width:100%;overflow:hidden;background:var(--rmob-green-d)}
  .rmob-media:before{content:"";position:absolute;left:0;right:0;bottom:0;height:30%;z-index:2;pointer-events:none;
    background:linear-gradient(to top,var(--rmob-green) 0%,rgba(5,48,31,0) 100%)}
  .rmob-media:after{content:"";position:absolute;inset:12px;border:1px solid rgba(143,227,231,.35);z-index:2;pointer-events:none}
  .rmob-img{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .9s ease}
  .rmob-img img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.14);transition:transform 2.6s var(--rmob-ease)}
  .rmob-img.rmob-on{opacity:1}
  .rmob-img.rmob-on img{transform:scale(1)}
  .rmob-count{position:absolute;left:26px;bottom:18px;z-index:3;font-size:11px;letter-spacing:.3em;color:var(--rmob-ivory);text-shadow:0 1px 8px rgba(0,0,0,.6)}
  .rmob-count b{font-family:var(--rmob-serif);font-weight:400;font-size:21px;color:var(--rmob-teal-l);letter-spacing:.05em}

  /* progress bars */
  .rmob-bars{display:flex;gap:6px;margin:0;padding:8px 22px 2px}
  .rmob-bars button{flex:1;height:20px;padding:0;margin:0;background:none;border:0;cursor:pointer}
  .rmob-bars i{display:block;width:100%;height:2px;background:rgba(53,194,201,.25);position:relative;overflow:hidden}
  .rmob-bars i:after{content:"";position:absolute;inset:0;background:var(--rmob-teal);transform-origin:left;transform:scaleX(var(--rmob-f,0));}

  /* text (below) */
  .rmob-copy{position:relative;flex:1 1 auto;min-height:0}
  .rmob-text{position:absolute;left:22px;right:22px;top:0;bottom:0;opacity:0;transform:translateY(26px);pointer-events:none;
    transition:opacity .7s ease,transform .8s var(--rmob-ease)}
  .rmob-text.rmob-on{opacity:1;transform:none;pointer-events:auto;transition-delay:.12s}
  .rmob-text.rmob-up{transform:translateY(-26px)}
  .rmob-title{font-family:var(--rmob-serif);font-weight:300;color:#fff;margin:4px 0 0;font-size:clamp(24px,6.6vw,36px);line-height:1.12}
  .rmob-title em{color:var(--rmob-teal-l);font-style:italic}
  .rmob-desc{margin:10px 0 0;color:var(--rmob-text);font-size:15px;line-height:1.6}
  .rmob-sig{display:inline-block;margin-top:10px;font-family:var(--rmob-serif);font-style:italic;font-size:32px;line-height:1;color:var(--rmob-teal-l);
    clip-path:inset(0 100% 0 0);transition:clip-path 2.2s .3s var(--rmob-ease)}
  .rmob-text.rmob-on .rmob-sig{clip-path:inset(0)}
  .rmob-role{display:block;margin-top:4px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--rmob-muted)}
}
/* short phones */
@media (max-width:991.98px) and (max-height:700px){
  .rmob-media{flex-basis:50%}
  .rmob-title{font-size:22px}
  .rmob-desc{font-size:13.5px;line-height:1.5}
}
/* phone turned sideways */
@media (max-width:991.98px) and (max-height:520px){
  .rmob-media{flex:0 0 44%}
  .rmob-media:before,.rmob-bars{display:none}
  .rmob-text{left:20px;right:20px;top:16px}
}
@media (prefers-reduced-motion:reduce){
  .rmob-her *{transition:none!important}
}

.mk-ch-roman{display:none;}
.mk-ch-copy{position:relative;}
.chapnumcls{font-size:100px;position:absolute;font-weight:300;opacity:0.25;left:-143px;top:-43px;
color:#2eab7d;}
.mk-ch.mk-right .chapnumcls{left:initial; right:0;}
.pc-meta{display:none;}

.why .row.gx-4 .col-lg-5{margin-top:34px;}


/* ===== Collection · Quick view "👁 View" chip — 767px and below only ===== */
@media (max-width:767px){
  .pc .pc-media .pc-qv{
    display:flex!important;align-items:center;gap:6px;
    left:auto;right:25px;bottom:25px;
    padding:7px 12px 7px 10px;border-radius:30px;
    background:rgba(3,37,26,.82);
    -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
    border:1px solid rgba(53,194,201,.45);
    font-size:0;letter-spacing:0;line-height:1;          /* hides the "Quick view" text */
    transform:none!important;transition:background .25s ease,color .25s ease}
  .pc .pc-media .pc-qv::before{
    content:"";width:14px;height:14px;flex:none;
    background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2335c2c9' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E")}
  .pc .pc-media .pc-qv::after{
    content:"View";font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:#fff}
  .pc .pc-media:active .pc-qv{background:#35c2c9}
  .pc .pc-media:active .pc-qv::after{color:#03231A}
  .pc .pc-media:active{transform:scale(.98)}
  .pc:hover .pc-media,.pc:hover .pc-media img{transform:none}
}