/* novexorion.com — "field notebook" editorial theme
   Palette sampled from logo: plum #3A1D4D, terracotta #D2603A, cream #F7F1E6 */
:root{
  --paper:#F7F1E6;
  --paper-2:#EFE4D2;
  --card:#FFFBF5;
  --ink:#241A2B;
  --muted:#5E5264;
  --plum:#3A1D4D;
  --plum-2:#5A2F72;
  --plum-50:#EEE6F0;
  --terra:#D2603A;
  --terra-d:#B04A27;
  --terra-50:#F8E3D7;
  --line:#DCCDB8;
  --radius:18px;
  --shadow:0 1px 0 rgba(58,29,77,.05),0 14px 30px -18px rgba(58,29,77,.35);
  --serif:"Young Serif",Georgia,"Times New Roman",serif;
  --sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:hidden;max-width:100%}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.7}
img{max-width:100%;height:auto;display:block}
a{color:var(--plum-2);text-underline-offset:3px}
a:hover{color:var(--terra-d)}
h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--plum);line-height:1.18;margin:0 0 .55em;letter-spacing:-.005em}
h2{font-size:clamp(27px,3.2vw,38px)}
h3{font-size:21px}
p{margin:0 0 1.1em}
.shell{width:100%;max-width:1180px;margin:0 auto;padding:0 28px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 26px;border-radius:999px;font-family:var(--sans);font-weight:700;font-size:16px;line-height:1.2;text-decoration:none;text-align:center;border:2px solid transparent;transition:background .2s,color .2s,transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-1px)}
.btn-terra{background:var(--terra-d);color:#fff}
.btn-terra:hover{background:#963d1f;color:#fff}
.btn-plum{background:var(--plum);color:var(--paper)}
.btn-plum:hover{background:var(--plum-2);color:#fff}
.btn-line{background:transparent;color:var(--plum);border-color:var(--plum)}
.btn-line:hover{background:var(--plum);color:var(--paper)}
.btn-cream{background:var(--paper);color:var(--plum)}
.btn-cream:hover{background:#fff;color:var(--terra-d)}
.btn-lg{min-height:56px;padding:15px 38px;font-size:18px}
.btn:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--terra);outline-offset:3px}

/* topbar + header */
.topbar{background:var(--plum);color:var(--paper);text-align:center;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:7px 16px}
.site-header{position:static;background:var(--paper);border-bottom:1px solid var(--line)}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px}
.brand{display:inline-flex;align-items:center;min-height:44px}
.brand img{height:52px;width:auto}
.btn-head{min-height:44px;padding:10px 22px;font-size:15px}

/* HERO: diagonal split */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:stretch;min-height:560px;background:linear-gradient(180deg,var(--paper) 0%,var(--paper-2) 100%);border-bottom:1px solid var(--line)}
.hero-copy{align-self:center;padding:64px 48px 64px max(28px,calc((100vw - 1180px)/2 + 28px))}
.hero h1{font-size:clamp(36px,4.6vw,58px);margin-bottom:.45em}
.hero h1 span{display:block;color:var(--terra-d);font-size:.62em;margin-top:.3em;line-height:1.25}
.hero-sub{font-size:19px;color:var(--muted);max-width:34em}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero-figure{position:relative;margin:0;min-height:100%}
.hero-cut{position:absolute;inset:0;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%);overflow:hidden;background:var(--plum)}
.hero-cut img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.hero-cut::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(58,29,77,.28),rgba(58,29,77,0) 45%)}
.hero-card{position:absolute;left:-6px;bottom:44px;z-index:2;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 22px;min-width:220px;transform:rotate(-1.5deg)}
.hero-card::before{content:"";position:absolute;left:18px;right:18px;top:-1px;height:4px;border-radius:0 0 4px 4px;background:var(--terra)}
.hc-date{display:flex;align-items:center;gap:9px;margin:0 0 10px;font-weight:700;color:var(--plum);font-size:16px}
.hc-list{list-style:none;margin:0;padding:10px 0 0;border-top:1px dashed var(--line);display:grid;gap:6px}
.hc-list li{display:flex;align-items:center;gap:9px;font-size:15px;color:var(--muted)}
.hero-card svg{width:19px;height:19px;color:var(--terra-d);flex:none}

/* ARTICLE */
.story{padding-top:72px}
.story-open{max-width:900px}
.story-open p{break-inside:avoid-column}
.lead{font-size:20px;color:var(--ink)}
.lead::first-letter{float:left;font-family:var(--serif);color:var(--terra-d);font-size:5.1em;line-height:.82;padding:.06em .1em 0 0}
.story h2{column-span:all}
.stage-no{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em;margin-right:.45em;border-radius:12px;background:var(--plum);color:var(--paper);font-size:.72em;vertical-align:.12em}

.band{padding:64px 0;margin:56px 0}
.band-quick{background:var(--plum-50);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band-quick h2{text-align:center;max-width:760px;margin:0 auto 34px}
.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid rgba(58,29,77,.18)}
.quick{padding:28px 28px 8px;border-right:1px solid rgba(58,29,77,.18)}
.quick:last-child{border-right:0}
.quick p{font-size:17px;color:var(--muted)}
.quick-ico{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;border-radius:14px;background:var(--card);color:var(--terra-d);margin-bottom:14px;box-shadow:var(--shadow)}
.quick-ico svg{width:24px;height:24px}

.stage{padding:40px 0}
.stage-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:start}
.stage-flip .stage-text{order:2}
.stage-flip .stage-fig{order:1}
.stage-fig{margin:0;position:sticky;top:24px}
.stage-fig img{border-radius:var(--radius) var(--radius) var(--radius) 4px;box-shadow:var(--shadow);aspect-ratio:4/3;object-fit:cover;width:100%}
.stage-flip .stage-fig img{border-radius:var(--radius) var(--radius) 4px var(--radius)}
figcaption{font-size:15px;color:var(--muted);margin-top:12px;padding-left:14px;border-left:2px solid var(--terra);font-style:italic;line-height:1.5}
.check{display:flex;gap:14px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;margin-top:8px}
.check p{margin:0;font-size:17px}
.check strong{color:var(--plum)}
.check-ico{flex:none;display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:11px;background:var(--terra-50);color:var(--terra-d)}
.check-ico svg{width:20px;height:20px}

.band-two{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.two-col{columns:2;column-gap:52px;column-rule:1px solid var(--line)}
.two-col h2{column-span:all;margin-bottom:28px;max-width:860px}
.two-col p{font-size:17.5px}
.band-fig{margin:0 0 1.4em;break-inside:avoid}
.band-fig img{border-radius:var(--radius);aspect-ratio:3/2;object-fit:cover;width:100%}

.stage-aside{position:relative;overflow:hidden;background:var(--plum);color:#EDE2F0;border-radius:var(--radius) var(--radius) var(--radius) 4px;padding:30px 28px;box-shadow:var(--shadow)}
.stage-aside h3{color:#fff}
.stage-aside p{font-size:16.5px}
.stage-aside ul{margin:0 0 1em;padding:0;list-style:none}
.stage-aside li{position:relative;padding:6px 0 6px 22px;border-bottom:1px dashed rgba(255,255,255,.2);font-size:16.5px}
.stage-aside li::before{content:"";position:absolute;left:0;top:15px;width:9px;height:9px;border-radius:3px;background:var(--terra)}
.aside-mark{position:absolute;right:-26px;top:-20px;width:150px;height:150px;color:rgba(255,255,255,.08)}
.aside-mark svg{width:100%;height:100%}

.weigh{padding:40px 0 88px}
.weigh-inner{max-width:860px;border-top:2px solid var(--plum);padding-top:36px}
.weigh-cta{margin-top:26px}

/* CHECKLIST: staggered offset cards */
.checklist{padding:88px 0 96px;background:var(--paper-2);border-top:1px solid var(--line)}
.sec-head{max-width:680px;margin-bottom:44px}
.sec-head p{color:var(--muted);font-size:18px}
.stagger{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 24px;padding-bottom:40px}
.card{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:28px 26px 24px;box-shadow:var(--shadow)}
.card:nth-child(3n+2){transform:translateY(40px)}
.card:nth-child(3n+3){transform:translateY(-14px)}
.card-wm{position:absolute;right:-30px;bottom:-34px;width:150px;height:150px;color:var(--plum);opacity:.07;pointer-events:none}
.tile{display:inline-flex;width:54px;height:54px;align-items:center;justify-content:center;border-radius:38% 42% 40% 44%/44% 40% 42% 38%;background:linear-gradient(145deg,var(--terra),var(--terra-d));color:#fff;margin-bottom:18px;box-shadow:0 8px 18px -10px rgba(176,74,39,.8)}
.tile svg{width:26px;height:26px}
.card h3{position:relative}
.card p{position:relative;font-size:16.5px;color:var(--muted);margin:0}
.sec-cta{text-align:center;margin:40px 0 0}

/* FAQ: 2-column accordion grid */
.faq{padding:92px 0}
.faq .sec-head{text-align:center;margin-left:auto;margin-right:auto}
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px;align-items:start}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:16px;transition:border-color .2s,box-shadow .2s}
.faq details[open]{border-color:var(--plum-2);box-shadow:var(--shadow)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:16px 20px;font-weight:700;font-size:17px;color:var(--plum)}
.faq summary::-webkit-details-marker{display:none}
.plus{position:relative;flex:none;width:32px;height:32px;border-radius:10px;background:var(--terra-50);transition:transform .3s,background .3s}
.plus::before,.plus::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;margin:-1px 0 0 -7px;background:var(--terra-d);border-radius:2px}
.plus::after{transform:rotate(90deg)}
details[open] .plus{transform:rotate(45deg);background:var(--terra-d)}
details[open] .plus::before,details[open] .plus::after{background:#fff}
.faq-a{padding:0 20px 18px}
.faq-a p{margin:0;font-size:16.5px;color:var(--muted)}

/* STEPS: vertical timeline */
.steps{padding:88px 0 96px;background:var(--card);border-top:1px solid var(--line)}
.steps-inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
.timeline{list-style:none;margin:0;padding:0;position:relative}
.timeline::before{content:"";position:absolute;left:25px;top:10px;bottom:10px;width:2px;background:repeating-linear-gradient(180deg,var(--plum) 0 8px,transparent 8px 14px)}
.timeline li{position:relative;display:flex;gap:24px;padding-bottom:30px}
.timeline li:last-child{padding-bottom:0}
.node{position:relative;z-index:1;flex:none;display:inline-flex;width:52px;height:52px;align-items:center;justify-content:center;border-radius:50%;background:var(--paper);border:2px solid var(--plum);color:var(--plum)}
.timeline li:nth-child(odd) .node{background:var(--plum);color:var(--paper)}
.node svg{width:24px;height:24px}
.t-body{padding-top:8px}
.t-body h3{margin-bottom:.3em}
.t-body p{margin:0;font-size:17px;color:var(--muted)}

/* CTA band */
.cta-band{background:radial-gradient(120% 140% at 85% 0%,rgba(210,96,58,.55) 0%,rgba(210,96,58,0) 52%),linear-gradient(135deg,var(--plum) 0%,var(--plum-2) 100%);color:#F1E8F2;padding:92px 0 76px}
.cta-stack{max-width:820px;text-align:center;display:flex;flex-direction:column;align-items:center}
.cta-band h2{color:#fff;font-size:clamp(28px,3.6vw,42px)}
.cta-sub{font-size:18px;max-width:40em;color:#E6DAEA}
.cta-band .btn{margin:14px 0 34px}
.disclaimer{font-size:14px;line-height:1.65;color:#D9CBE0;max-width:760px;margin:0;padding-top:22px;border-top:1px solid rgba(255,255,255,.2)}
.disclaimer a{color:#fff}

/* FOOTER */
.site-footer{background:var(--paper-2);border-top:1px solid var(--line);color:var(--muted);font-size:16px}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;padding-top:52px;padding-bottom:40px;align-items:start}
.f-brand img{height:52px;width:auto;margin-bottom:16px}
.f-id{margin:0;line-height:1.75}
.f-id strong{color:var(--plum)}
.f-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}
.f-links a{display:flex;align-items:center;min-height:44px;color:var(--plum);text-decoration:none;font-weight:600;border-bottom:1px solid var(--line)}
.f-links a:hover{color:var(--terra-d)}
.f-bottom{border-top:1px solid var(--line);padding:16px 0}
.f-bottom p{margin:0;font-size:14px}

/* SUBPAGES */
.doc-hero{padding:64px 0 44px;background:linear-gradient(180deg,var(--paper) 0%,var(--paper-2) 100%);border-bottom:1px solid var(--line)}
.doc-hero h1{font-size:clamp(34px,4.4vw,52px);margin-bottom:.3em}
.doc-hero p{color:var(--muted);font-size:19px;margin:0;max-width:40em}
.doc{padding:56px 0 80px}
.doc-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:52px;align-items:start}
.read h2{font-size:clamp(23px,2.5vw,29px);margin-top:1.5em;padding-top:.9em;border-top:1px solid var(--line)}
.read h2:first-child{margin-top:0;padding-top:0;border-top:0}
.read ul{padding-left:22px}
.read li{margin-bottom:8px}
.info-card{position:sticky;top:24px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.info-card img{height:46px;width:auto;margin-bottom:18px}
.info-card ul,.contact-list{list-style:none;margin:0;padding:0}
.info-card li,.contact-list li{padding:10px 0;border-top:1px dashed var(--line);font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.info-card strong,.contact-list strong{display:block;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--terra-d)}
.contact-list{margin-bottom:1.4em;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:6px 22px}
.contact-list li:first-child{border-top:0}

/* RESPONSIVE */
@media (max-width:980px){
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding:44px 28px 36px}
  .hero-figure{min-height:0}
  .hero-cut{position:relative;inset:auto;aspect-ratio:3/2;clip-path:polygon(0 8%,100% 0,100% 100%,0 100%)}
  .hero-card{left:28px;bottom:-30px}
  .hero{margin-bottom:30px;border-bottom:0}
  .story-open{columns:1}
  .stage-grid{grid-template-columns:1fr;gap:28px}
  .stage-flip .stage-text,.stage-flip .stage-fig{order:0}
  .stage-fig{position:static}
  .steps-inner{grid-template-columns:1fr;gap:20px}
  .stagger{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:0}
  .card:nth-child(n){transform:none}
  .card:nth-child(even){transform:translateY(26px)}
  .stagger{padding-bottom:26px}
  .doc-grid{grid-template-columns:1fr}
  .info-card{position:static}
}
@media (max-width:720px){
  body{font-size:17px}
  .shell{padding:0 16px}
  .hero-copy{padding:36px 16px 28px}
  .hero-card{position:relative;left:auto;right:auto;bottom:auto;min-width:0;transform:none;margin:-36px 16px 0;display:flex;flex-wrap:wrap;gap:4px 18px;align-items:center;padding:14px 18px}
  .hero-card .hc-date{margin:0}
  .hc-list{border-top:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 16px}
  .hero{margin-bottom:0}
  .hero-actions .btn{width:100%}
  .story{padding-top:64px}
  .quick-grid{grid-template-columns:1fr}
  .quick{border-right:0;border-bottom:1px solid rgba(58,29,77,.18);padding:22px 4px 6px}
  .quick:last-child{border-bottom:0}
  .band{padding:48px 0;margin:40px 0}
  .two-col{columns:1}
  .stagger{grid-template-columns:1fr;gap:18px;padding-bottom:0}
  .card:nth-child(n){transform:none}
  .faq-grid{grid-template-columns:1fr}
  .checklist,.faq,.steps{padding:60px 0}
  .cta-band{padding:64px 0 56px}
  .btn,.btn-lg{width:100%}
  .btn-head{width:auto;padding:10px 16px;font-size:14px}
  .brand img{height:44px}
  .footer-grid{grid-template-columns:1fr;gap:24px;padding-top:40px}
  .weigh{padding-bottom:64px}
}
@media (max-width:400px){
  .brand img{height:38px}
  .btn-head{padding:9px 12px;font-size:13px}
  .f-links{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
