/* ============ TOKENS ============ */
:root{
  --obsidian:#0B0B0F;--ink:#14141B;--ivory:#F3EEE4;--gold:#C9A961;--gold2:#E8D5A3;--gold3:#A88A3F;--stone:#8A8579;
  --display:'Fraunces',Georgia,'Times New Roman',serif;
  --body:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;
  --pad:clamp(20px,5vw,84px);
}
*{box-sizing:border-box;margin:0;padding:0}
.btn{transform: none !important;}
.stack .card .card-r p{color:#fff !important;}
.stack .card h3{color:#fff !important;}
.eyebrow{font-size:14px !important;}
html{background:var(--obsidian)}
body{background:var(--obsidian);color:var(--ivory);font-family:var(--body);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
html.has-cursor,html.has-cursor a,html.has-cursor button,html.has-cursor [data-cursor]{cursor:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0}
ul{list-style:none}
::selection{background:var(--gold);color:var(--obsidian)}
h1,h2,h3,.display{font-family:var(--display);font-weight:400;line-height:1;letter-spacing:-.02em}
h1 em,h2 em{font-style:italic;color:var(--gold2)}
.wi.em{font-style:italic;background:linear-gradient(110deg,#E8D5A3,#C9A961 55%,#A88A3F);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .04em .16em 0;margin-bottom:-.16em}
.wi{display:inline-block;will-change:transform}
.eyebrow{font-family:var(--mono);font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.chapter{font-family:var(--mono);font-size:.62rem;letter-spacing:.34em;text-transform:uppercase;color:var(--stone);margin-bottom:10px}
.intro{color:var(--stone);font-size:clamp(1rem,1.25vw,1.15rem);max-width:520px}
.hairline{height:1px;background:linear-gradient(90deg,var(--gold),rgba(201,169,97,.15));transform:scaleX(0);transform-origin:left}
.ivory{color:#14141B}.ivory .intro{color:#5d5a52}.ivory .chapter{color:#8A8579}
main{position:relative;z-index:1;background:var(--obsidian)}
section{position:relative}
.dark::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.55));z-index:0}


.stack .card:nth-child(1){
  background-image: url(card/card1.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;

}
.stack .card:nth-child(2){
  background-image: url(card/card2.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;

}
.stack .card:nth-child(3){
  background-image: url(card/card3.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;

}
.stack .card:nth-child(4){
  background-image: url(card/card4.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;

}
.stack .card:nth-child(5){
  background-image: url(card/card5.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;

}

/* ============ BUTTONS ============ */
.btn{position:relative;display:inline-flex;align-items:center;gap:.6em;padding:1em 1.9em;border-radius:999px;font-weight:500;font-size:.92rem;border:1px solid transparent;overflow:hidden;isolation:isolate;transition:color .4s,border-color .4s;white-space:nowrap;will-change:transform}
.btn-primary{background:var(--gold);color:var(--obsidian)}
.btn-primary::before{content:'';position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .5s;background:linear-gradient(110deg,#A88A3F,#C9A961,#E8D5A3,#C9A961,#A88A3F);background-size:200% 100%}
.btn-primary:hover::before{opacity:1;animation:shimmer 1.8s linear infinite}
@keyframes shimmer{to{background-position:200% 0}}
.btn-ghost{border-color:rgba(243,238,228,.28);color:var(--ivory)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold2)}
.btn-sm{padding:.7em 1.3em;font-size:.8rem}
.btn-lg{padding:1.2em 2.5em;font-size:1rem}
.tlink{display:inline-flex;align-items:center;gap:.5em;font-family:var(--mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);position:relative;padding-bottom:6px}
.tlink::after{content:'';position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--gold);transform:scaleX(.3);transform-origin:left;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.tlink:hover::after{transform:scaleX(1)}
.tlink span{transition:transform .4s}.tlink:hover span{transform:translateX(4px)}

/* ============ PRELOADER ============ */
#preloader{position:fixed;inset:0;z-index:200}
.pl-curtain{position:absolute;top:0;bottom:0;width:50.5%;background:var(--obsidian)}
.pl-left{left:0;border-right:1px solid rgba(201,169,97,.14)}.pl-right{right:0}
.pl-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.pl-logo{width:min(64vw,380px);overflow:visible}
.pl-logo text{font-family:var(--display);font-size:118px;fill:transparent;stroke:var(--gold);stroke-width:1.1;stroke-dasharray:900;stroke-dashoffset:900;letter-spacing:-.02em}
.pl-sub{font-family:var(--mono);font-size:.6rem;letter-spacing:.44em;text-transform:uppercase;color:var(--gold);opacity:0;transform:translateY(8px)}
.pl-count{position:absolute;bottom:30px;right:var(--pad);font-family:var(--mono);font-size:.78rem;letter-spacing:.24em;color:var(--stone)}

/* ============ OVERLAYS ============ */
.grain{position:fixed;inset:-50%;width:200%;height:200%;pointer-events:none;z-index:60;opacity:.07;mix-blend-mode:overlay;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-4%)}60%{transform:translate(-4%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
.cursor{position:fixed;top:0;left:0;z-index:300;pointer-events:none;opacity:0;transition:opacity .3s;mix-blend-mode:difference}
.cursor.on{opacity:1}
.cursor-dot{position:fixed;top:-3px;left:-3px;width:6px;height:6px;border-radius:50%;background:var(--gold);transition:opacity .3s}
.cursor-ring{position:fixed;top:-20px;left:-20px;width:40px;height:40px;border:1px solid rgba(255,255,255,.75);border-radius:50%;display:flex;align-items:center;justify-content:center;font:500 .55rem var(--mono);letter-spacing:.2em;color:var(--obsidian);transition:width .35s,height .35s,top .35s,left .35s,background .35s,border-color .35s}
.cursor[data-mode=link] .cursor-ring{width:58px;height:58px;top:-29px;left:-29px;border-color:var(--gold)}
.cursor[data-mode=view] .cursor-ring,.cursor[data-mode=drag] .cursor-ring{width:88px;height:88px;top:-44px;left:-44px;background:var(--gold);border-color:var(--gold)}
.cursor[data-mode=view] .cursor-dot,.cursor[data-mode=drag] .cursor-dot{opacity:0}
.ribbon{position:fixed;top:0;right:26px;height:100vh;width:5px;z-index:70;pointer-events:none;background:rgba(201,169,97,.12)}
.ribbon-fill{position:absolute;top:0;left:0;width:100%;height:0;background:linear-gradient(180deg,var(--gold3),var(--gold));clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 7px),0 100%);box-shadow:0 0 18px rgba(201,169,97,.35)}
.ribbon-label{position:absolute;top:50%;right:12px;transform:translateY(-50%);writing-mode:vertical-rl;font-family:var(--mono);font-size:.58rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);white-space:nowrap}
.wipe{position:fixed;inset:0;z-index:150;background:var(--ivory);visibility:hidden;opacity:0;pointer-events:none;box-shadow:-40px 0 80px rgba(0,0,0,.45)}
.wipe::after{content:'Olympus';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-style:italic;font-size:clamp(2rem,6vw,5rem);color:rgba(20,20,27,.08)}

/* ============ NAV ============ */
.nav{position:fixed;top:0;left:50%;transform:translateX(-50%);width:100%;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px var(--pad);border:1px solid transparent;border-radius:0;
  transition:transform .6s cubic-bezier(.22,1,.36,1),width .6s cubic-bezier(.22,1,.36,1),top .6s cubic-bezier(.22,1,.36,1),padding .6s cubic-bezier(.22,1,.36,1),background .4s,border-radius .6s,border-color .4s}
.nav.scrolled{top:14px;width:min(93vw,1100px);padding:8px 8px 8px 24px;border-radius:999px;background:rgba(20,20,27,.58);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-color:rgba(201,169,97,.18)}
.nav.hidden{transform:translate(-50%,-150%)}
.brand{display:flex;flex-direction:column;line-height:1}
.brand-word{font-family:var(--display);font-size:1.55rem;letter-spacing:-.02em}
.brand-sub{font-family:var(--mono);font-size:.46rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-top:3px}
.nav-links{display:flex;gap:28px}
.nav-links a{font-size:.8rem;font-weight:500;letter-spacing:.02em;color:rgba(243,238,228,.75);position:relative;padding:4px 0}
.nav-links a::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.nav-links a:hover{color:var(--ivory)}.nav-links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-right{display:flex;align-items:center;gap:14px}
.menu-btn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(201,169,97,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;transition:border-color .3s}
.menu-btn:hover{border-color:var(--gold)}
.menu-btn span{display:block;width:16px;height:1px;background:var(--ivory)}
.menu{position:fixed;inset:0;z-index:90;visibility:hidden;pointer-events:none}
.menu.open{visibility:visible;pointer-events:auto}
.menu-curtain{position:absolute;inset:0;background:var(--ink);transform:scaleY(0);transform-origin:top}
.menu-close{position:absolute;top:26px;right:var(--pad);font-family:var(--mono);font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);padding:10px 0;opacity:0}
.menu-inner{position:relative;height:100%;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;padding:0 var(--pad)}
.menu-links a{display:flex;align-items:baseline;gap:22px;font-family:var(--display);font-size:clamp(2.4rem,6.6vw,6rem);line-height:1.08;letter-spacing:-.02em;overflow:hidden;padding:.02em 0;transition:color .3s}
.menu-links a i{font-family:var(--mono);font-style:normal;font-size:.68rem;letter-spacing:.2em;color:var(--gold);opacity:0}
.menu-links a span{display:inline-block}
.menu-links a:hover{color:var(--gold2)}
.menu-meta{opacity:0;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.menu-mail{font-family:var(--display);font-size:1.3rem;color:var(--ivory)}
.menu-book{position:fixed;top:0;left:0;width:112px;height:164px;opacity:0;pointer-events:none;perspective:900px;z-index:2}
.mb{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateY(-30deg) rotateX(6deg)}
.mb-front{position:absolute;inset:0;transform:translateZ(6px);overflow:hidden;box-shadow:0 30px 50px rgba(0,0,0,.5)}
.mb-spine{position:absolute;top:0;left:-6px;width:12px;height:100%;background:#101016;transform:rotateY(-90deg)}
.mb-edge{position:absolute;top:0;right:-6px;width:12px;height:100%;background:repeating-linear-gradient(180deg,#e6dfd0 0 1px,#d4ccbb 1px 2px);transform:rotateY(90deg)}

/* ============ COVERS (placeholders → set COVERS[i].src to swap) ============ */
.cover{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:22px 18px;overflow:hidden}
.cover::before{content:'';position:absolute;inset:9px;border:1px solid rgba(201,169,97,.35);pointer-events:none}
.cover::after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,rgba(255,255,255,.08),transparent 40%,rgba(0,0,0,.25));pointer-events:none}
.cv-t{font-family:var(--display);font-size:1.22rem;line-height:1.15;color:var(--ivory);margin-top:34px;position:relative;z-index:1}
.cv-a{font-family:var(--mono);font-size:.52rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);position:relative;z-index:1}
.cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ============ HERO ============ */
.hero{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;padding:150px var(--pad) 70px;overflow:hidden}
.hero-3d{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0}
.hero-3d canvas{display:block;width:100%;height:100%}
.hero-static{display:none}
.hero-copy{position:relative;z-index:2;grid-column:1;grid-row:1}
.hero .eyebrow,.hero .lede,.hero-actions,.pillar,.scroll-hint{opacity:0;transform:translateY(24px)}
.hero h1{font-size:clamp(3rem,8.6vw,8.6rem);margin:0 0 30px;max-width:14ch}
.hero .lede{font-size:clamp(1rem,1.3vw,1.2rem);color:var(--stone);max-width:560px}
.hero-actions{display:flex;gap:14px;margin-top:40px;flex-wrap:wrap}
.pillars{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:0 44px;margin-top:clamp(48px,8vh,96px);position:relative;z-index:2}
.pillars .hairline{grid-column:1/-1;margin-bottom:36px}
.pillar .num{font-family:var(--mono);color:var(--gold);font-size:.72rem;letter-spacing:.24em}
.pillar h3{font-size:1.55rem;margin:12px 0 8px}
.pillar p{color:var(--stone);font-size:.95rem;max-width:34ch}
.scroll-hint{grid-column:1/-1;display:flex;align-items:center;gap:14px;margin-top:52px;font-family:var(--mono);font-size:.58rem;letter-spacing:.32em;text-transform:uppercase;color:var(--stone);position:relative;z-index:2}
.sh-line{width:52px;height:1px;background:var(--gold);animation:shl 2.4s cubic-bezier(.65,0,.35,1) infinite}
@keyframes shl{0%{transform:scaleX(0);transform-origin:left}45%{transform:scaleX(1);transform-origin:left}55%{transform:scaleX(1);transform-origin:right}100%{transform:scaleX(0);transform-origin:right}}

/* ============ TICKER ============ */
.ticker{position:relative;overflow:hidden;border-top:1px solid rgba(201,169,97,.2);border-bottom:1px solid rgba(201,169,97,.2);padding:24px 0;background:var(--ink)}
.ticker-track{display:flex;align-items:center;white-space:nowrap;will-change:transform;width:max-content}
.ticker-track span{font-family:var(--display);font-style:italic;font-size:clamp(1.4rem,2.6vw,2.4rem);padding:0 .7em;color:var(--ivory)}
.ticker-track i{color:var(--gold);font-style:normal;font-size:1rem}

/* ============ SECTION HEADS ============ */
.sec-head{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end;margin-bottom:clamp(48px,8vh,90px);padding:0 var(--pad)}
.sec-head h2{font-size:clamp(2.4rem,5.6vw,5.6rem);margin-top:6px;max-width:16ch}

/* ============ CHAPTER I — STACK ============ */
.services{padding:clamp(120px,16vh,200px) 0 120px}
.stack{position:relative;padding:0 var(--pad) 10vh}
.card{position:sticky;top:12vh;height:40vh;min-height:400px;margin-bottom:6vh;background:var(--ink);border:1px solid rgba(201,169,97,.16);border-radius:8px;padding:clamp(28px,4vw,60px);display:grid;grid-template-columns:1.1fr .9fr;gap:40px;overflow:hidden;
  transform:perspective(1400px) scale(var(--s,1)) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-origin:center top}
.card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(232,213,163,.16),transparent 42%);opacity:0;transition:opacity .5s;pointer-events:none}
.card:hover::before{opacity:1}
.card::after{content:'';position:absolute;inset:0;background:var(--obsidian);opacity:var(--o,0);pointer-events:none;border-radius:inherit}
.card .ghost{position:absolute;right:-.05em;bottom:-.25em;font-family:var(--display);font-size:clamp(14rem,32vw,30rem);line-height:1;-webkit-text-stroke:1px rgba(201,169,97,.14);color:transparent;pointer-events:none;user-select:none}
.card-l,.card-r{display:flex;flex-direction:column;position:relative;z-index:1}
.cnum{font-family:var(--mono);color:var(--gold);font-size:.78rem;letter-spacing:.24em}
.card h3{font-size:clamp(2.2rem,4.8vw,4.8rem);margin-top:auto}
.card-r{justify-content:flex-end;gap:28px;align-items:flex-start}
.card-r p{color:var(--stone);font-size:clamp(1rem,1.2vw,1.12rem);max-width:44ch}

/* ============ CHAPTER II — BUILT ============ */
.built{padding:clamp(120px,16vh,200px) var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px);align-items:center}
.built h2{font-size:clamp(2.4rem,5vw,5rem);margin-top:6px}
.built .intro{margin:26px 0 34px}
.checklist li{display:flex;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid rgba(243,238,228,.09);font-size:1rem}
.check{width:26px;height:26px;border:1px solid rgba(201,169,97,.4);border-radius:50%;flex:0 0 26px;display:grid;place-items:center}
.check svg{width:14px;height:14px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.check path{stroke-dasharray:1;stroke-dashoffset:1}
.built .tlink{margin-top:34px}
.manuscript{position:relative;height:540px;max-width:460px;margin:0 auto;perspective:1200px}
.sheet{position:absolute;inset:0;background:var(--ivory);border-radius:2px;box-shadow:0 30px 70px rgba(0,0,0,.55)}
.sheet.s1{transform:rotate(-4.5deg) translate(-22px,12px);opacity:.45}
.sheet.s2{transform:rotate(2.5deg) translate(16px,-8px);opacity:.7}
.sheet.s3{padding:52px 44px;color:#2a2a30;font-family:var(--display);font-size:1.02rem;line-height:1.95;overflow:hidden}
.ms-head{font-family:var(--mono);font-size:.58rem;letter-spacing:.32em;text-transform:uppercase;color:#8A8579;margin-bottom:26px}
.ms-line{white-space:nowrap;overflow:hidden;width:0}
.ms-mark{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.ms-mark *{fill:none;stroke:var(--gold3);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.ms-note{position:absolute;right:26px;top:59%;font-family:var(--display);font-style:italic;font-size:.82rem;color:var(--gold3);opacity:0;transform:rotate(-6deg)}

/* ============ CHAPTER III — SHELF ============ */
.work{padding:clamp(120px,16vh,200px) 0 120px;overflow:hidden}
.shelf{position:relative;height:560px;perspective:1700px;perspective-origin:50% 38%;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.ring{position:absolute;left:50%;top:50%;transform-style:preserve-3d;will-change:transform}
.book{position:absolute;width:200px;height:300px;left:-100px;top:-165px;transform-style:preserve-3d}
.bk{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.book:hover .bk{transform:translateY(-28px) translateZ(44px) rotateY(var(--face,0deg))}
.face{position:absolute;background:#1a1a22}
.front{inset:0;transform:translateZ(9px);overflow:hidden;box-shadow:0 34px 60px rgba(0,0,0,.55)}
.back{inset:0;transform:rotateY(180deg) translateZ(9px);background:#15151c}
.spine{top:0;left:-9px;width:18px;height:100%;transform:rotateY(-90deg);background:#101016;display:flex;align-items:center;justify-content:center;overflow:hidden}
.spine span{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--display);font-size:.6rem;color:var(--gold);letter-spacing:.06em;white-space:nowrap;max-height:88%;overflow:hidden}
.edge{top:0;right:-9px;width:18px;height:100%;transform:rotateY(90deg);background:repeating-linear-gradient(180deg,#e6dfd0 0 1px,#d4ccbb 1px 2px)}
.top{left:0;top:-9px;width:100%;height:18px;transform:rotateX(90deg);background:repeating-linear-gradient(90deg,#e6dfd0 0 1px,#d4ccbb 1px 2px)}
.shelf-line{position:absolute;left:8%;right:8%;bottom:68px;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold) 80%,transparent);opacity:.5}
.shelf-line::after{content:'';position:absolute;left:20%;right:20%;top:2px;height:60px;background:radial-gradient(ellipse at top,rgba(201,169,97,.14),transparent 70%)}
.work-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 var(--pad);margin-top:8px}
.hint{font-family:var(--mono);font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;color:var(--stone)}
.pbd{position:fixed;inset:0;background:rgba(11,11,15,.6);z-index:84;opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s;backdrop-filter:blur(4px)}
.pbd.open{opacity:1;visibility:visible}
.panel{position:fixed;top:0;right:0;height:100%;width:min(560px,100%);background:var(--ink);z-index:85;transform:translateX(100%);transition:transform .85s cubic-bezier(.22,1,.36,1);padding:84px 48px 48px;overflow:auto;border-left:1px solid rgba(201,169,97,.2);perspective:1400px}
.panel.open{transform:none}
.panel-close{position:absolute;top:26px;right:32px;font-family:var(--mono);font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.pn-page{transform-style:preserve-3d;transform-origin:left center}
.pn-cover{position:relative;width:200px;height:300px;margin-bottom:34px;box-shadow:0 30px 60px rgba(0,0,0,.5)}
.pn-title{font-size:2.2rem;margin:6px 0 10px}
.pn-author{font-family:var(--mono);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--stone);margin-bottom:26px}
.pn-desc{color:var(--stone);margin-bottom:30px;max-width:44ch}

/* ============ CHAPTER IV — METHOD ============ */
.method{background:var(--obsidian);overflow:hidden}
.method-page{position:absolute;inset:0;background:var(--ivory);clip-path:inset(0 0 0 100%);overflow:hidden}
.method-pin{position:relative;height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;z-index:1}
.method-head{padding:0 var(--pad);margin-bottom:clamp(30px,6vh,64px)}
.method-head h2{font-size:clamp(2.2rem,5vw,5rem);margin-top:6px;max-width:16ch}
.method-track{display:flex;padding-left:var(--pad);position:relative;will-change:transform}
.progress{position:absolute;left:var(--pad);right:0;top:-34px;height:1px;background:rgba(20,20,27,.12)}
.progress-fill{position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left}
.step{flex:0 0 min(74vw,680px);padding-right:clamp(40px,7vw,120px);position:relative}
.roman{font-family:var(--display);font-size:clamp(7rem,17vw,15rem);line-height:.85;-webkit-text-stroke:1px var(--gold);color:transparent;transition:color .6s;letter-spacing:-.04em}
.step.active .roman{color:var(--gold)}
.step h3{font-size:clamp(1.8rem,3.4vw,3rem);margin:18px 0 12px}
.step p{color:#5d5a52;max-width:40ch;font-size:1.05rem}
.method.static .method-pin{height:auto;padding:120px 0 80px}
.method.static .method-track{flex-direction:column;gap:56px;padding:0 var(--pad)}
.method.static .step{flex:none;padding:0}
.method.static .progress{display:none}
.method.static .roman{color:var(--gold)}

/* ============ CHAPTER V — MID CTA ============ */
.mid{padding:clamp(120px,18vh,220px) var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px);align-items:center}
.mid h2{font-size:clamp(2.4rem,5vw,5rem);margin-top:6px}
.mid .intro{margin:26px 0 36px}
.mid-visual{perspective:1800px;display:flex;justify-content:center}
.obook{position:relative;width:250px;height:370px;transform-style:preserve-3d}
.ob-back{position:absolute;inset:0;background:#1a1a22;border-radius:2px 8px 8px 2px;transform:translateZ(-16px);box-shadow:0 50px 90px rgba(0,0,0,.65)}
.pg{position:absolute;top:5px;bottom:5px;left:0;right:8px;background:linear-gradient(90deg,#d9d1c0,#efe8da 10%,#f3eee4);transform-origin:left center;transform-style:preserve-3d;border-radius:0 4px 4px 0;background-image:repeating-linear-gradient(180deg,transparent 0 22px,rgba(20,20,27,.05) 22px 23px),linear-gradient(90deg,#d9d1c0,#efe8da 10%,#f3eee4)}
.pg1{transform:translateZ(-4px)}.pg2{transform:translateZ(-8px)}.pg3{transform:translateZ(-12px)}
.ob-flap{position:absolute;inset:0;transform-origin:left center;transform-style:preserve-3d}
.ob-front,.ob-inner{position:absolute;inset:0;backface-visibility:hidden;border-radius:2px 8px 8px 2px;overflow:hidden}
.ob-inner{background:#efe8da;transform:rotateY(180deg)}

/* ============ CHAPTER VI — FEEDBACK ============ */
.feedback{padding:clamp(120px,16vh,200px) 0 120px;overflow:hidden}
.page-in{position:absolute;inset:0;background:var(--ivory);clip-path:inset(0 100% 0 0);overflow:hidden}
.feedback .sec-head,.fb-wrap{position:relative;z-index:1}
.fb-wrap{overflow:hidden;touch-action:pan-y;padding:10px 0 30px;user-select:none;-webkit-user-select:none}
.fb-track{display:flex;gap:24px;padding:0 var(--pad);will-change:transform;width:max-content}
.fb-card{flex:0 0 min(78vw,520px);background:#fff;border:1px solid rgba(20,20,27,.08);padding:44px;border-radius:8px;box-shadow:0 20px 50px rgba(20,20,27,.06);transform:perspective(1200px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.stars{color:var(--gold);letter-spacing:.24em;font-size:.9rem}
.fb-card blockquote{font-family:var(--display);font-style:italic;font-size:1.3rem;line-height:1.45;margin:22px 0 26px;color:#14141B}
.fb-card cite{font-family:var(--mono);font-style:normal;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:#8A8579}

/* ============ EPILOGUE ============ */
.epilogue{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:var(--obsidian);padding:140px var(--pad)}
.veins{position:absolute;inset:-15%;pointer-events:none;filter:url(#marble);will-change:transform;animation:drift 70s ease-in-out infinite alternate}
.veins-light{background:repeating-linear-gradient(112deg,transparent 0 60px,rgba(243,238,228,.05) 60px 62px,transparent 62px 150px,rgba(201,169,97,.07) 150px 151px)}
.veins-dark{background:repeating-linear-gradient(108deg,transparent 0 70px,rgba(20,20,27,.045) 70px 72px,transparent 72px 170px,rgba(201,169,97,.14) 170px 171px)}
@keyframes drift{to{transform:translate(3%,-2%) scale(1.06)}}
#particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ep-copy{position:relative;z-index:2;max-width:900px;display:flex;flex-direction:column;align-items:center}
.ep-copy h2{font-size:clamp(3rem,8vw,8rem);margin:6px 0 30px}
.ep-copy .intro{margin-bottom:40px;text-align:center}

/* ============ FOOTER ============ */
.footer{position:fixed;bottom:0;left:0;width:100%;z-index:0;background:var(--ink);padding:100px var(--pad) 32px;border-top:1px solid rgba(201,169,97,.14)}
.foot-grid{display:grid;grid-template-columns:1.4fr .7fr .8fr 1.1fr;gap:40px}
.foot-state{color:var(--stone);font-size:.95rem;max-width:40ch;margin-top:20px}
.foot-grid h4{font-family:var(--mono);font-weight:500;font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.foot-grid a:not(.btn),.foot-grid .ph{display:block;color:var(--stone);padding:4px 0;font-size:.95rem;transition:color .3s}
.foot-grid a:not(.btn):hover{color:var(--ivory)}
.foot-grid .btn{margin-top:20px}
.wordmark{position:relative;display:block;text-align:center;font-family:var(--display);font-size:clamp(4.6rem,19vw,21rem);line-height:.82;letter-spacing:-.045em;margin-top:70px;user-select:none}
.wordmark span{display:block}
.wm-o{-webkit-text-stroke:1px rgba(201,169,97,.55);color:transparent}
.wm-f{position:absolute;inset:0;color:var(--gold);clip-path:inset(100% 0 0 0);transition:clip-path 1.1s cubic-bezier(.22,1,.36,1)}
.wordmark:hover .wm-f{clip-path:inset(0 0 0 0)}
.legal{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:40px;padding-top:22px;border-top:1px solid rgba(243,238,228,.08);font-family:var(--mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--stone)}
.legal a:hover{color:var(--gold)}

/* ============ REDUCED MOTION ============ */
.rm .grain,.rm .cursor,.rm .hero-3d,.rm .scroll-hint .sh-line{display:none}
.rm .hero-static{display:grid;grid-column:2;grid-row:1;grid-template-columns:repeat(3,1fr);gap:14px;align-self:center;position:relative;z-index:2}
.rm .hero-static .cover{position:relative;aspect-ratio:2/3}
.rm .hairline{transform:none}
.rm .check path{stroke-dashoffset:0}
.rm .ms-line{width:100%}.rm .ms-mark *{stroke-dashoffset:0}.rm .ms-note{opacity:1}
.rm .method-page,.rm .page-in{clip-path:none}
.rm .veins{animation:none}
.rm .btn-primary:hover::before{animation:none}

/* ============ RESPONSIVE ============ */
@media (max-width:1100px){.foot-grid{grid-template-columns:1fr 1fr}.menu-inner{grid-template-columns:1fr}.menu-meta{display:none}}
@media (max-width:900px){
  .nav-links,.nav .btn{display:none}
  .ribbon{display:none}
  .hero{grid-template-columns:1fr;padding-top:130px}
  .hero-3d{opacity:0}
  .pillars{grid-template-columns:1fr;gap:28px}
  .sec-head{grid-template-columns:1fr;gap:20px}
  .card{grid-template-columns:1fr;height:auto;min-height:62vh;gap:28px}
  .card .ghost{font-size:12rem}
  .built,.mid{grid-template-columns:1fr}
  .manuscript{height:460px}
  .shelf{height:480px}
  .work-foot{flex-direction:column;align-items:flex-start}
  .foot-grid{grid-template-columns:1fr}
  .rm .hero-static{grid-column:1;grid-row:2;margin-top:40px}
}

/* ============ WHITE / COPPER THEME OVERRIDE ============
   Bright palette matched to the supplied Olympus logo. Layout/content unchanged. */
:root{
  --obsidian:#FFFFFF;
  --ink:#FAF7F4;
  --ivory:#211D1A;
  --gold:#C86131;
  --gold2:#E48759;
  --gold3:#A94722;
  --stone:#706A65;
}
html,body,main{background:#fff;color:var(--ivory)}
body{background:linear-gradient(180deg,#fff 0%,#fffaf7 52%,#fff 100%)}
::selection{background:var(--gold);color:#fff}
h1 em,h2 em{color:var(--gold2)}
.wi.em{background:linear-gradient(110deg,#F0A07A,#D56B39 55%,#A94722);-webkit-background-clip:text;background-clip:text;color:transparent}
.dark::after{background:radial-gradient(ellipse at center,transparent 58%,rgba(193,93,46,.055));z-index:0}

.btn-primary{background:var(--gold);color:#fff;box-shadow:0 10px 28px rgba(200,97,49,.16)}
.btn-primary::before{background:linear-gradient(110deg,#A94722,#C86131,#EEA17C,#C86131,#A94722)}
.btn-ghost{border-color:rgba(33,29,26,.20);color:var(--ivory);background:rgba(255,255,255,.72)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold3)}
.tlink{color:var(--gold3)}
.tlink::after{background:var(--gold)}

#preloader{background:#fff}
.pl-curtain{background:#fff}
.pl-left{border-right-color:rgba(200,97,49,.15)}
.pl-logo text{stroke:var(--gold)}
.pl-sub{color:var(--gold3)}
.pl-count{color:var(--stone)}
.grain{opacity:.025;mix-blend-mode:multiply}
.cursor-dot{background:var(--gold)}
.cursor-ring{border-color:rgba(33,29,26,.56)}
.ribbon{background:rgba(200,97,49,.10)}
.ribbon-fill{background:linear-gradient(180deg,var(--gold2),var(--gold3));box-shadow:0 0 18px rgba(200,97,49,.22)}
.ribbon-label{color:var(--gold3)}
.wipe{background:#fffaf7;box-shadow:-40px 0 80px rgba(33,29,26,.12)}
.wipe::after{color:rgba(33,29,26,.055)}

.nav{color:var(--ivory)}
.nav.scrolled{background:rgba(255,255,255,.88);border-color:rgba(200,97,49,.18);box-shadow:0 12px 38px rgba(42,31,24,.08)}
.brand-word{color:#211D1A}
.brand-sub{color:var(--gold3)}
.nav-links a{color:rgba(33,29,26,.72)}
.nav-links a:hover{color:#211D1A}
.menu-btn{border-color:rgba(200,97,49,.32)}
.menu-btn span{background:#211D1A}
.menu-curtain{background:#fffaf7}
.menu-links a{color:#211D1A}
.menu-links a:hover{color:var(--gold3)}
.menu-mail{color:#211D1A}

.cover::before{border-color:rgba(200,97,49,.28)}
.cover::after{background:linear-gradient(160deg,rgba(255,255,255,.12),transparent 42%,rgba(33,29,26,.10))}
.hero .lede{color:var(--stone)}
.pillar p{color:var(--stone)}
.ticker{background:#fff8f3;border-color:rgba(200,97,49,.18)}
.ticker-track span{color:#211D1A}
.ticker-track i{color:var(--gold)}

.services,.work,.mid{background:#fff}
.built{background:#fffaf7}
.card{background:#fffaf7;border-color:rgba(200,97,49,.18);box-shadow:0 26px 65px rgba(44,31,23,.07)}
.card::before{background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(232,135,89,.16),transparent 44%)}
.card::after{background:#fff}
.card .ghost{-webkit-text-stroke:1px rgba(200,97,49,.15)}
.card-r p{color:var(--stone)}
.checklist li{border-bottom-color:rgba(33,29,26,.085)}
.check{border-color:rgba(200,97,49,.36)}
.sheet{background:#fffdf9;box-shadow:0 30px 70px rgba(42,31,24,.12)}
.sheet.s3{color:#2a2522}
.ms-head{color:#8b827b}

.shelf-line{background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold) 80%,transparent);opacity:.38}
.shelf-line::after{background:radial-gradient(ellipse at top,rgba(200,97,49,.12),transparent 70%)}
.pbd{background:rgba(33,29,26,.22);backdrop-filter:blur(4px)}
.panel{background:#fff;border-left-color:rgba(200,97,49,.18);box-shadow:-24px 0 70px rgba(42,31,24,.08)}
.pn-author,.pn-desc{color:var(--stone)}

.method{background:#fff}
.method-page{background:#fffaf7}
.progress{background:rgba(33,29,26,.10)}
.progress-fill{background:var(--gold)}
.roman{-webkit-text-stroke-color:var(--gold)}
.step.active .roman{color:var(--gold)}
.step p{color:#69625d}

.ob-back{background:#d8ccc3;box-shadow:0 50px 90px rgba(42,31,24,.13)}
.feedback{background:#fff}
.page-in{background:#fffaf7}
.fb-card{background:#fff;border-color:rgba(33,29,26,.08);box-shadow:0 20px 50px rgba(42,31,24,.06)}
.stars{color:var(--gold)}
.fb-card blockquote{color:#211D1A}
.fb-card cite{color:#7c746e}

.epilogue{background:#fff}
.veins-light{background:repeating-linear-gradient(112deg,transparent 0 60px,rgba(33,29,26,.025) 60px 62px,transparent 62px 150px,rgba(200,97,49,.08) 150px 151px)}
.veins-dark{background:repeating-linear-gradient(108deg,transparent 0 70px,rgba(33,29,26,.035) 70px 72px,transparent 72px 170px,rgba(200,97,49,.10) 170px 171px)}

.footer{background:#fffaf7;border-top-color:rgba(200,97,49,.16)}
.foot-grid a:not(.btn):hover{color:#211D1A}
.wordmark .wm-o{-webkit-text-stroke-color:rgba(200,97,49,.52)}
.wordmark .wm-f{color:var(--gold)}
.legal{border-top-color:rgba(33,29,26,.08)}
.legal a:hover{color:var(--gold3)}


/* ============ IMAGE-SAFE FALLBACK ============
   Keeps logo and supplied book covers visible even if animation CDN scripts fail. */
.brand-logo{display:block;width:170px;height:52px;object-fit:contain;object-position:left center}
.footer .brand-logo{width:190px;height:64px}
.no-fx #preloader,.no-fx .hero-3d,.no-fx .cursor,.no-fx .ribbon{display:none!important}
.no-fx body{overflow:auto!important}
.no-fx .hero .eyebrow,.no-fx .hero .lede,.no-fx .hero-actions,.no-fx .pillar,.no-fx .scroll-hint{opacity:1!important;transform:none!important}
.no-fx .hairline{transform:none!important}
.no-fx .hero{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr)}
.no-fx .hero-static{display:grid!important;grid-column:2;grid-row:1;grid-template-columns:repeat(3,1fr);gap:14px;align-self:center;position:relative;z-index:2}
.no-fx .hero-static .cover{position:relative;aspect-ratio:2/3;padding:0;border-radius:4px;box-shadow:0 20px 45px rgba(42,31,24,.14)}
.no-fx .hero-static .cover::before,.no-fx .hero-static .cover::after{display:none}
.no-fx .shelf{height:auto!important;perspective:none!important;padding:0 var(--pad) 36px}
.no-fx .shelf .ring{position:relative!important;left:auto!important;top:auto!important;transform:none!important;display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:26px;width:100%}
.no-fx .shelf-line{display:none}
.no-fx .static-book{position:relative;min-width:0}
.no-fx .static-book img{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:4px;box-shadow:0 18px 38px rgba(42,31,24,.13);background:#f3eee9}
.no-fx .static-book span{display:block;margin-top:10px;font-size:.78rem;line-height:1.35;color:#514a45}
.no-fx .manuscript,.no-fx .obook{transform:none!important}
.no-fx [data-split] .wi{transform:none!important}
@media(max-width:900px){
  .brand-logo{width:145px;height:46px}
  .no-fx .hero{grid-template-columns:1fr}
  .no-fx .hero-static{grid-column:1;grid-row:2;margin-top:38px}
  .no-fx .shelf .ring{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
}


/* ============ RELIABLE BOOK VISUALS — V2 ============ */
/* Hero covers are real HTML images, always visible locally and online. */
.hero-3d{display:none!important}
.hero-static{display:grid!important;grid-column:2;grid-row:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-self:center;justify-self:end;width:min(42vw,570px);position:relative;z-index:3;padding:24px 10px}
.hero-static .cover{position:relative!important;inset:auto!important;aspect-ratio:2/3;padding:0!important;border-radius:5px;overflow:hidden;background:#f3eee9;box-shadow:0 24px 54px rgba(42,31,24,.18);transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s}
.hero-static .cover::before,.hero-static .cover::after{display:none!important}
.hero-static .cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-static .cover:nth-child(1){transform:rotate(-5deg) translateY(20px)}
.hero-static .cover:nth-child(2){transform:translateY(-18px);z-index:2}
.hero-static .cover:nth-child(3){transform:rotate(5deg) translateY(20px)}
.hero-static .cover:hover{transform:translateY(-26px) scale(1.025);box-shadow:0 32px 70px rgba(42,31,24,.22);z-index:5}

/* Chapter II: retain the manuscript sheets and add a finished cover in front. */
.manuscript-book{position:absolute;width:346px;aspect-ratio:2/3;right:-150px;bottom:20px;z-index:8;border-radius:4px;overflow:hidden;background:#fff;box-shadow:0 30px 66px rgba(42,31,24,.25);transform:rotate(4deg) translateZ(50px);border:1px solid rgba(33,29,26,.08)}
.manuscript-book::after{content:'';position:absolute;inset:0;box-shadow:inset 10px 0 20px rgba(0,0,0,.10);pointer-events:none}
.manuscript-book img{display:block;width:100%;height:100%;object-fit:cover}

/* Chapter V: visible editorial copy on the inside cover/page. */
.ob-inner{background:#f6f0e8!important;color:#27211d;padding:30px 27px 26px;display:flex;align-items:flex-start;justify-content:flex-start;border-left:1px solid rgba(33,29,26,.10)}
.inner-page-copy{position:relative;width:100%;height:100%;padding:8px 2px 28px;display:flex;flex-direction:column;align-items:flex-start;text-align:left}
.inner-kicker{font-family:var(--mono);font-size:.46rem;line-height:1.4;letter-spacing:.24em;color:var(--gold3);margin-bottom:24px}
.inner-page-copy h4{font-family:var(--display);font-weight:400;font-size:1.35rem;line-height:1.08;letter-spacing:-.02em;color:#211D1A;margin:0 0 20px}
.inner-page-copy p{font-family:var(--body);font-size:.68rem;line-height:1.7;color:#68605a;margin:0 0 16px}
.inner-page-copy .inner-sign{font-family:var(--display);font-style:italic;font-size:.88rem;line-height:1.3;color:var(--gold3);margin-top:auto;margin-bottom:0}
.inner-page-no{position:absolute;right:0;bottom:0;font-family:var(--mono);font-size:.5rem;letter-spacing:.15em;color:#9a9088}

@media(max-width:900px){
  .hero-static{grid-column:1;grid-row:2;width:min(92vw,560px);justify-self:center;margin-top:32px;padding:18px 8px}
  .manuscript-book{width:205px;right:0;bottom:24px}
}
@media(max-width:560px){
  .hero-static{gap:9px}
  .hero-static .cover:nth-child(1){transform:rotate(-3deg) translateY(12px)}
  .hero-static .cover:nth-child(2){transform:translateY(-10px)}
  .hero-static .cover:nth-child(3){transform:rotate(3deg) translateY(12px)}
  .manuscript-book{width:205px;right:-77px;bottom:32px}
}