/* ==========================================================================
   DesignCraftX — shared stylesheet
   Class/ID prefix: dcx-
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,wght@0,500;0,600;0,700;0,800;1,500&family=Sora:wght@400;500;600;700&display=swap');

:root{
  --dcx-ink:#17130f;
  --dcx-ink-70:rgba(23,19,15,.72);
  --dcx-ink-55:rgba(23,19,15,.58);
  --dcx-paper:#f7f3ec;
  --dcx-paper-dim:#efe8d8;
  --dcx-paper-line:rgba(23,19,15,.15);
  --dcx-cream-text:#f7f3ec;
  --dcx-dark-line:rgba(247,243,236,.18);
  --dcx-gold:#b8902f;
  --dcx-gold-bright:#d9ad3f;
  --dcx-gold-soft:#efe1bc;
  --dcx-radius-s:2px;
  --dcx-radius-m:4px;
  --dcx-radius-l:6px;
  --dcx-maxw:1360px;
  --dcx-header-h:78px;
  --dcx-shadow-card:0 20px 44px -24px rgba(23,19,15,.4);
  --dcx-ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--dcx-paper);color:var(--dcx-ink);font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;}
img,svg{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4,p,figure{margin:0;}
ul{margin:0;padding:0;list-style:none;}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0;}

h1,h2,h3,h4,.dcx-display{font-family:'Bodoni Moda',Georgia,serif;font-weight:600;letter-spacing:-0.005em;line-height:1.08;}

.dcx-em{font-style:italic;color:var(--dcx-gold-bright);font-weight:700;}

.dcx-skip{position:absolute;left:12px;top:-60px;background:var(--dcx-ink);color:var(--dcx-paper);padding:12px 18px;border-radius:var(--dcx-radius-s);z-index:1000;transition:top .2s var(--dcx-ease);font-weight:600;}
.dcx-skip:focus{top:12px;}
:focus-visible{outline:2.5px solid var(--dcx-gold);outline-offset:3px;border-radius:2px;}

.dcx-container{max-width:var(--dcx-maxw);margin:0 auto;padding:0 40px;}
.dcx-section{padding:118px 0;}
.dcx-section--tight{padding:74px 0;}
.dcx-section--dark{background:var(--dcx-ink);color:var(--dcx-cream-text);}
.dcx-section--dim{background:var(--dcx-paper-dim);}

.dcx-kicker{font-weight:600;font-size:13px;color:var(--dcx-gold);margin:0 0 14px;text-transform:uppercase;letter-spacing:.14em;}
.dcx-section--dark .dcx-kicker{color:var(--dcx-gold-bright);}

.dcx-h2{font-size:clamp(30px,3.6vw,44px);max-width:720px;}
.dcx-lede{font-size:19px;color:var(--dcx-ink-70);max-width:600px;margin-top:16px;}
.dcx-section--dark .dcx-lede{color:rgba(247,243,236,.72);}

.dcx-btn{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:var(--dcx-radius-s);font-weight:600;font-size:15px;border:1.5px solid transparent;white-space:nowrap;transition:transform .18s var(--dcx-ease), background .18s var(--dcx-ease), border-color .18s var(--dcx-ease), color .18s var(--dcx-ease);}
.dcx-btn--primary{background:var(--dcx-gold);color:#17130f;}
.dcx-btn--primary:hover{background:var(--dcx-gold-bright);transform:translateY(-2px);}
.dcx-btn--ghost{border-color:var(--dcx-ink);color:var(--dcx-ink);}
.dcx-btn--ghost:hover{background:var(--dcx-ink);color:var(--dcx-paper);transform:translateY(-2px);}
.dcx-section--dark .dcx-btn--ghost{border-color:rgba(247,243,236,.5);color:var(--dcx-cream-text);}
.dcx-section--dark .dcx-btn--ghost:hover{background:var(--dcx-cream-text);color:var(--dcx-ink);}
.dcx-link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;border-bottom:1.5px solid transparent;padding-bottom:2px;transition:border-color .18s var(--dcx-ease), gap .18s var(--dcx-ease);}
.dcx-link-arrow:hover{border-color:currentColor;gap:11px;}
.dcx-link-arrow svg{width:16px;height:16px;}

/* ---------------- Header ---------------- */
.dcx-header{position:fixed;top:0;left:0;right:0;z-index:900;height:var(--dcx-header-h);display:flex;align-items:center;background:transparent;border-bottom:1px solid transparent;transition:background .25s var(--dcx-ease), border-color .25s var(--dcx-ease), backdrop-filter .25s var(--dcx-ease);}
.dcx-header.dcx-is-scrolled{background:rgba(247,243,236,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--dcx-paper-line);}
.dcx-header__inner{max-width:var(--dcx-maxw);margin:0 auto;width:100%;padding:0 40px;display:flex;align-items:center;justify-content:space-between;}
.dcx-brand{display:flex;align-items:center;gap:11px;font-size:19px;font-weight:700;color:#fff;transition:color .25s var(--dcx-ease);}
.dcx-header.dcx-is-scrolled .dcx-brand{color:var(--dcx-ink);}
.dcx-brand__mark{width:32px;height:32px;flex-shrink:0;}
.dcx-brand em{font-style:italic;font-weight:700;color:var(--dcx-gold-bright);}

.dcx-nav{display:flex;align-items:center;gap:34px;}
.dcx-nav__list{display:flex;align-items:center;gap:28px;}
.dcx-nav__list a{font-size:14px;font-weight:500;color:rgba(247,243,236,.82);position:relative;padding:6px 0;transition:color .25s var(--dcx-ease);text-transform:uppercase;letter-spacing:.05em;}
.dcx-nav__list a:hover{color:#fff;}
.dcx-nav__list a[aria-current="page"]{color:#fff;}
.dcx-header.dcx-is-scrolled .dcx-nav__list a{color:var(--dcx-ink-70);}
.dcx-header.dcx-is-scrolled .dcx-nav__list a:hover{color:var(--dcx-ink);}
.dcx-header.dcx-is-scrolled .dcx-nav__list a[aria-current="page"]{color:var(--dcx-ink);}
.dcx-nav__list a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--dcx-gold);}
.dcx-nav__cta{margin-left:4px;}

.dcx-burger{display:none;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;border:1px solid rgba(247,243,236,.35);}
.dcx-header.dcx-is-scrolled .dcx-burger{border-color:var(--dcx-paper-line);}
.dcx-burger span{display:block;width:18px;height:1.5px;background:#fff;position:relative;transition:background .25s var(--dcx-ease);}
.dcx-header.dcx-is-scrolled .dcx-burger span{background:var(--dcx-ink);}
.dcx-burger span::before,.dcx-burger span::after{content:"";position:absolute;left:0;width:18px;height:1.5px;background:#fff;transition:transform .2s var(--dcx-ease), top .2s var(--dcx-ease), background .25s var(--dcx-ease);}
.dcx-header.dcx-is-scrolled .dcx-burger span::before,.dcx-header.dcx-is-scrolled .dcx-burger span::after{background:var(--dcx-ink);}
.dcx-burger span::before{top:-6px;}
.dcx-burger span::after{top:6px;}
.dcx-burger[aria-expanded="true"] span{background:transparent;}
.dcx-burger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg);}
.dcx-burger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg);}

.dcx-mobile-panel{display:none;position:fixed;top:var(--dcx-header-h);left:0;right:0;background:var(--dcx-paper);border-bottom:1px solid var(--dcx-paper-line);padding:18px 24px 30px;transform:translateY(-12px);opacity:0;pointer-events:none;transition:transform .22s var(--dcx-ease), opacity .22s var(--dcx-ease);z-index:850;}
.dcx-mobile-panel.dcx-is-open{transform:translateY(0);opacity:1;pointer-events:auto;}
.dcx-mobile-panel a{display:block;padding:14px 4px;font-size:18px;font-weight:500;border-bottom:1px solid var(--dcx-paper-line);}
.dcx-mobile-panel .dcx-btn{margin-top:18px;width:100%;justify-content:center;}

@media (max-width:900px){
  .dcx-nav__list,.dcx-nav__cta{display:none;}
  .dcx-burger{display:flex;}
  .dcx-mobile-panel{display:block;}
  .dcx-header__inner,.dcx-container{padding:0 22px;}
}

/* ---------------- Reveal / motion ---------------- */
html.dcx-js-ready .dcx-reveal{opacity:0;transform:translateY(20px);transition:opacity .65s var(--dcx-ease), transform .65s var(--dcx-ease);}
html.dcx-js-ready .dcx-reveal.dcx-in-view{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  html.dcx-js-ready .dcx-reveal{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;}
}
noscript .dcx-reveal{opacity:1;}

/* ---------------- Hero — centered, sunburst backdrop ---------------- */
.dcx-hero{position:relative;padding:calc(var(--dcx-header-h) + 90px) 0 110px;background:var(--dcx-ink);color:var(--dcx-cream-text);overflow:hidden;text-align:center;}
.dcx-hero__backdrop{position:absolute;top:50%;left:50%;width:1400px;height:1400px;transform:translate(-50%,-52%);z-index:0;pointer-events:none;}
.dcx-hero__inner{position:relative;z-index:1;max-width:760px;margin:0 auto;}
.dcx-hero__eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--dcx-gold-bright);text-transform:uppercase;letter-spacing:.14em;margin-bottom:22px;}
.dcx-hero__eyebrow .dcx-dot{width:6px;height:6px;border-radius:50%;background:var(--dcx-gold-bright);}
.dcx-hero h1{font-size:clamp(38px,5.6vw,66px);color:#fff;}
.dcx-hero__sub{font-size:clamp(16.5px,1.4vw,19px);color:rgba(247,243,236,.76);margin:24px auto 0;max-width:520px;}
.dcx-hero__ctas{display:flex;align-items:center;justify-content:center;gap:26px;margin-top:38px;flex-wrap:wrap;}
.dcx-hero__ctas .dcx-link-arrow{color:var(--dcx-cream-text);}
.dcx-hero__avail{margin-top:26px;font-size:13.5px;color:rgba(247,243,236,.6);display:flex;align-items:center;justify-content:center;gap:9px;}
.dcx-hero__avail .dcx-dot{width:6px;height:6px;border-radius:50%;background:var(--dcx-gold);}

/* ---------------- Trust strip ---------------- */
.dcx-trust{padding:50px 0;border-bottom:1px solid var(--dcx-paper-line);}
.dcx-trust__label{font-size:12.5px;color:var(--dcx-ink-55);font-weight:600;margin-bottom:24px;text-transform:uppercase;letter-spacing:.1em;text-align:center;}
.dcx-trust__row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:26px 40px;}
.dcx-trust__name{font-size:17px;color:var(--dcx-ink-55);font-weight:600;font-family:'Bodoni Moda',serif;}

/* ---------------- Services (Model B) — asymmetric bento grid ---------------- */
.dcx-services__head{max-width:720px;text-align:center;margin:0 auto;}
.dcx-bento{margin-top:60px;display:grid;grid-template-columns:repeat(6,1fr);gap:18px;grid-auto-rows:minmax(210px,auto);}
.dcx-bento-card{
  border:1px solid var(--dcx-paper-line);border-radius:var(--dcx-radius-l);padding:30px 28px;background:#fff;
  display:flex;flex-direction:column;justify-content:space-between;
}
.dcx-bento-card--wide{grid-column:span 4;}
.dcx-bento-card--narrow{grid-column:span 2;}
.dcx-bento-card--half{grid-column:span 3;}
.dcx-bento-card--dark{background:var(--dcx-ink);color:var(--dcx-cream-text);border-color:var(--dcx-ink);}
.dcx-bento-card h3{font-size:19px;}
.dcx-bento-card p{margin-top:10px;color:var(--dcx-ink-70);font-size:14.5px;}
.dcx-bento-card--dark p{color:rgba(247,243,236,.68);}
.dcx-bento-card__meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:20px;gap:10px;flex-wrap:wrap;}
.dcx-bento-card__price{font-family:'Bodoni Moda',serif;font-size:26px;font-weight:700;}
.dcx-bento-card__row{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--dcx-ink-55);}
.dcx-bento-card--dark .dcx-bento-card__row{color:rgba(247,243,236,.55);}
.dcx-bento-card__tag{font-size:11.5px;font-weight:600;color:var(--dcx-gold);text-transform:uppercase;letter-spacing:.05em;}
.dcx-bento-card a{margin-top:16px;align-self:flex-start;}
@media (max-width:900px){
  .dcx-bento{grid-template-columns:repeat(2,1fr);}
  .dcx-bento-card--wide,.dcx-bento-card--half,.dcx-bento-card--narrow{grid-column:span 2;}
}
@media (max-width:560px){
  .dcx-bento{grid-template-columns:1fr;}
  .dcx-bento-card--wide,.dcx-bento-card--half,.dcx-bento-card--narrow{grid-column:span 1;}
}

.dcx-page-intro{padding:calc(var(--dcx-header-h) + 64px) 0 24px;background:var(--dcx-ink);color:var(--dcx-cream-text);text-align:center;}
.dcx-page-intro h1{font-size:clamp(32px,4.6vw,52px);color:#fff;max-width:680px;margin:0 auto;}
.dcx-page-intro p{margin:16px auto 0;color:rgba(247,243,236,.72);max-width:540px;font-size:17px;}

/* ---------------- Process — vertical timeline ---------------- */
.dcx-timeline{margin-top:66px;position:relative;padding-left:40px;border-left:1.5px solid var(--dcx-dark-line);max-width:680px;}
.dcx-timeline__item{position:relative;padding-bottom:56px;}
.dcx-timeline__item:last-child{padding-bottom:0;}
.dcx-timeline__dot{position:absolute;left:-46px;top:2px;width:14px;height:14px;border-radius:50%;background:var(--dcx-gold);border:3px solid var(--dcx-ink);}
.dcx-timeline__num{font-family:'Bodoni Moda',serif;font-size:14px;color:var(--dcx-gold-bright);font-weight:700;}
.dcx-timeline__item h3{font-size:20px;margin-top:6px;color:#fff;}
.dcx-timeline__item p{margin-top:8px;color:rgba(247,243,236,.68);font-size:15px;}
.dcx-timeline__item small{display:block;margin-top:10px;font-size:12.5px;font-weight:600;color:var(--dcx-gold-bright);text-transform:uppercase;letter-spacing:.05em;}

/* ---------------- Guarantee — framed centered band ---------------- */
.dcx-guarantee{padding:20px 0 96px;}
.dcx-guarantee__frame{
  max-width:760px;margin:0 auto;text-align:center;border:1.5px solid var(--dcx-gold);border-radius:var(--dcx-radius-l);
  padding:56px 48px;position:relative;
}
.dcx-guarantee__frame::before,.dcx-guarantee__frame::after{content:"";position:absolute;width:22px;height:22px;border:1.5px solid var(--dcx-gold);}
.dcx-guarantee__frame::before{top:-1.5px;left:-1.5px;border-right:none;border-bottom:none;}
.dcx-guarantee__frame::after{bottom:-1.5px;right:-1.5px;border-left:none;border-top:none;}
.dcx-guarantee__badge{width:52px;height:52px;margin:0 auto 22px;color:var(--dcx-gold);}
.dcx-guarantee h2{font-size:clamp(24px,3vw,32px);max-width:600px;margin:0 auto;}
.dcx-guarantee p{margin:14px auto 0;color:var(--dcx-ink-70);font-size:16px;max-width:540px;}
.dcx-guarantee a{color:var(--dcx-gold);text-decoration:underline;}

/* ---------------- Comparison — paired cards ---------------- */
.dcx-compare{margin-top:56px;display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.dcx-compare__card{border-radius:var(--dcx-radius-l);padding:38px 34px;border:1px solid var(--dcx-paper-line);}
.dcx-compare__card--us{background:var(--dcx-ink);color:var(--dcx-cream-text);border-color:var(--dcx-ink);}
.dcx-compare__card h3{font-size:19px;margin-bottom:22px;}
.dcx-compare__card ul{display:flex;flex-direction:column;gap:15px;}
.dcx-compare__card li{display:flex;gap:12px;font-size:14.8px;align-items:flex-start;}
.dcx-compare__card li svg{width:16px;height:16px;flex-shrink:0;margin-top:2px;}
.dcx-compare__card--us svg{color:var(--dcx-gold-bright);}
.dcx-compare__card--them svg{color:var(--dcx-ink-55);}
.dcx-compare__card--them{color:var(--dcx-ink-70);}
@media (max-width:760px){.dcx-compare{grid-template-columns:1fr;}}

/* ---------------- FAQ — two-column accordion ---------------- */
.dcx-faq{margin-top:56px;column-count:2;column-gap:56px;}
@media (max-width:820px){.dcx-faq{column-count:1;}}
.dcx-faq__item{break-inside:avoid;margin-bottom:14px;border-bottom:1px solid var(--dcx-paper-line);}
.dcx-faq__q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 2px;font-size:16px;font-weight:600;text-align:left;font-family:'Bodoni Moda',serif;}
.dcx-faq__q svg{width:17px;height:17px;flex-shrink:0;transition:transform .22s var(--dcx-ease);color:var(--dcx-gold);}
.dcx-faq__q[aria-expanded="true"] svg{transform:rotate(45deg);}
.dcx-faq__a{max-height:0;overflow:hidden;transition:max-height .28s var(--dcx-ease);}
.dcx-faq__a p{padding:0 2px 22px;color:var(--dcx-ink-70);font-size:15px;max-width:92%;}
.dcx-faq__a a{color:var(--dcx-gold);font-weight:600;border-bottom:1px solid currentColor;}
@media (prefers-reduced-motion:reduce){.dcx-faq__a{transition:none;}}

/* ---------------- About — prose + visual side by side ---------------- */
.dcx-about__intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.dcx-about__intro p{color:var(--dcx-ink-70);font-size:16.5px;margin-bottom:18px;max-width:480px;}
.dcx-about__visual{border-radius:var(--dcx-radius-l);overflow:hidden;border:1px solid var(--dcx-paper-line);}
@media (max-width:900px){.dcx-about__intro{grid-template-columns:1fr;gap:36px;}}

.dcx-stats{margin-top:80px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--dcx-paper-line);border-bottom:1px solid var(--dcx-paper-line);}
.dcx-stat{padding:34px 24px;border-right:1px solid var(--dcx-paper-line);text-align:center;}
.dcx-stat:last-child{border-right:none;}
.dcx-stat__num{font-family:'Bodoni Moda',serif;font-size:38px;font-weight:700;color:var(--dcx-gold);}
.dcx-stat__label{margin-top:6px;font-size:13.5px;color:var(--dcx-ink-70);}
@media (max-width:760px){.dcx-stats{grid-template-columns:1fr 1fr;}.dcx-stat{border-bottom:1px solid var(--dcx-paper-line);}}

.dcx-team{margin-top:80px;}
.dcx-team__grid{margin-top:36px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px;}
.dcx-team__card{border:1px solid var(--dcx-paper-line);border-radius:var(--dcx-radius-m);padding:28px 24px;}
.dcx-avatar{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Bodoni Moda',serif;font-weight:700;font-size:17px;color:#17130f;margin-bottom:18px;}
.dcx-team__card h3{font-size:17px;}
.dcx-team__role{font-size:12.5px;color:var(--dcx-gold);font-weight:600;margin-top:4px;text-transform:uppercase;letter-spacing:.05em;}
.dcx-team__note{margin-top:12px;font-size:14.5px;color:var(--dcx-ink-70);}

/* ---------------- Reviews — 2x2 grid ---------------- */
.dcx-reviews__grid{margin-top:60px;display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.dcx-review{border:1px solid var(--dcx-dark-line);border-radius:var(--dcx-radius-l);padding:32px 30px;background:rgba(247,243,236,.03);}
.dcx-review__quote{font-family:'Bodoni Moda',serif;font-style:italic;font-size:18px;line-height:1.5;color:#fff;}
.dcx-review__by{display:flex;align-items:center;gap:12px;margin-top:22px;}
.dcx-review__by-text strong{display:block;font-size:14px;color:#fff;}
.dcx-review__by-text span{font-size:12.5px;color:rgba(247,243,236,.6);}
.dcx-review .dcx-avatar{width:40px;height:40px;font-size:14px;margin-bottom:0;}
@media (max-width:760px){.dcx-reviews__grid{grid-template-columns:1fr;}}

/* ---------------- Footer ---------------- */
.dcx-footer{background:var(--dcx-ink);color:rgba(247,243,236,.78);padding:88px 0 30px;}
.dcx-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;padding-bottom:64px;border-bottom:1px solid var(--dcx-dark-line);}
.dcx-footer__brand{display:flex;align-items:center;gap:11px;font-size:19px;font-weight:700;color:#fff;margin-bottom:16px;}
.dcx-footer__brand em{font-style:italic;color:var(--dcx-gold-bright);font-weight:700;}
.dcx-footer p.dcx-footer__desc{max-width:280px;font-size:14.5px;}
.dcx-footer h4{font-size:12.5px;font-weight:600;color:rgba(247,243,236,.9);margin-bottom:18px;text-transform:uppercase;letter-spacing:.08em;}
.dcx-footer ul{display:flex;flex-direction:column;gap:12px;}
.dcx-footer a{font-size:14.5px;}
.dcx-footer a:hover{color:#fff;}
.dcx-footer__contact li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;}
.dcx-footer__contact svg{width:16px;height:16px;flex-shrink:0;margin-top:3px;color:var(--dcx-gold-bright);}
.dcx-footer__bottom{padding-top:26px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-size:13px;color:rgba(247,243,236,.5);}
.dcx-footer__bottom .dcx-legal-shortcuts{display:flex;gap:20px;flex-wrap:wrap;}
@media (max-width:820px){.dcx-footer__grid{grid-template-columns:1fr 1fr;row-gap:40px;}}
@media (max-width:520px){.dcx-footer__grid{grid-template-columns:1fr;}}

/* ---------------- Sticky CTA ---------------- */
.dcx-sticky-cta{position:fixed;right:26px;bottom:26px;z-index:500;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .28s var(--dcx-ease), transform .28s var(--dcx-ease);}
.dcx-sticky-cta.dcx-is-visible{opacity:1;transform:none;pointer-events:auto;}
.dcx-sticky-cta a{box-shadow:0 14px 30px -12px rgba(23,19,15,.5);}
@media (max-width:600px){.dcx-sticky-cta{right:16px;bottom:16px;}.dcx-sticky-cta .dcx-btn{padding:13px 20px;font-size:14px;}}

/* ---------------- Cookie banner ---------------- */
.dcx-cookie{position:fixed;left:20px;right:20px;bottom:20px;z-index:950;max-width:560px;margin:0 auto;background:var(--dcx-ink);color:var(--dcx-cream-text);border-radius:var(--dcx-radius-l);padding:26px 28px;box-shadow:0 24px 60px -20px rgba(0,0,0,.5);transform:translateY(140%);transition:transform .38s var(--dcx-ease);border:1px solid var(--dcx-dark-line);}
.dcx-cookie.dcx-is-visible{transform:translateY(0);}
.dcx-cookie p{font-size:14px;color:rgba(247,243,236,.8);}
.dcx-cookie a{color:var(--dcx-gold-bright);font-weight:600;border-bottom:1px solid currentColor;}
.dcx-cookie__actions{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap;}
.dcx-cookie__actions button{padding:11px 20px;border-radius:var(--dcx-radius-s);font-weight:600;font-size:13.5px;}
.dcx-cookie__accept{background:var(--dcx-gold);color:#17130f;}
.dcx-cookie__decline{border:1px solid rgba(247,243,236,.35);color:var(--dcx-cream-text);}
@media (prefers-reduced-motion:reduce){.dcx-cookie{transition:none;}}

/* ---------------- Contact page ---------------- */
.dcx-contact__grid{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:start;margin-top:8px;}
.dcx-contact__cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.dcx-contact__card{border:1px solid var(--dcx-paper-line);border-radius:var(--dcx-radius-m);padding:28px 26px;}
.dcx-contact__card svg{width:22px;height:22px;color:var(--dcx-gold);margin-bottom:16px;}
.dcx-contact__card h3{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;}
.dcx-contact__card p,.dcx-contact__card a{margin-top:8px;font-size:15px;color:var(--dcx-ink-70);}
.dcx-contact__card a:hover{color:var(--dcx-ink);}
.dcx-contact__side{background:var(--dcx-ink);color:var(--dcx-cream-text);border-radius:var(--dcx-radius-l);padding:40px 34px;}
.dcx-contact__side h3{font-size:21px;color:#fff;}
.dcx-contact__side p{margin-top:12px;font-size:15px;color:rgba(247,243,236,.72);}
.dcx-contact__side .dcx-btn{margin-top:24px;width:100%;justify-content:center;}
.dcx-contact__side .dcx-btn + .dcx-btn{margin-top:12px;}
.dcx-map{margin-top:52px;border-radius:var(--dcx-radius-l);overflow:hidden;border:1px solid var(--dcx-paper-line);height:400px;}
.dcx-map iframe{width:100%;height:100%;border:0;}
@media (max-width:900px){.dcx-contact__grid{grid-template-columns:1fr;}.dcx-contact__cards{grid-template-columns:1fr;}}

/* ---------------- Legal page ---------------- */
.dcx-legal__subnav{position:sticky;top:var(--dcx-header-h);z-index:50;background:var(--dcx-paper);border-bottom:1px solid var(--dcx-paper-line);padding:16px 0;display:flex;gap:28px;overflow-x:auto;}
.dcx-legal__subnav a{font-size:14px;font-weight:600;color:var(--dcx-ink-55);white-space:nowrap;}
.dcx-legal__subnav a:hover{color:var(--dcx-ink);}
.dcx-legal__doc{padding:70px 0;border-bottom:1px solid var(--dcx-paper-line);max-width:760px;}
.dcx-legal__doc:last-of-type{border-bottom:none;}
.dcx-legal__doc h2{font-size:28px;}
.dcx-legal__doc .dcx-legal__updated{font-size:13px;color:var(--dcx-ink-55);margin-top:8px;}
.dcx-legal__doc h3{font-size:16.5px;margin-top:32px;font-weight:600;font-family:'Sora',sans-serif;}
.dcx-legal__doc p{margin-top:12px;color:var(--dcx-ink-70);font-size:15px;}
.dcx-legal__doc ul{margin-top:12px;display:flex;flex-direction:column;gap:8px;}
.dcx-legal__doc li{font-size:15px;color:var(--dcx-ink-70);padding-left:18px;position:relative;}
.dcx-legal__doc li::before{content:"–";position:absolute;left:0;color:var(--dcx-gold);}

.dcx-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
