
:root{
  --gold:#c9a227;--gold-lt:#f0dfa0;--gold-dp:#7d6210;
  --wine:#5c0d24;--wine-dp:#2a0410;--rose:#c2415f;
  --ink:#141312;--char:#343231;--char-dp:#232221;--cream:#f7f2ec;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:auto}
html.smooth{scroll-behavior:smooth}
html{overflow-x:hidden;width:100%;scroll-behavior:auto}
body{font-family:Inter,-apple-system,sans-serif;background:var(--ink);color:var(--cream);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;width:100%;max-width:100vw;position:relative}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;line-height:1.1}
a{color:inherit}
.wrap{max-width:1200px;margin:0 auto;padding:0 26px}
.gold{background:linear-gradient(100deg,var(--gold-dp),var(--gold-lt) 30%,#fff8e1 45%,var(--gold-lt) 60%,var(--gold-dp));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 6s linear infinite}
@keyframes shine{to{background-position:200% center}}
.eyebrow{font-size:11px;letter-spacing:6px;text-transform:uppercase;color:var(--gold);font-weight:500}

/* ambient silk background */
.silk{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.silk i{position:absolute;border-radius:50%;filter:blur(100px);opacity:.34}
.silk i:nth-child(1){width:60vw;height:60vw;background:radial-gradient(circle,rgba(92,13,36,.9),transparent 65%);top:-18%;right:-12%;animation:drift1 26s ease-in-out infinite alternate}
.silk i:nth-child(2){width:45vw;height:45vw;background:radial-gradient(circle,rgba(201,162,39,.34),transparent 65%);bottom:-14%;left:-10%;animation:drift2 32s ease-in-out infinite alternate}
.silk i:nth-child(3){width:38vw;height:38vw;background:radial-gradient(circle,rgba(194,65,95,.3),transparent 65%);top:38%;left:52%;animation:drift3 24s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate(-10vw,12vh) scale(1.15)}}
@keyframes drift2{to{transform:translate(12vw,-10vh) scale(1.2)}}
@keyframes drift3{to{transform:translate(-14vw,-8vh) scale(.85)}}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.05;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:3px 3px}
main,nav,footer{position:relative;z-index:2}

/* scroll progress */
.prog{position:fixed;top:0;left:0;height:2px;z-index:100;background:linear-gradient(90deg,var(--gold-dp),var(--gold-lt));width:0%}

/* NAV */
nav{position:sticky;position:-webkit-sticky;top:0;left:0;right:0;z-index:95;padding:12px 0;
  background:linear-gradient(180deg,#1e0a0a 0%,#1e0a0a 72%,rgba(30,10,10,.94) 100%);
  border-bottom:1px solid rgba(201,162,39,.28);
  box-shadow:0 10px 34px rgba(0,0,0,.5);
  transition:padding .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
nav.solid{padding:7px 0;box-shadow:0 12px 40px rgba(0,0,0,.62)}
nav .in{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap}
nav .brand{display:flex;align-items:center;gap:13px;text-decoration:none}
nav .brand .mark{width:60px;height:60px;flex-shrink:0;border:1px solid rgba(201,162,39,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:19px;letter-spacing:1px;color:var(--gold-lt);transition:all .5s}
nav .brand img.logo{height:104px;width:auto;display:none;transition:height .45s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 4px 18px rgba(201,162,39,.35))}
nav.solid .brand .mark{width:46px;height:46px;font-size:17px}
nav.solid .brand img.logo{height:74px}
nav .brand .nm{font-family:'Cormorant Garamond',serif;font-size:23px;letter-spacing:4.5px;text-transform:uppercase;line-height:1.1}
nav .brand .sub{font-size:9px;letter-spacing:4.4px;color:var(--gold);text-transform:uppercase}
nav .links{display:flex;align-items:center;gap:26px;flex-shrink:0}
nav .links a{text-decoration:none;font-size:12.5px;letter-spacing:2px;text-transform:uppercase;color:#e2d8ce;position:relative;padding:4px 0}
nav .links a:not(.cta)::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .4s cubic-bezier(.2,.8,.2,1)}
nav .links a:not(.cta):hover::after{width:100%}
nav .cta{border:1px solid var(--gold);padding:11px 22px;color:var(--gold)!important;transition:all .4s;white-space:nowrap;flex-shrink:0}
nav .cta:hover{background:var(--gold);color:var(--ink)!important;box-shadow:0 0 30px rgba(201,162,39,.4)}
@media(max-width:920px){nav .links a:not(.cta){display:none}
  nav .brand img.logo{height:64px}nav.solid .brand img.logo{height:52px}
  nav .brand .nm{font-size:16px;letter-spacing:2.4px}nav .brand .sub{font-size:8px;letter-spacing:3px}
  nav .cta{padding:10px 15px;font-size:12px;letter-spacing:1.2px}}
@media(max-width:400px){nav .brand .nm,nav .brand .sub{display:none}
  nav .brand img.logo{height:56px}nav .cta{padding:9px 13px;font-size:11.5px}}

/* HERO */
.hero{position:relative;overflow:hidden;min-height:88svh;display:flex;align-items:center;padding:70px 0 80px;
  background:radial-gradient(130% 100% at 74% 44%,#343231 0%,#343231 26%,var(--char-dp) 52%,var(--ink) 84%)}
.hero .grid{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center;width:100%}
@media(max-width:960px){.hero .grid{grid-template-columns:1fr;gap:44px;text-align:center}}
.hero h1{font-size:clamp(2.9rem,8.2vw,6.4rem);letter-spacing:-1px}
.hero h1 .ln{display:block;overflow:hidden}
.hero h1 .ln span{display:block;transform:translateY(105%);animation:rise 1.15s cubic-bezier(.16,1,.3,1) forwards}
.hero h1 .ln:nth-child(2) span{animation-delay:.13s}
.hero h1 .ln:nth-child(3) span{animation-delay:.26s}
@keyframes rise{to{transform:none}}
.fade{opacity:0;animation:fadein 1.1s cubic-bezier(.16,1,.3,1) forwards}
.d1{animation-delay:.5s}.d2{animation-delay:.68s}.d3{animation-delay:.86s}
@keyframes fadein{to{opacity:1}}
.hero .tag{font-size:clamp(15px,1.9vw,18.5px);color:#d8cabf;max-width:530px;margin-top:26px;font-weight:300}
@media(max-width:960px){.hero .tag{margin-left:auto;margin-right:auto}}
.acts{display:flex;gap:14px;margin-top:40px;flex-wrap:wrap}
@media(max-width:960px){.acts{justify-content:center}}
.btn{position:relative;display:inline-flex;align-items:center;gap:10px;padding:17px 38px;text-decoration:none;font-size:12px;letter-spacing:2.6px;text-transform:uppercase;font-weight:600;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.btn.p{background:linear-gradient(100deg,var(--gold-dp),var(--gold) 48%,var(--gold-lt));color:#170e02;box-shadow:0 12px 40px rgba(201,162,39,.28)}
.btn.p::after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);animation:sweep 4.5s ease-in-out infinite}
@keyframes sweep{0%{left:-120%}45%,100%{left:170%}}
.btn.p:hover{transform:translateY(-3px);box-shadow:0 20px 54px rgba(201,162,39,.45)}
.btn.s{border:1px solid rgba(247,242,236,.35);color:var(--cream)}
.btn.s:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-3px)}

/* PORTRAIT: aspect-locked, never stretches */
.frame{position:relative;width:100%;max-width:500px;margin:0 auto;aspect-ratio:4/5;animation:fadein 1.3s cubic-bezier(.16,1,.3,1) .35s forwards;opacity:0}
.frame .inner{position:absolute;inset:0;overflow:hidden;background:#343231;
  box-shadow:0 0 0 1px rgba(201,162,39,.55), 0 0 0 10px #343231, 0 0 0 11px rgba(201,162,39,.28), 0 40px 90px rgba(0,0,0,.6)}
.frame img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block;transition:transform 1.4s cubic-bezier(.2,.8,.2,1);
  -webkit-mask-image:linear-gradient(#000 78%,rgba(0,0,0,.55) 92%,transparent 100%);
          mask-image:linear-gradient(#000 78%,rgba(0,0,0,.55) 92%,transparent 100%)}
.frame:hover img{transform:scale(1.045)}
.frame .ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:rgba(240,223,160,.5);text-align:center;padding:20px}
.frame .ph .mono{font-family:'Cormorant Garamond',serif;font-size:88px;letter-spacing:6px;line-height:1}
.frame .ph small{font-size:10px;letter-spacing:3px;text-transform:uppercase}
/* animated stage behind the portrait */
.frame::before{content:"";position:absolute;inset:-34% -30%;z-index:-1;pointer-events:none;
  background:
    radial-gradient(60% 55% at 42% 30%,rgba(201,162,39,.34),transparent 72%),
    radial-gradient(55% 60% at 70% 68%,rgba(194,65,95,.30),transparent 74%),
    radial-gradient(70% 70% at 30% 78%,rgba(92,13,36,.55),transparent 76%);
  filter:blur(48px);animation:halo 18s ease-in-out infinite alternate}
@keyframes halo{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.16) translate(-3%,3%)}}
@media(prefers-reduced-motion:reduce){.frame::before{animation:none}}

/* MARQUEE */
.marq{max-width:100vw;border-top:1px solid rgba(201,162,39,.18);border-bottom:1px solid rgba(201,162,39,.18);padding:16px 0;overflow:hidden;background:linear-gradient(180deg,var(--char-dp),var(--ink))}
.marq .track{display:flex;gap:44px;white-space:nowrap;animation:slide 18s linear infinite;font-family:'Cormorant Garamond',serif;font-size:19px;letter-spacing:5px;text-transform:uppercase;color:rgba(240,223,160,.62)}
@keyframes slide{to{transform:translateX(-50%)}}
.marq .track span{display:flex;align-items:center;gap:44px}
.marq .track i{color:var(--gold);font-style:normal}

/* STATS */
.stats{padding:88px 0}
.stats .in{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;text-align:center}
@media(max-width:800px){.stats .in{grid-template-columns:repeat(2,1fr);gap:38px}}
.stat .n{font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,5.4vw,3.6rem);color:var(--gold-lt);line-height:1}
.stat .l{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:#bdada2;margin-top:8px}

/* REVEALS */
.rv{opacity:0;transform:translateY(38px);transition:opacity 1.1s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1)}
.rv.on{opacity:1;transform:none}
.rv.s2{transition-delay:.12s}.rv.s3{transition-delay:.24s}

section{padding:118px 0;position:relative}
.sec-h{text-align:center;margin-bottom:62px}
.sec-h h2{font-size:clamp(2.2rem,5.4vw,3.6rem)}
.sec-h .line{width:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:24px auto 0;transition:width 1.4s cubic-bezier(.16,1,.3,1) .2s}
.sec-h.on .line{width:170px}
.sec-h p{color:#c3b5aa;max-width:640px;margin:18px auto 0;font-weight:300}

.about .grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center}
@media(max-width:960px){.about .grid{grid-template-columns:1fr;gap:42px}}
.about .card{background:linear-gradient(150deg,rgba(52,50,49,.5),rgba(20,19,18,.62));border:1px solid rgba(201,162,39,.26);padding:48px;backdrop-filter:blur(6px)}
@media(max-width:600px){.about .card{padding:32px 26px}}
.about p{color:#d3c5bb;margin-bottom:18px;font-weight:300;font-size:16.5px}
.about .sig{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:34px;color:var(--gold-lt);margin-top:10px}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media(max-width:960px){.cards{grid-template-columns:1fr}}
.card2{position:relative;background:linear-gradient(160deg,rgba(52,50,49,.42),rgba(20,19,18,.8));border:1px solid rgba(201,162,39,.2);padding:44px 34px;transition:transform .5s cubic-bezier(.2,.8,.2,1),border-color .5s,box-shadow .5s;overflow:hidden}
.card2::before{content:"";position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:scaleX(0);transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.card2:hover{transform:translateY(-10px);border-color:rgba(201,162,39,.55);box-shadow:0 30px 70px rgba(0,0,0,.55)}
.card2:hover::before{transform:scaleX(1)}
.card2 .num{font-family:'Cormorant Garamond',serif;font-size:15px;letter-spacing:4px;color:var(--gold);margin-bottom:20px}
.card2 h3{font-size:27px;margin-bottom:14px}
.card2 p{color:#bfb2a8;font-size:15px;font-weight:300}

.quote{text-align:center;padding:130px 0;background:linear-gradient(140deg,rgba(42,4,16,.85),rgba(92,13,36,.7) 55%,rgba(42,4,16,.85))}
.quote blockquote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.9rem,4.8vw,3.3rem);max-width:920px;margin:0 auto;color:#fff;line-height:1.26}
.quote .by{font-family:'Cormorant Garamond',serif;font-size:29px;color:var(--gold-lt);margin-top:30px}

.cbox{max-width:1000px;margin:0 auto;background:linear-gradient(155deg,rgba(52,50,49,.46),rgba(20,19,18,.74));border:1px solid rgba(201,162,39,.3);padding:58px;display:grid;grid-template-columns:1fr 1fr;gap:48px;backdrop-filter:blur(6px)}
@media(max-width:880px){.cbox{grid-template-columns:1fr;padding:34px 26px;gap:32px}}
.cline{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid rgba(201,162,39,.16);text-decoration:none;transition:padding-left .4s}
.cline:hover{padding-left:8px}
.cline:last-of-type{border-bottom:0}
.cline .ic{width:44px;height:44px;border:1px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gold);flex-shrink:0;font-size:16px;transition:all .4s}
.cline:hover .ic{background:var(--gold);color:var(--ink);box-shadow:0 0 26px rgba(201,162,39,.45)}
.cline .l{font-size:10px;letter-spacing:2.6px;text-transform:uppercase;color:#a4958b}
.cline .v{font-size:17.5px;color:var(--cream)}
form label{display:block;font-size:10px;letter-spacing:2.4px;text-transform:uppercase;color:#a4958b;margin:18px 0 8px}
form input,form textarea,form select{width:100%;background:rgba(247,242,236,.045);border:1px solid rgba(201,162,39,.28);color:var(--cream);padding:14px 16px;font-size:15px;font-family:Inter,sans-serif;transition:all .35s}
form input:focus,form textarea:focus,form select:focus{outline:none;border-color:var(--gold);background:rgba(247,242,236,.08);box-shadow:0 0 22px rgba(201,162,39,.14)}
form textarea{min-height:96px;resize:vertical}
form button{width:100%;margin-top:26px;border:0;cursor:pointer;justify-content:center}
.formnote{font-size:12px;color:#948880;margin-top:15px;text-align:center}
.thanks{display:none;text-align:center;padding:36px 10px}
.thanks h3{font-size:33px;color:var(--gold-lt);margin-bottom:12px}


/* TOOLS */
.tools{background:linear-gradient(180deg,var(--ink),#191817)}
.tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:34px}
.tab{background:rgba(52,50,49,.5);border:1px solid rgba(201,162,39,.25);color:#d8cabf;padding:12px 24px;font-size:11.5px;letter-spacing:2.2px;text-transform:uppercase;font-weight:600;cursor:pointer;transition:all .35s;font-family:Inter,sans-serif}
.tab.on{background:linear-gradient(100deg,var(--gold-dp),var(--gold) 55%,var(--gold-lt));color:#170e02;border-color:var(--gold)}
.tool{display:none;max-width:940px;margin:0 auto;background:linear-gradient(155deg,rgba(52,50,49,.46),rgba(20,19,18,.78));border:1px solid rgba(201,162,39,.28);padding:44px}
@media(max-width:600px){.tool{padding:28px 22px}}
.tool.on{display:block;animation:fadein .6s ease both}
.tool h3{font-size:29px;margin-bottom:6px}
.tool .sub{color:#b9aca2;font-size:14.5px;margin-bottom:26px;font-weight:300}
.tgrid{display:grid;grid-template-columns:1fr 1fr;gap:34px}
@media(max-width:780px){.tgrid{grid-template-columns:1fr;gap:24px}}
.tool label{display:block;font-size:10px;letter-spacing:2.4px;text-transform:uppercase;color:#a4958b;margin:16px 0 8px}
.tool label span{float:right;color:var(--gold-lt);letter-spacing:0;font-size:13px;text-transform:none;font-weight:700}
.tool input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:22px;background:transparent}
.tool input[type=range]::-webkit-slider-runnable-track{height:3px;background:linear-gradient(90deg,var(--gold) var(--f,50%),rgba(201,162,39,.22) var(--f,50%))}
.tool input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:17px;height:17px;border-radius:50%;background:var(--gold-lt);border:0;margin-top:-7px;box-shadow:0 0 14px rgba(201,162,39,.6);cursor:pointer}
.tool input[type=range]::-moz-range-track{height:3px;background:rgba(201,162,39,.22)}
.tool input[type=range]::-moz-range-progress{height:3px;background:var(--gold)}
.tool input[type=range]::-moz-range-thumb{width:15px;height:15px;border:0;border-radius:50%;background:var(--gold-lt);cursor:pointer}
.tool input[type=text],.tool input[type=email],.tool select{width:100%;background:rgba(247,242,236,.05);border:1px solid rgba(201,162,39,.28);color:var(--cream);padding:13px 15px;font-size:15px;font-family:Inter,sans-serif}
.tool input:focus,.tool select:focus{outline:none;border-color:var(--gold)}
.res{background:linear-gradient(150deg,rgba(30,10,10,.9),rgba(20,19,18,.95));border:1px solid rgba(201,162,39,.4);padding:30px;display:flex;flex-direction:column;justify-content:center}
.res .lab{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}
.res .big{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,5.4vw,3.2rem);color:var(--gold-lt);line-height:1.05;margin:8px 0 14px}
.res table{width:100%;border-collapse:collapse;font-size:13.5px}
.res td{padding:6px 0;color:#bdb0a6}
.res td:last-child{text-align:right;color:var(--cream);font-weight:600}
.res tr.tot td{border-top:1px solid rgba(201,162,39,.3);padding-top:11px;color:var(--gold-lt);font-weight:700}
.tnote{font-size:11.5px;color:#8d8078;margin-top:16px;line-height:1.7}
.tcta{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap}
.tcta .btn{padding:14px 28px;font-size:11px}

footer{background:#0e0d0c;border-top:1px solid rgba(201,162,39,.2);padding:58px 0 44px;text-align:center}
footer .fmark{font-family:'Cormorant Garamond',serif;font-size:27px;letter-spacing:5px;text-transform:uppercase}
footer img.flogo{height:62px;margin-bottom:16px;display:none}
footer .links{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin:22px 0 8px}
footer .links a{font-size:11.5px;letter-spacing:1.6px;text-transform:uppercase;color:#a4958b;text-decoration:none;transition:color .3s}
footer .links a:hover{color:var(--gold)}
footer .fine{font-size:11.5px;color:#7a6f68;line-height:2;margin-top:14px}
.soc{display:flex;gap:12px;justify-content:center;margin:22px 0 6px}
.soc a{width:46px;height:46px;border:1px solid rgba(201,162,39,.45);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gold);text-decoration:none;transition:all .4s cubic-bezier(.2,.8,.2,1)}
.soc a:hover{background:var(--gold);color:#170e02;transform:translateY(-3px);box-shadow:0 10px 26px rgba(201,162,39,.4)}
.soc a svg{width:19px;height:19px;fill:currentColor}
.cline.fb .ic{font-size:15px}
footer .bk{display:inline-flex;align-items:center;gap:9px;margin-top:16px;opacity:.55;font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;color:#9b8d84;text-decoration:none;transition:opacity .3s}
footer .bk:hover{opacity:1}
footer .bk img{height:18px}
.sticky{display:none!important}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv,.frame,.fade,.hero h1 .ln span{opacity:1!important;transform:none!important}}

/* SUBPAGE SHELL */
.phero{padding:70px 0 46px;background:radial-gradient(120% 100% at 70% 40%,#343231,var(--char-dp) 55%,var(--ink) 90%);text-align:center}
.phero h1{font-size:clamp(2.3rem,6vw,4.2rem);margin-top:14px}
.phero p{color:#cbbdb2;max-width:700px;margin:20px auto 0;font-weight:300;font-size:17px}
.crumb{font-size:11px;letter-spacing:2.4px;text-transform:uppercase;color:#9b8d84}
.crumb a{color:var(--gold);text-decoration:none}
.body{padding:66px 0 40px}
.body .col{max-width:820px;margin:0 auto}
.body h2{font-size:clamp(1.7rem,3.6vw,2.5rem);margin:44px 0 16px}
.body h3{font-size:22px;margin:30px 0 10px;color:var(--gold-lt)}
.body p{color:#cec1b7;font-weight:300;font-size:16.5px;margin-bottom:16px}
.body ul{margin:0 0 18px 20px;color:#cec1b7;font-weight:300}
.body li{margin-bottom:9px}
.body .callout{background:linear-gradient(150deg,rgba(52,50,49,.55),rgba(20,19,18,.7));border-left:2px solid var(--gold);padding:24px 26px;margin:26px 0}
.body .callout p:last-child{margin-bottom:0}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
@media(max-width:860px){.related{grid-template-columns:1fr}}
.related a{display:block;background:linear-gradient(160deg,rgba(52,50,49,.42),rgba(20,19,18,.8));border:1px solid rgba(201,162,39,.2);padding:24px;text-decoration:none;transition:all .4s}
.related a:hover{border-color:rgba(201,162,39,.55);transform:translateY(-4px)}
.related .t{font-family:'Cormorant Garamond',serif;font-size:21px;color:var(--cream)}
.related .d{font-size:13px;color:#a99b91;margin-top:6px}
.cta-band{background:linear-gradient(140deg,#1e0a0a,#2a0410 55%,#1e0a0a);text-align:center;padding:80px 20px;margin-top:20px}
.cta-band h2{font-size:clamp(1.9rem,4.4vw,2.9rem)}
.cta-band p{color:#c9bcb2;max-width:560px;margin:14px auto 26px}

/* ===== GOLD LAYER ===== */
body{background:var(--ink)}
.silk i:nth-child(2){opacity:.5}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 32%,rgba(240,223,160,.07) 47%,rgba(255,248,225,.13) 51%,rgba(240,223,160,.07) 55%,transparent 70%);
  background-size:250% 100%;animation:heroshine 9s ease-in-out infinite}
@keyframes heroshine{0%{background-position:190% 0}55%,100%{background-position:-60% 0}}
.eyebrow{position:relative;display:inline-block;padding-bottom:9px}
.eyebrow::after{content:"";position:absolute;left:0;bottom:0;width:46px;height:1px;background:linear-gradient(90deg,var(--gold-lt),transparent)}
.sec-h .eyebrow::after{left:50%;transform:translateX(-50%);width:70px;background:linear-gradient(90deg,transparent,var(--gold-lt),transparent)}
.strip,.stats{position:relative}
.stats::before,.stats::after{content:"";position:absolute;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,rgba(201,162,39,.5),transparent)}
.stats::before{top:0}.stats::after{bottom:0}
.stat .n{text-shadow:0 0 26px rgba(201,162,39,.35)}
.card2 .num{position:relative;display:inline-block;padding-right:34px}
.card2 .num::after{content:"";position:absolute;right:0;top:50%;width:24px;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
.card2::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .6s;
  background:radial-gradient(420px 200px at var(--mx,50%) var(--my,0%),rgba(201,162,39,.13),transparent 62%)}
.card2:hover::after{opacity:1}
.tool{position:relative}
.tool::before{content:"";position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.res{position:relative;overflow:hidden}
.res::after{content:"";position:absolute;top:0;left:-140%;width:55%;height:100%;transform:skewX(-18deg);
  background:linear-gradient(100deg,transparent,rgba(240,223,160,.14),transparent);animation:sweep 6s ease-in-out infinite}
.res .big{text-shadow:0 0 30px rgba(201,162,39,.4)}
.tab{position:relative;overflow:hidden}
.tab.on::after{content:"";position:absolute;top:0;left:-130%;width:60%;height:100%;transform:skewX(-18deg);
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);animation:sweep 3.4s ease-in-out infinite}
nav{border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(201,162,39,.75),transparent) 1}
.cline .ic{box-shadow:0 0 0 0 rgba(201,162,39,.35)}
.cline:hover .ic{box-shadow:0 0 24px rgba(201,162,39,.5)}
.cbox,.about .card,.tool{position:relative}
.cbox::before,.about .card::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(201,162,39,.7),transparent)}
.quote{position:relative}
.quote::before,.quote::after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:190px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.quote::before{top:0}.quote::after{bottom:0}
.fmark{text-shadow:0 0 34px rgba(201,162,39,.3)}
.soc a{box-shadow:0 0 0 0 rgba(201,162,39,.4)}
footer{border-top:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(201,162,39,.6),transparent) 1}
.body h2{position:relative;padding-left:20px}
.body h2::before{content:"";position:absolute;left:0;top:.42em;width:9px;height:9px;transform:rotate(45deg);
  background:linear-gradient(135deg,var(--gold-lt),var(--gold-dp));box-shadow:0 0 14px rgba(201,162,39,.6)}
.body .callout{position:relative;overflow:hidden}
.body .callout::after{content:"";position:absolute;top:0;left:-140%;width:50%;height:100%;transform:skewX(-18deg);
  background:linear-gradient(100deg,transparent,rgba(240,223,160,.1),transparent);animation:sweep 7s ease-in-out infinite}
.phero h1{text-shadow:0 0 40px rgba(201,162,39,.18)}

/* mobile polish */
img{max-width:100%}
@media(max-width:640px){
  .wrap{padding:0 18px}
  section{padding:76px 0}
  .hero{padding:52px 0 62px;min-height:auto}
  .frame{max-width:340px}
  .tool{padding:24px 18px}
  .tgrid{gap:20px}
  .res{padding:22px}
  .cbox{padding:28px 20px}
  .btn{padding:15px 26px;font-size:11.5px;letter-spacing:2px}
  .acts{gap:10px}
  .marq .track{font-size:15px;letter-spacing:3.4px;gap:30px}
  .marq .track span{gap:30px}
}

/* no element may push the page sideways */
section,header,footer,nav,.wrap,.grid,.cards,.tgrid,.related,.cbox{max-width:100%}
.silk{contain:strict}

@media(max-width:820px){
  .silk i{filter:blur(60px);animation:none;opacity:.42}
  .silk i:nth-child(3){display:none}
  .frame::before{filter:blur(30px);animation:none}
  .hero::after{animation:none;background:none}
  .btn.p::after,.res::after,.tab.on::after,.body .callout::after{animation:none;display:none}
  .gold{animation:none;background-position:0 0}
  .grain{display:none}
}

/* ===== PENNY AI CHAT ===== */
#psa-launch{position:fixed;right:18px;bottom:18px;z-index:120;display:flex;align-items:center;gap:9px;
  background:linear-gradient(100deg,var(--gold-dp),var(--gold) 52%,var(--gold-lt));color:#170e02;border:0;
  padding:14px 20px;border-radius:999px;font-family:Inter,sans-serif;font-weight:700;font-size:13.5px;letter-spacing:.4px;
  cursor:pointer;box-shadow:0 12px 34px rgba(201,162,39,.45);transition:transform .3s}
#psa-launch:hover{transform:translateY(-3px)}
#psa-launch .dot{width:8px;height:8px;border-radius:50%;background:#1d6b3a;box-shadow:0 0 0 0 rgba(29,107,58,.6);animation:psapulse 2.4s infinite}
@keyframes psapulse{0%{box-shadow:0 0 0 0 rgba(29,107,58,.55)}70%{box-shadow:0 0 0 9px rgba(29,107,58,0)}100%{box-shadow:0 0 0 0 rgba(29,107,58,0)}}
#psa-panel{position:fixed;right:18px;bottom:18px;z-index:121;width:min(392px,calc(100vw - 26px));height:min(600px,calc(100svh - 90px));
  display:none;flex-direction:column;background:linear-gradient(165deg,#241110,#12080c 55%,#1e0a0a);
  border:1px solid rgba(201,162,39,.42);border-radius:16px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.7)}
#psa-panel.open{display:flex;animation:psaIn .35s cubic-bezier(.2,.8,.2,1)}
@keyframes psaIn{from{opacity:0;transform:translateY(18px)}}
.psa-head{display:flex;align-items:center;gap:11px;padding:14px 16px;background:linear-gradient(100deg,#1e0a0a,#3d0f1e);border-bottom:1px solid rgba(201,162,39,.3)}
.psa-head img{width:42px;height:42px;border-radius:50%;object-fit:cover;object-position:50% 18%;border:1.5px solid var(--gold)}
.psa-head b{font-size:14.5px;color:var(--cream);display:block;font-family:Inter,sans-serif}
.psa-head small{font-size:11px;color:var(--gold-lt);letter-spacing:.6px}
.psa-close{margin-left:auto;background:none;border:0;color:#c9bcb2;font-size:24px;line-height:1;cursor:pointer;padding:2px 6px}
.psa-msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:11px}
.psa-m{max-width:86%;padding:11px 14px;border-radius:13px;font-size:14.5px;line-height:1.55;white-space:pre-wrap;font-family:Inter,sans-serif}
.psa-m.bot{background:rgba(247,242,236,.07);border:1px solid rgba(201,162,39,.2);color:#e6dcd3;align-self:flex-start;border-bottom-left-radius:4px}
.psa-m.me{background:linear-gradient(100deg,var(--gold-dp),var(--gold));color:#170e02;align-self:flex-end;border-bottom-right-radius:4px;font-weight:500}
.psa-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 14px}
.psa-typing i{width:6px;height:6px;border-radius:50%;background:var(--gold-lt);animation:psaBounce 1.3s infinite}
.psa-typing i:nth-child(2){animation-delay:.16s}.psa-typing i:nth-child(3){animation-delay:.32s}
@keyframes psaBounce{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}
.psa-foot{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(201,162,39,.25)}
.psa-foot input{flex:1;background:rgba(247,242,236,.06);border:1px solid rgba(201,162,39,.3);color:var(--cream);padding:12px 14px;border-radius:9px;font-size:15px;font-family:Inter,sans-serif}
.psa-foot input:focus{outline:none;border-color:var(--gold)}
.psa-foot button{border:0;background:linear-gradient(100deg,var(--gold-dp),var(--gold) 55%,var(--gold-lt));color:#170e02;font-weight:700;padding:0 18px;border-radius:9px;cursor:pointer;font-family:Inter,sans-serif;font-size:14px}
.psa-note{font-size:10.5px;color:#8d8078;text-align:center;padding:0 12px 11px}
@media(max-width:760px){
  #psa-launch{left:50%;right:auto;transform:translateX(-50%);bottom:16px;padding:14px 24px;font-size:13.5px}
  #psa-launch:hover{transform:translateX(-50%) translateY(-3px)}
}
@media(max-width:520px){
  #psa-panel{right:8px;left:8px;bottom:8px;width:auto;height:min(76svh,560px)}
  #psa-launch{bottom:14px;padding:13px 22px;font-size:13px}
}
