/* ===========================================================
   DIAMOND CREATIVE COLLECTIVE — Shared Stylesheet
   Fonts: Apple Garamond (display) / DM Sans (body) / DM Mono (labels)
   =========================================================== */

/* ---- Apple Garamond — self-hosted ---- */
@font-face{
  font-family:'Apple Garamond';
  src:url('fonts/AppleGaramond.ttf') format('truetype');
  font-weight:400; font-style:normal;
}
@font-face{
  font-family:'Apple Garamond';
  src:url('fonts/AppleGaramond-Light.ttf') format('truetype');
  font-weight:300; font-style:normal;
}
@font-face{
  font-family:'Apple Garamond';
  src:url('fonts/AppleGaramond-Italic.ttf') format('truetype');
  font-weight:400; font-style:italic;
}
@font-face{
  font-family:'Apple Garamond';
  src:url('fonts/AppleGaramond-LightItalic.ttf') format('truetype');
  font-weight:300; font-style:italic;
}
@font-face{
  font-family:'Apple Garamond';
  src:url('fonts/AppleGaramond-Bold.ttf') format('truetype');
  font-weight:700; font-style:normal;
}
@font-face{
  font-family:'Apple Garamond';
  src:url('fonts/AppleGaramond-BoldItalic.ttf') format('truetype');
  font-weight:700; font-style:italic;
}

/* ---- DM Mono — self-hosted ---- */
@font-face{
  font-family:'DM Mono';
  src:url('fonts/DMMono-Regular.ttf') format('truetype');
  font-weight:400; font-style:normal;
}
@font-face{
  font-family:'DM Mono';
  src:url('fonts/DMMono-Light.ttf') format('truetype');
  font-weight:300; font-style:normal;
}
@font-face{
  font-family:'DM Mono';
  src:url('fonts/DMMono-Medium.ttf') format('truetype');
  font-weight:500; font-style:normal;
}
@font-face{
  font-family:'DM Mono';
  src:url('fonts/DMMono-Italic.ttf') format('truetype');
  font-weight:400; font-style:italic;
}
@font-face{
  font-family:'DM Mono';
  src:url('fonts/DMMono-LightItalic.ttf') format('truetype');
  font-weight:300; font-style:italic;
}
@font-face{
  font-family:'DM Mono';
  src:url('fonts/DMMono-MediumItalic.ttf') format('truetype');
  font-weight:500; font-style:italic;
}

:root{
  --onyx:#0D0D0D;
  --ivory:#FAF6EF;
  --platinum:#E9E6DE;
  --champagne:#C7A968;
  --champagne-dark:#A8895A;
  --silver:#B9B6AC;
  --white:#FFFFFF;
  --max:1180px;
  --serif:'Apple Garamond',Garamond,'Times New Roman',serif;
  --sans:'DM Sans',sans-serif;
  --mono:'DM Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--sans);
  background:var(--ivory);
  color:var(--onyx);
  line-height:1.6;
  overflow-x:hidden;
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.01ms !important; transition-duration:.01ms !important;}
}
img,svg{display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px;}
.eyebrow{
  font-family:var(--mono);
  font-size:11px;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--champagne-dark);
  display:flex;align-items:center;gap:10px;justify-content:center;
}
.eyebrow.left{justify-content:flex-start;}
.eyebrow .star{color:var(--champagne);font-size:10px;}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:.01em;}
.lede{font-style:italic;color:#5b5648;font-size:18px;}

/* ---------- dot rule divider ---------- */
.dot-rule{display:flex;align-items:center;gap:10px;width:100%;max-width:280px;margin:28px auto;}
.dot-rule::before,.dot-rule::after{content:'';flex:1;height:1px;background:var(--silver);}
.dot-rule .dots{display:flex;gap:6px;}
.dot-rule .dot{width:4px;height:4px;border-radius:50%;background:var(--champagne);}

/* ---------- announcement bar ---------- */
#announce{
  background:var(--onyx);color:var(--ivory);
  text-align:center;font-family:var(--mono);font-size:12px;letter-spacing:.08em;
  padding:11px 44px;position:relative;font-weight:500;
}
#announce b{color:var(--champagne);font-weight:600;}
#announce .close-bar{
  position:absolute;right:14px;top:50%;transform:translateY(-50%);
  color:var(--silver);font-size:16px;line-height:1;padding:4px;
}
#announce .close-bar:hover{color:var(--ivory);}
#announce.hidden{display:none;}

/* ---------- nav ---------- */
header{
  position:sticky;top:0;z-index:60;background:rgba(250,246,239,.94);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--platinum);
}
nav{display:flex;align-items:center;justify-content:space-between;padding:14px 32px;max-width:var(--max);margin:0 auto;}
.brand{display:flex;align-items:center;gap:12px;}
.brand-name{font-family:var(--serif);font-size:19px;letter-spacing:.04em;}
.brand-name span{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.18em;color:var(--champagne-dark);font-weight:500;}
.nav-links{display:flex;gap:30px;font-size:13px;font-weight:500;letter-spacing:.02em;}
.nav-links a{position:relative;padding:4px 0;}
.nav-links a.current{color:var(--champagne-dark);}
.nav-links a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--champagne-dark);transition:width .25s;}
.nav-links a:hover::after,.nav-links a.current::after{width:100%;}
.nav-right{display:flex;align-items:center;gap:18px;}
.menu-btn{display:none;font-size:22px;}
.nav-links.mobile-open{
  display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--ivory);
  border-bottom:1px solid var(--platinum);padding:20px 32px;gap:18px;
}

/* division toggle pill */
.toggle-pill{
  display:flex;background:var(--platinum);border-radius:999px;padding:3px;position:relative;
  font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.04em;
}
.toggle-pill button{
  padding:8px 16px;border-radius:999px;position:relative;z-index:2;color:#6b6557;transition:color .3s;
}
.toggle-pill button.active{color:var(--ivory);}
.toggle-slider{
  position:absolute;top:3px;left:3px;height:calc(100% - 6px);width:calc(50% - 3px);
  background:var(--onyx);border-radius:999px;transition:transform .35s cubic-bezier(.65,0,.35,1);z-index:1;
}
.toggle-pill[data-active="dispatch"] .toggle-slider{transform:translateX(100%);}

.btn{
  display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:2px;
  font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  transition:all .25s;
}
.btn-primary{background:var(--onyx);color:var(--ivory);}
.btn-primary:hover{background:var(--champagne-dark);}
.btn-ghost{border:1px solid var(--onyx);color:var(--onyx);}
.btn-ghost:hover{background:var(--onyx);color:var(--ivory);}
.btn-sm{padding:10px 18px;font-size:10.5px;}

/* ---------- page hero (sub-pages) ---------- */
.page-hero{padding:70px 0 50px;text-align:center;}
.page-hero h1{font-size:46px;margin:16px 0 14px;}
.page-hero p{max-width:560px;margin:0 auto;color:#4a4536;font-size:16px;}

/* ---------- home hero ---------- */
.hero{padding:90px 0 70px;text-align:center;position:relative;}
.seal{width:108px;margin:0 auto 26px;}
.hero h1{font-size:54px;line-height:1.12;max-width:780px;margin:18px auto 22px;}
.hero h1 i{color:var(--champagne-dark);}
.hero p.sub{max-width:560px;margin:0 auto 36px;color:#4a4536;font-size:16.5px;}
.hero-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:18px;}
.hero-note{font-family:var(--mono);font-size:11.5px;color:#8a8472;letter-spacing:.03em;}

/* trust strip */
.trust{padding:30px 0;border-top:1px solid var(--platinum);border-bottom:1px solid var(--platinum);}
.trust .wrap{display:flex;justify-content:space-around;flex-wrap:wrap;gap:24px;text-align:center;}
.trust-item .num{font-family:var(--serif);font-size:30px;color:var(--champagne-dark);}
.trust-item .label{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#6b6557;margin-top:4px;}

/* ---------- section shell ---------- */
section{padding:90px 0;}
.section-head{text-align:center;max-width:640px;margin:0 auto 56px;}
.section-head h2{font-size:38px;margin-top:14px;}

.fade-up{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.fade-up.in{opacity:1;transform:translateY(0);}

/* division-conditional content */
.div-content{display:none;}
.div-content.active{display:block;}
.div-grid.active{display:grid;}
.div-flex.active{display:flex;}

/* services */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.service-card{background:var(--white);border:1px solid var(--platinum);padding:34px 28px;}
.service-card h3{font-size:21px;margin-bottom:10px;}
.service-card p{font-size:14px;color:#5b5648;}
.compliance-strip{
  margin-top:36px;border:1px solid var(--champagne);background:#fffdf8;padding:30px 32px;
}
.compliance-strip h3{font-size:24px;margin-bottom:14px;}
.compliance-strip p{font-size:14px;color:#5b5648;margin-bottom:10px;}

/* ---------- pricing ---------- */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:stretch;}
.price-card{
  background:var(--white);border:1px solid var(--platinum);padding:38px 30px;display:flex;flex-direction:column;
  position:relative;
}
.price-card.featured{border:1px solid var(--champagne);box-shadow:0 18px 40px -22px rgba(168,137,90,.45);}
.price-card .tag{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--onyx);color:var(--champagne);
  font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;white-space:nowrap;
}
.price-card .tier{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--champagne-dark);font-weight:500;margin-bottom:8px;}
.price-card h3{font-size:24px;margin-bottom:6px;}
.price-card .best-for{font-size:12.5px;color:#8a8472;font-style:italic;margin-bottom:16px;}
.price-card .amount{font-family:var(--serif);font-size:38px;margin-bottom:18px;}
.price-card .amount span{font-family:var(--mono);font-size:12px;color:#8a8472;}
.price-card .includes-label{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8a8472;margin-bottom:10px;}
.price-card ul{list-style:none;margin:0 0 22px;flex:0;}
.price-card li{font-size:13.5px;color:#4a4536;padding:9px 0;border-top:1px solid var(--platinum);display:flex;gap:10px;}
.price-card li:first-child{border-top:none;}
.price-card li::before{content:'—';color:var(--champagne-dark);flex-shrink:0;}
.price-card .impact{
  background:var(--ivory);border-left:2px solid var(--champagne);padding:14px 16px;margin:6px 0 22px;font-size:13px;
  color:#3f3b2e;font-style:italic;
}
.price-card .impact b{font-family:var(--mono);font-style:normal;font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  display:block;margin-bottom:6px;color:var(--champagne-dark);}
.price-card .cap-note{font-family:var(--mono);font-size:11px;color:var(--champagne-dark);margin-bottom:16px;}

.compliance-pricing{margin-top:56px;}
.compliance-pricing-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.cp-card{border:1px solid var(--platinum);padding:26px;background:var(--white);}
.cp-card .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#6b6557;}
.cp-card .amt{font-family:var(--serif);font-size:28px;color:var(--champagne-dark);margin:8px 0 12px;}
.cp-card p{font-size:13px;color:#5b5648;}

.pricing-foot{text-align:center;margin-top:44px;font-size:13px;color:#6b6557;}
.pricing-foot b{color:var(--onyx);}

/* process */
.process-list{display:flex;flex-direction:column;}
.process-row{display:grid;grid-template-columns:90px 1fr;gap:28px;padding:30px 0;border-top:1px solid var(--platinum);align-items:start;}
.process-row:first-child{border-top:none;}
.process-row .step-num{font-family:var(--serif);font-size:38px;color:var(--platinum);font-style:italic;}
.process-row h3{font-size:21px;margin-bottom:8px;}
.process-row p{font-size:14px;color:#5b5648;max-width:560px;}

/* about */
.about-page .wrap{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:center;}
.frame{
  aspect-ratio:4/5;border:1px solid var(--champagne);display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:12px;color:var(--champagne-dark);letter-spacing:.05em;text-align:center;padding:20px;
  background:var(--white);
}
.about-page p{color:#4a4536;font-size:15px;margin-bottom:16px;}
.about-page .sig{font-style:italic;color:var(--champagne-dark);font-size:19px;margin-top:22px;font-family:var(--serif);}

/* final cta */
.final-cta{text-align:center;background:var(--platinum);}
.final-cta h2{font-size:36px;max-width:640px;margin:16px auto 14px;}
.final-cta p{max-width:480px;margin:0 auto 30px;color:#5b5648;}
.spots-badge{
  display:inline-flex;align-items:center;gap:8px;background:var(--onyx);color:var(--champagne);
  font-family:var(--mono);padding:8px 18px;border-radius:999px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:22px;
}

footer{padding:56px 0 36px;border-top:1px solid var(--platinum);}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;}
footer .fcol{font-size:13px;color:#6b6557;}
footer .fcol h4{font-family:var(--serif);font-size:16px;color:var(--onyx);margin-bottom:10px;}
footer .fcol a{display:block;margin-bottom:6px;}
footer .fcol a:hover{color:var(--champagne-dark);}
.footer-bottom{margin-top:40px;text-align:center;font-family:var(--mono);font-size:10.5px;color:#a39d8c;letter-spacing:.03em;}

/* ---------- newsletter modal ---------- */
.modal-overlay{
  position:fixed;inset:0;background:rgba(13,13,13,.55);z-index:100;
  display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;
  transition:opacity .35s ease; padding:20px;
}
.modal-overlay.show{opacity:1;visibility:visible;}
.modal{
  background:var(--ivory);max-width:430px;width:100%;padding:44px 38px;position:relative;
  border:1px solid var(--champagne);transform:translateY(18px) scale(.98);transition:transform .35s ease;
  text-align:center;
}
.modal-overlay.show .modal{transform:translateY(0) scale(1);}
.modal .close-modal{position:absolute;top:14px;right:16px;font-size:20px;color:#9a9382;}
.modal .close-modal:hover{color:var(--onyx);}
.modal h3{font-size:26px;margin:14px 0 10px;}
.modal p{font-size:13.5px;color:#5b5648;margin-bottom:24px;}
.modal form{display:flex;flex-direction:column;gap:12px;}
.modal input{
  padding:13px 16px;border:1px solid var(--silver);background:var(--white);font-family:var(--sans);font-size:13.5px;
}
.modal input:focus{outline:2px solid var(--champagne-dark);outline-offset:1px;}
.modal .fine{font-family:var(--mono);font-size:10px;color:#9a9382;margin-top:10px;}
.modal-success{display:none;}
.modal-success.show{display:block;}
.modal-success h3{color:var(--champagne-dark);}

/* ---------- responsive ---------- */
@media (max-width:880px){
  .nav-links{display:none;}
  .menu-btn{display:block;}
  .about-page .wrap{grid-template-columns:1fr;}
  .service-grid,.pricing-grid,.compliance-pricing-row{grid-template-columns:1fr;}
  .hero h1{font-size:38px;}
  .page-hero h1{font-size:34px;}
  .section-head h2{font-size:30px;}
}
