:root{
  --ivory:#F7F4EE; --paper:#FBF9F5; --ink:#1C1B19; --muted:#5C574E;
  --line:#E3DDD1; --navy:#1A1A1A; --charcoal:#1A1A1A; --gold:#A9854F; --gold-soft:#C8A877;
  --card:#FFFFFF; --max:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:var(--ivory);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;letter-spacing:-0.003em;font-feature-settings:"cv05" 1,"ss01" 1}
h1,h2,h3,.serif{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:700;letter-spacing:-0.022em;line-height:1.14;text-wrap:balance}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
a{color:inherit;text-decoration:none}
.accent{color:var(--gold)}
.italic{font-style:italic}

/* NAV */
#site-nav,#site-footer{display:contents}
nav{position:sticky;top:14px;z-index:50;margin-top:14px;padding:0 16px}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:60px;max-width:1080px;margin:0 auto;padding:0 12px 0 20px;background:rgba(251,249,245,0.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:44px;box-shadow:0 12px 34px -16px rgba(26,26,26,.20);transition:box-shadow .3s,background .3s,height .3s}
nav.scrolled .nav-inner{height:54px;background:rgba(251,249,245,0.94);box-shadow:0 16px 40px -16px rgba(26,26,26,.30)}
.brand{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:20px;font-weight:700;letter-spacing:-0.01em;display:inline-flex;align-items:center;gap:11px}
.brand span{color:var(--gold)}
.brand-mark{width:30px;height:30px;display:block;flex:none}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{font-size:14.5px;color:var(--muted);transition:color .2s}
.nav-links a:hover,.nav-links a.active{color:var(--ink)}
.nav-links a.active{font-weight:600}
.btn{display:inline-block;padding:11px 22px;border-radius:40px;font-size:14.5px;font-weight:500;transition:all .2s;cursor:pointer;border:1px solid transparent}
.btn-dark{background:var(--navy);color:#fff}
.btn-dark:hover{background:#0d1828}
.btn-ghost{border:1px solid var(--line);color:var(--ink);background:transparent}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn-nav-cta{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 4px 14px -8px rgba(26,26,26,.25)}
.btn-nav-cta:hover{border-color:var(--gold);color:var(--gold)}
.btn-nav-cta.active{border-color:var(--gold);color:var(--gold)}
.btn-gold{background:var(--gold);color:#fff}
.btn-gold:hover{background:#8f6f3f}
.btn-line{border:1px solid var(--line);color:var(--ink);background:transparent}
.btn-line:hover{border-color:var(--gold);color:var(--gold)}
.menu-btn{display:none;background:none;border:none;font-size:24px;cursor:pointer;color:var(--ink)}

/* PAGE HEADER */
.page-head{padding:72px 0 8px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:13px;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:22px}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--gold-soft)}
.page-head h1{font-size:clamp(34px,5.4vw,58px);margin-bottom:18px}
.page-head .lead{font-size:clamp(17px,2.1vw,21px);color:var(--muted);max-width:640px}

/* HERO (home) */
.hero{padding:88px 0 72px}
.hero h1{font-size:clamp(40px,6.4vw,72px);margin-bottom:24px}
.hero .lead{font-size:clamp(18px,2.3vw,22px);color:var(--muted);max-width:620px;margin-bottom:14px}
.hero .sub{font-size:16px;color:var(--muted);max-width:600px;margin-bottom:36px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:56px;align-items:center}
.portrait{aspect-ratio:4/5;border-radius:14px;background:linear-gradient(160deg,#2a2622,#1A1A1A);position:relative;overflow:hidden;object-fit:cover;box-shadow:0 30px 60px -30px rgba(26,26,26,.45)}
img.portrait{display:block;width:100%;height:auto}
.portrait-quote{position:absolute;inset:0;margin:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;padding:48px 42px;color:#F2ECE0;font-size:clamp(20px,2.1vw,27px);font-weight:600;line-height:1.34;letter-spacing:-0.012em}
.pq-mark{font-family:Georgia,serif;font-size:74px;line-height:0;color:var(--gold-soft);margin-bottom:22px}
.pq-by{margin-top:12px;font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-soft)}
.portrait .ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:rgba(255,255,255,.55);text-align:center;padding:24px}
.portrait .ph .mark{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:64px;color:rgba(255,255,255,.18);line-height:1}
.portrait .ph small{font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-top:12px}

/* TRUST STRIP */
.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.strip-inner{display:flex;flex-wrap:wrap;gap:18px 48px;padding:24px 0;align-items:center;justify-content:center}
.strip-inner span{font-size:13.5px;color:var(--muted)}
.strip-inner b{color:var(--ink);font-weight:600}

/* SECTIONS */
section{padding:72px 0}
.sec-eyebrow{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:16px}
.sec-title{font-size:clamp(28px,4vw,42px);margin-bottom:18px;max-width:760px}
.sec-intro{font-size:17px;color:var(--muted);max-width:680px}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.about-body p{margin-bottom:18px;color:var(--muted);font-size:16.5px}
.about-body p strong{color:var(--ink);font-weight:600}
.facts{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:30px}
.facts h4{font-family:'Inter';font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;font-weight:600}
.fact{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.fact:last-child{border-bottom:none}
.fact .n{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:22px;color:var(--navy);min-width:42px}
.fact .t{font-size:14.5px;color:var(--muted)}
.fact .t b{color:var(--ink);display:block;font-weight:600;font-size:15px}

/* BUILDING CARDS */
.build-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:10px}
.vcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:38px;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.vcard:hover{transform:translateY(-4px);box-shadow:0 24px 48px -28px rgba(21,35,59,.35)}
.vcard .tag{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:14px}
.vcard h3{font-size:27px;margin-bottom:6px}
.vcard .role{font-size:13.5px;color:var(--muted);margin-bottom:18px;font-style:italic}
.vcard p{color:var(--muted);font-size:15.5px;margin-bottom:22px}
.vcard ul{list-style:none;margin-bottom:26px}
.vcard ul li{font-size:14.5px;color:var(--muted);padding:7px 0 7px 22px;position:relative}
.vcard ul li::before{content:"-";position:absolute;left:0;color:var(--gold-soft)}
.vcard .foot{margin-top:auto}
.vcard .pill{display:inline-block;font-size:12px;padding:5px 12px;border-radius:30px;background:var(--ivory);border:1px solid var(--line);color:var(--muted);margin-bottom:18px}

/* TOPICS */
.topics{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}
.topic{padding:11px 20px;border:1px solid var(--line);border-radius:40px;background:var(--card);font-size:14.5px;color:var(--ink);transition:all .2s}
.topic:hover{border-color:var(--gold);color:var(--gold)}

/* FEATURED */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:10px}
.fcard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:28px;transition:border-color .2s}
.fcard:hover{border-color:var(--gold-soft)}
.fcard .no{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:14px;color:var(--gold);letter-spacing:.1em;margin-bottom:14px}
.fcard h4{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:20px;margin-bottom:8px}
.fcard p{font-size:14px;color:var(--muted)}

/* DARK */
.work{background:radial-gradient(90% 80% at 85% 8%,rgba(169,133,79,.09),rgba(169,133,79,0) 55%),linear-gradient(180deg,#FBF9F5,#F1ECE2);color:var(--ink)}
.work .sec-eyebrow{color:var(--gold)}
.work .sec-title{color:var(--ink)}
.work .sec-intro{color:var(--muted)}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:10px}
.wcard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px;transition:transform .2s,box-shadow .2s}
.wcard:hover{transform:translateY(-3px);box-shadow:0 18px 40px -26px rgba(26,26,26,.3)}
.wcard h4{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:19px;color:var(--ink);margin-bottom:8px}
.wcard p{font-size:14px;color:var(--muted)}
.work-cta{margin-top:40px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}

/* SCROLL REVEAL */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.vcard.reveal:nth-child(2),.fcard.reveal:nth-child(2),.wcard.reveal:nth-child(2){transition-delay:.08s}
.fcard.reveal:nth-child(3),.wcard.reveal:nth-child(3){transition-delay:.16s}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* QUIZ CTA */
.quiz{padding:76px 0}
.quiz-eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:16px}
.quiz-card{background:radial-gradient(80% 120% at 100% 0%,rgba(169,133,79,.10),rgba(169,133,79,0) 55%),linear-gradient(155deg,#ffffff,#F6F1E9);border:1px solid var(--line);color:var(--ink);border-radius:22px;padding:52px;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;box-shadow:0 26px 56px -34px rgba(26,26,26,.28)}
.quiz-text h2{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:clamp(28px,3.8vw,40px);line-height:1.12;margin-bottom:16px;color:var(--ink)}
.quiz-text h2 .accent{color:var(--gold)}
.quiz-text p{color:var(--muted);font-size:16.5px;max-width:480px;margin-bottom:26px}
.quiz-card .btn-gold{background:var(--gold);color:#fff}
.quiz-card .btn-gold:hover{background:#8f6f3f}
.quiz-note{font-size:12px;color:var(--muted);margin-top:16px;margin-bottom:0}
.quiz-mock{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 16px 36px -24px rgba(26,26,26,.25)}
.qm-head{display:flex;align-items:center;gap:8px;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:14px}
.qm-dot{width:8px;height:8px;border-radius:50%;background:var(--gold)}
.qm-q{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:19px;color:var(--ink);margin-bottom:16px;line-height:1.3}
.qm-opt{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:13px 15px;font-size:14.5px;color:var(--ink);margin-bottom:10px;background:#fff}
.qm-opt span{font-size:12px;color:var(--gold);font-weight:600;white-space:nowrap}
.qm-opt.is-on{border-color:var(--gold);background:rgba(169,133,79,.10);font-weight:600}
.qm-opt:last-child{margin-bottom:0}

/* QUIZ POPUP MODAL */
.quiz-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(26,26,26,.55);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);opacity:0;visibility:hidden;transition:opacity .3s}
.quiz-modal.show{opacity:1;visibility:visible}
.qmodal-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:42px 36px 30px;max-width:430px;width:100%;text-align:center;box-shadow:0 50px 90px -34px rgba(26,26,26,.7);transform:translateY(16px) scale(.97);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.quiz-modal.show .qmodal-card{transform:none}
.qmodal-card .quiz-eyebrow{color:var(--gold)}
.qmodal-card h3{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:25px;line-height:1.18;margin:6px 0 12px}
.qmodal-card p{color:var(--muted);font-size:15px;margin:0 auto 22px;max-width:330px}
.qmodal-x{position:absolute;top:12px;right:16px;background:none;border:none;font-size:26px;line-height:1;color:var(--muted);cursor:pointer}
.qmodal-x:hover{color:var(--ink)}
.qmodal-later{display:block;margin:16px auto 0;background:none;border:none;color:var(--muted);font-size:12.5px;cursor:pointer;text-decoration:underline}
.qmodal-card .quiz-note{color:var(--muted);opacity:.7;margin-top:14px}
@media(max-width:860px){
  .quiz-card{grid-template-columns:1fr;gap:30px;padding:32px}
  .quiz-text p{max-width:none}
}

/* NOTE FROM ME */
.note{position:relative;overflow:hidden;background:radial-gradient(120% 100% at 50% 0%,rgba(169,133,79,.10),rgba(169,133,79,0) 58%),linear-gradient(180deg,#FBF9F5,#F1ECE2);color:var(--ink);text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.note .wrap{position:relative;z-index:1}
.note::before{content:"\201C";position:absolute;top:-40px;left:50%;transform:translateX(-50%);font-family:Georgia,serif;font-size:clamp(220px,34vw,360px);line-height:1;color:rgba(169,133,79,.08);z-index:0;pointer-events:none}
.note .sec-eyebrow{color:var(--gold)}
.note-quote{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:500;font-style:normal;font-size:clamp(20px,2.6vw,29px);line-height:1.5;max-width:820px;margin:8px auto 26px;color:var(--ink);border:none}
.note-sign{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:18px;color:var(--gold);letter-spacing:.04em}

/* CTA BANNER */
.cta-band{background:var(--paper);border-top:1px solid var(--line)}
.cta-band .wrap{text-align:center;padding:64px 24px}
.cta-band h2{font-size:clamp(26px,3.6vw,38px);margin-bottom:14px}
.cta-band p{color:var(--muted);max-width:540px;margin:0 auto 26px;font-size:16.5px}

/* CONTACT */
.contact{text-align:center;padding:84px 0}
.contact h1,.contact h2{font-size:clamp(30px,4.6vw,48px);margin-bottom:18px}
.contact p{font-size:17px;color:var(--muted);max-width:560px;margin:0 auto 30px}
.socials{display:flex;gap:26px;justify-content:center;margin-top:34px;flex-wrap:wrap}
.socials a{font-size:14px;color:var(--muted);transition:color .2s}
.socials a:hover{color:var(--gold)}

/* FAQ */
.faq-list{max-width:760px;margin:0 auto;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none;cursor:pointer;padding:20px 44px 20px 4px;position:relative;font-weight:600;font-size:16.5px;color:var(--ink)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:24px;font-weight:400;color:var(--gold);transition:transform .25s}
.faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-a{padding:0 4px 22px;color:var(--muted);font-size:15.5px;line-height:1.6;max-width:680px}

/* FOOTER */
footer{border-top:1px solid var(--line);padding:34px 0 26px;background:var(--paper)}
.foot-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.foot-links{display:flex;gap:22px;flex-wrap:wrap}
.foot-links a{font-size:13.5px;color:var(--muted)}
.foot-links a:hover{color:var(--gold)}
.foot-inner p{font-size:13px;color:var(--muted)}
.foot-social{display:flex;gap:8px 22px;flex-wrap:wrap;align-items:center;padding-top:20px;margin-top:6px;border-top:1px solid var(--line)}
.foot-social a{font-size:13.5px;color:var(--muted);transition:color .2s}
.foot-social a:hover{color:var(--gold)}
.foot-social .sep{color:var(--line)}
.reg-line{max-width:var(--max);margin:18px auto 0;padding:0 24px;font-size:12px;color:var(--muted);font-weight:500}
.disclaimer{font-size:11.5px;color:var(--muted);max-width:var(--max);margin:22px auto 0;padding:0 24px;line-height:1.6;opacity:.75}

/* CONTACT FORM */
.form-wrap{max-width:660px;margin:0 auto}
.form-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:38px;box-shadow:0 24px 48px -34px rgba(21,35,59,.3)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{margin-bottom:18px;display:flex;flex-direction:column}
.field label{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:7px}
.field label .req{color:var(--gold)}
.field input,.field select,.field textarea{
  font-family:'Inter',sans-serif;font-size:15px;color:var(--ink);background:var(--paper);
  border:1px solid var(--line);border-radius:10px;padding:12px 14px;transition:border-color .2s,box-shadow .2s;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(169,133,79,.15)}
.field textarea{resize:vertical;min-height:120px}
.field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235C574E' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.form-card button{width:100%;border:none;padding:15px;font-size:15.5px;font-weight:600;margin-top:6px;cursor:pointer}
.form-note{font-size:12.5px;color:var(--muted);text-align:center;margin-top:16px}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}

@media(max-width:860px){
  .form-row{grid-template-columns:1fr;gap:0}
  .form-card{padding:26px}
  .hero-grid,.about-grid{grid-template-columns:1fr;gap:40px}
  .portrait{max-width:360px;margin:0 auto;width:100%}
  .build-grid,.feat-grid,.work-grid{grid-template-columns:1fr}
  .nav-links{display:none}
  .menu-btn{display:block}
  .nav-links.open{display:flex;position:absolute;top:66px;left:16px;right:16px;flex-direction:column;background:rgba(251,249,245,0.98);backdrop-filter:blur(14px);padding:18px 22px;gap:16px;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 40px -18px rgba(26,26,26,.3)}
  section{padding:54px 0}
  .hero{padding:54px 0 44px}
  .page-head{padding:52px 0 8px}
}
