/* ============================================================
   Cardero Clothing — site styles
   Navy #041E42 · Copper #B07959 · Cormorant Garamond / Josefin Sans / Jost
   Fonts are loaded via a <link> in the HTML head (faster than @import).
   ============================================================ */

:root{
  --navy:#041E42; --navy-dark:#02132B; --copper:#B07959; --copper-dark:#9B6346; --copper-deep:#834B34;
  --light:#F5F1E8; --mid:#8A8175; --mid-dark:#736B62; --white:#FDFCF8; --taupe:#5F574F; --text-dark:#F5F1E8;
  --ease-expo:cubic-bezier(0.16,1,0.3,1);
  --head-h:84px;
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
html,body{ width:100%; overflow-x:clip; } /* clip (not hidden) so position:sticky keeps working on mobile */
body{
  font-family:'Jost',Helvetica,Arial,sans-serif; font-weight:300; color:var(--taupe);
  line-height:1.8; background-color:var(--navy);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Cpath d='M0 5.5 L5.5 0 L11 5.5 L16.5 0 L22 5.5 M0 16.5 L5.5 11 L11 16.5 L16.5 11 L22 16.5' fill='none' stroke='%23ffffff' stroke-opacity='0.055' stroke-width='1'/%3E%3C/svg%3E");
}
.wrap{ max-width:1140px; margin:0 auto; padding:0 36px; }
.wrap-narrow{ max-width:760px; margin:0 auto; padding:0 36px; }
section{ padding:104px 0; position:relative; }
h1,h2,h3,h4{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:300; color:var(--navy); }
h1{ font-size:clamp(46px,7.4vw,92px); line-height:1.05; letter-spacing:-.01em; margin-bottom:22px; }
h2{ font-size:clamp(30px,4.6vw,54px); line-height:1.12; margin-bottom:20px; }
h3{ font-weight:400; font-size:27px; margin-bottom:6px; }
h4{ font-weight:500; font-size:21px; margin-bottom:6px; }
p{ font-size:18px; margin-bottom:18px; max-width:64ch; }
a{ color:var(--copper-dark); }
.eyebrow{ font-family:'Josefin Sans',Helvetica,Arial,sans-serif; font-weight:600; font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:var(--copper); margin-bottom:18px; }
.light .eyebrow, .light.alt .eyebrow{ color:var(--copper-dark); }
.btn{ display:inline-block; background:var(--copper-dark); color:var(--white); font-family:'Josefin Sans',Helvetica,Arial,sans-serif; font-weight:600; font-size:13px; letter-spacing:.18em; text-transform:uppercase; padding:16px 36px; border:1px solid var(--copper-dark); text-decoration:none; cursor:pointer; white-space:nowrap; transition:background .26s var(--ease-expo), border-color .26s ease, transform .26s var(--ease-expo), box-shadow .26s ease; }
.btn:hover{ background:var(--copper-deep); border-color:var(--copper-deep); transform:translateY(-2px); box-shadow:0 10px 28px rgba(0,0,0,.28); color:var(--white); }
.btn.ghost{ background:transparent; color:var(--copper-dark); }
.btn.ghost:hover{ background:var(--copper-dark); color:var(--white); }
.btn.on-dark.ghost{ color:var(--text-dark); border-color:rgba(245,241,232,.55); }
.btn.on-dark.ghost:hover{ background:rgba(245,241,232,.12); color:var(--text-dark); }
/* Long button labels wrap instead of running off the right edge on narrow screens */
@media(max-width:560px){ .btn{ white-space:normal; max-width:100%; padding:15px 24px; letter-spacing:.12em; line-height:1.3; } .calc{ padding:26px 20px; } }
.support{ font-style:italic; font-size:14px; color:var(--mid-dark); margin-top:14px; max-width:64ch; }

/* accessibility */
.skip-link{ position:absolute; left:-9999px; top:0; z-index:200; background:var(--copper-dark); color:#fff; padding:10px 18px; font-family:'Josefin Sans',sans-serif; font-size:13px; letter-spacing:.1em; text-decoration:none; }
.skip-link:focus{ left:8px; top:8px; }
:focus-visible{ outline:2px solid var(--copper); outline-offset:3px; }

/* ===== HEADER ===== */
.site-head{ position:sticky; top:0; z-index:60; height:var(--head-h); background:var(--navy); border-bottom:1px solid rgba(176,121,89,.28); transition:box-shadow .3s ease; }
.site-head.scrolled{ box-shadow:0 10px 30px rgba(0,0,0,.35); }
.head-inner{ max-width:1280px; margin:0 auto; padding:0 36px; height:100%; display:flex; align-items:center; justify-content:space-between; }
.brand{ display:flex; align-items:center; gap:9px; text-decoration:none; }
.brand-mark{ height:34px; width:auto; display:block; }
@media(max-width:560px){ .brand-mark{ height:28px; } }
.foot-mark{ height:44px; width:auto; display:block; margin-bottom:16px; }
.brand-word{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; font-size:20px; letter-spacing:.11em; text-transform:uppercase; color:var(--copper); white-space:nowrap; }
.foot-home{ display:inline-block; text-decoration:none; }
.nav{ display:flex; align-items:center; gap:22px; }
.nav a.link{ font-family:'Josefin Sans',sans-serif; font-size:12.5px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:rgba(245,241,232,.82); text-decoration:none; transition:color .25s ease; white-space:nowrap; }
.nav a.link:hover, .nav a.link[aria-current="page"]{ color:var(--copper); }
.nav a.link.feature{ color:rgba(245,241,232,.96); font-weight:600; }
.nav a.link.feature:hover{ color:var(--copper); }
.nav .btn{ padding:12px 24px; font-size:11px; letter-spacing:.14em; }
.burger{ display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:8px; }
.burger span{ width:26px; height:2.5px; background:var(--copper); transition:.3s; }

/* ===== MARQUEE ===== */
.marquee{ background:var(--navy-dark); padding:13px 0; overflow:hidden; border-top:1px solid rgba(255,255,255,.05); border-bottom:1px solid rgba(255,255,255,.05); }
.marquee-track{ display:flex; align-items:center; gap:2.75rem; width:max-content; animation:crd-marquee 40s linear infinite; }
.marquee-track span{ font-family:'Josefin Sans',sans-serif; font-size:13px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:rgba(245,241,232,.45); white-space:nowrap; }
.marquee-track .sep{ color:var(--copper); opacity:.7; }
.marquee:hover .marquee-track{ animation-play-state:paused; }
@keyframes crd-marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ===== HERO ===== */
.hero{ position:relative; min-height:calc(100vh - var(--head-h)); display:flex; align-items:center; overflow:hidden; background:transparent; }
.hero::before{ content:""; position:absolute; inset:0; z-index:0; background: radial-gradient(ellipse 72% 60% at 50% 0%, rgba(176,121,89,.14) 0%, transparent 60%), linear-gradient(180deg, rgba(4,30,66,.55) 0%, rgba(4,30,66,.3) 45%, rgba(4,30,66,.78) 100%); }
.hero .wrap{ position:relative; z-index:2; }
.hero h1{ color:var(--text-dark); }
.hero h1 em{ font-style:italic; color:var(--copper); }
.hero p{ color:rgba(245,241,232,.82); font-size:19px; }
.hero video, .hero .hero-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-1; }
.page-hero{ position:relative; padding:120px 0 86px; background:transparent; overflow:hidden; }
.page-hero::before{ content:""; position:absolute; inset:0; background:radial-gradient(ellipse 70% 70% at 50% 0%, rgba(176,121,89,.12), transparent 62%); }
/* Page-hero with a background video (navy scrim for readability) */
.page-hero.video-hero{ overflow:hidden; }
.page-hero.video-hero video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.page-hero.video-hero::before{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(4,30,66,.62) 0%, rgba(4,30,66,.48) 45%, rgba(4,30,66,.82) 100%); }
.page-hero.video-hero .wrap{ position:relative; z-index:2; }
.page-hero.video-hero h1{ color:var(--light); }
.page-hero.video-hero h1 em{ color:var(--copper); }
.page-hero.video-hero p{ color:rgba(245,241,232,.86); }
.page-hero.video-hero .eyebrow{ color:var(--copper); }
.page-hero.video-hero img.hero-still{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 30%; z-index:0; }
/* Wedding hero: video on desktop, photo on mobile */
.page-hero.video-hero .hero-mobile{ display:none; }
@media(max-width:820px){ .page-hero.video-hero .hero-video{ display:none; } .page-hero.video-hero .hero-mobile{ display:block; } }
@media(max-width:820px){ .page-hero.video-hero{ background:var(--navy); } }
/* Mobile: stronger scrim + text shadow so hero copy stays legible over photos and video */
@media(max-width:820px){
  .hero::before{ background:radial-gradient(ellipse 72% 60% at 50% 0%, rgba(176,121,89,.14) 0%, transparent 60%), linear-gradient(180deg, rgba(4,30,66,.62) 0%, rgba(4,30,66,.56) 45%, rgba(4,30,66,.88) 100%); }
  .page-hero.video-hero::before{ background:linear-gradient(180deg, rgba(4,30,66,.66) 0%, rgba(4,30,66,.6) 45%, rgba(4,30,66,.9) 100%); }
  .hero h1,.hero p,.hero .eyebrow,.hero .support,.page-hero.video-hero h1,.page-hero.video-hero p,.page-hero.video-hero .eyebrow{ text-shadow:0 2px 18px rgba(4,30,66,.55); }
}
.page-hero .wrap{ position:relative; z-index:2; }
.page-hero h1{ color:var(--text-dark); font-size:clamp(40px,6vw,76px); }
.page-hero h1 em{ font-style:italic; color:var(--copper); }
.page-hero p{ color:rgba(245,241,232,.8); font-size:19px; }
@keyframes crd-fadeup{ from{ opacity:0; transform:translateY(28px); } to{ opacity:1; transform:none; } }
.hero .eyebrow{ animation:crd-fadeup .85s var(--ease-expo) .05s both; font-size:14px; letter-spacing:.26em; }
.hero .support{ font-size:16px; color:var(--copper); }
.hero h1{ animation:crd-fadeup .95s var(--ease-expo) .18s both; }
.hero p{ animation:crd-fadeup .95s var(--ease-expo) .32s both; }
.hero .cta{ animation:crd-fadeup .9s var(--ease-expo) .46s both; }

/* ===== SECTIONS ===== */
.light{ background:var(--white); }
.light.alt{ background:#faf7f0; }
.dark{ background:transparent; }
.dark .eyebrow{ color:var(--copper); }
.dark h2, .dark h3{ color:var(--text-dark); }
.dark p{ color:rgba(245,241,232,.82); }
.dark a{ color:var(--copper); }
.dark .btn, .page-hero .btn{ background:var(--copper); color:var(--navy); border-color:var(--copper); }
.dark .btn:hover, .page-hero .btn:hover{ background:#C8975F; border-color:#C8975F; color:var(--navy); transform:translateY(-2px); box-shadow:0 10px 28px rgba(0,0,0,.3); }
.dark .btn.ghost{ background:transparent; color:var(--text-dark); border-color:rgba(245,241,232,.5); }
.dark .btn.ghost:hover{ background:rgba(245,241,232,.1); color:var(--text-dark); }
section.dark + section.dark{ padding-top:0; }
.dark .card{ background:rgba(245,241,232,.045); border-color:rgba(176,121,89,.34); }
.dark .card h3, .dark .card h4{ color:var(--text-dark); }
.dark .card .one{ color:rgba(245,241,232,.74); }
.dark .card:hover{ background:rgba(245,241,232,.07); border-color:var(--copper); box-shadow:0 20px 44px rgba(0,0,0,.32); }
.split{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.split.rev .txt{ order:2; }
.photo{ position:relative; aspect-ratio:4/5; background:var(--navy-dark); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Cpath d='M0 5.5 L5.5 0 L11 5.5 L16.5 0 L22 5.5 M0 16.5 L5.5 11 L11 16.5 L16.5 11 L22 16.5' fill='none' stroke='%23B07959' stroke-opacity='0.18' stroke-width='1'/%3E%3C/svg%3E"); border:1px solid rgba(176,121,89,.4); display:flex; align-items:center; justify-content:center; text-align:center; padding:24px; overflow:hidden; }
.photo span{ font-family:'Josefin Sans',sans-serif; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:rgba(245,241,232,.6); line-height:1.7; }
.photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.photo.wide{ aspect-ratio:3/2; }
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:38px; }
.grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:38px; }
@media(max-width:900px){ .grid-4{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:520px){ .grid-4{ grid-template-columns:1fr; } }
.grid-2{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:30px; }
.card{ border:1px solid #e7e1d4; padding:32px 28px; background:var(--white); display:flex; flex-direction:column; transition:transform .4s var(--ease-expo), box-shadow .4s ease, border-color .3s ease; }
.card:hover{ transform:translateY(-6px); box-shadow:0 20px 44px rgba(4,30,66,.12); border-color:var(--copper); }
.card .one{ color:var(--mid-dark); font-size:15px; margin:6px 0 24px; }
.card .btn{ margin-top:auto; align-self:flex-start; padding:13px 26px; }
.card .price{ font-family:'Cormorant Garamond',serif; font-size:30px; color:var(--copper-dark); margin:4px 0 4px; }
.card .price .was{ font-size:.5em; text-decoration:line-through; color:var(--mid-dark); margin-right:8px; vertical-align:middle; }
.price-save{ display:block; font-family:'Josefin Sans',sans-serif; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--copper-dark); margin-bottom:14px; }
.center{ text-align:center; }
.center p, .center .support{ margin-left:auto; margin-right:auto; }
.rule{ height:1px; background:linear-gradient(to right, transparent, var(--copper), transparent); margin:40px auto; border:0; max-width:240px; }
.steps{ counter-reset:step; margin-top:30px; }
.steps .step{ display:flex; gap:22px; padding:26px 0; border-bottom:1px solid rgba(176,121,89,.22); }
.steps .step:last-child{ border-bottom:0; }
.steps .step .num{ counter-increment:step; font-family:'Cormorant Garamond',serif; font-size:40px; color:var(--copper-dark); line-height:1; min-width:54px; }
.steps .step .num::before{ content:counter(step,decimal-leading-zero); }

/* ===== TESTIMONIALS ===== */
.quotes{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:46px; }
.quote{ background:var(--white); border:1px solid #e7e1d4; padding:36px 30px 30px; position:relative; }
.quote::before{ content:"\201C"; position:absolute; top:4px; left:22px; font-family:'Cormorant Garamond',Georgia,serif; font-size:72px; line-height:1; color:var(--copper); opacity:.32; }
.quote p{ font-size:16px; color:var(--taupe); margin:14px 0 20px; max-width:none; position:relative; }
.quote cite{ font-family:'Josefin Sans',sans-serif; font-style:normal; font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--copper-dark); }

/* ===== BOOKING EMBED ===== */
.studio-book{ display:none; background:var(--white); border:1px solid #e7e1d4; border-left:3px solid var(--copper); padding:30px 28px; align-self:start; }
/* Calendar shows on every screen (same as the Reserve page); no mobile CTA swap. */
.studio-book h3{ margin:6px 0 12px; }
.studio-book .btn{ margin-top:8px; }
.studio-book-or{ margin-top:18px; font-size:15px; color:#6b6357; }

/* ===== PRODUCT PAGE (navy suit) ===== */
.prod-hero{ position:relative; background:var(--navy); overflow:hidden; padding:84px 0; }
.prod-hero::before{ content:""; position:absolute; inset:0; background:radial-gradient(ellipse 80% 60% at 30% 0%, rgba(176,121,89,.10), transparent 70%); }
.prod-hero .wrap{ position:relative; z-index:2; display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center; }
.prod-hero .eyebrow{ color:var(--copper); }
.prod-hero h1{ color:var(--text-dark); margin:16px 0 0; }
.prod-hero p.lead{ color:rgba(245,241,232,.74); font-size:17px; line-height:1.8; margin:22px 0 0; max-width:460px; }
.prod-price{ display:flex; align-items:baseline; gap:12px; margin:28px 0 0; }
.prod-price .amt{ font-family:'Cormorant Garamond',serif; font-weight:300; font-size:30px; color:var(--text-dark); }
.prod-price .lbl{ font-family:'Josefin Sans',sans-serif; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--copper); }
.prod-hero .cta{ display:flex; gap:14px; margin:28px 0 0; flex-wrap:wrap; }
.prod-hero-img{ width:100%; aspect-ratio:3/4; object-fit:cover; border:1px solid rgba(176,121,89,.25); }
@media(max-width:860px){ .prod-hero .wrap{ grid-template-columns:1fr; gap:30px; } .prod-hero-img{ aspect-ratio:4/3; } }
.cloth-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:44px; align-items:stretch; }
.cloth-card{ position:relative; display:flex; flex-direction:column; background:var(--white); border:1px solid #e7e1d4; padding:30px 24px 28px; }
.cloth-card.featured{ background:var(--navy); border:1px solid var(--navy); border-top:3px solid var(--copper); box-shadow:0 16px 44px rgba(4,30,66,.24); }
.cloth-card.featured h3, .cloth-card.featured .ct-total{ color:var(--text-dark); }
.cloth-card.featured .ct-why, .cloth-card.featured li{ color:rgba(245,241,232,.80); }
.cloth-card.featured .ct-break{ color:rgba(245,241,232,.6); }
.cloth-card.featured .ct-tier .rule{ background:rgba(176,121,89,.5); }
@media(min-width:981px){ .cloth-card.featured{ transform:scale(1.05); z-index:1; } }
.cloth-card .ct-tier{ display:flex; align-items:center; gap:8px; font-family:'Josefin Sans',sans-serif; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--copper); }
.cloth-card .ct-tier .rule{ flex:1; height:1px; background:#e7e1d4; }
.cloth-card h3{ font-family:'Cormorant Garamond',serif; font-weight:400; font-size:26px; color:var(--navy); margin:14px 0 0; }
.cloth-card .ct-total{ font-family:'Cormorant Garamond',serif; font-weight:300; font-size:36px; color:var(--navy); line-height:1; margin-top:8px; }
.cloth-card .ct-break{ font-size:12px; color:#8a8078; margin-top:7px; }
.cloth-card .ct-why{ font-size:13px; line-height:1.7; color:#6b6357; margin:16px 0 0; }
.cloth-card ul{ list-style:none; padding:0; margin:16px 0 0; flex:1; }
.cloth-card li{ position:relative; padding-left:14px; margin-bottom:6px; font-size:12.5px; line-height:1.6; color:#6b6357; }
.cloth-card li::before{ content:""; position:absolute; left:0; top:.7em; width:6px; height:1px; background:var(--copper); }
.cloth-card .btn{ margin-top:20px; width:100%; text-align:center; }
@media(max-width:980px){ .cloth-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .cloth-grid{ grid-template-columns:1fr; } }
.prod-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:48px; }
.prod-step .n{ font-family:'Cormorant Garamond',serif; font-weight:300; font-size:40px; color:var(--copper); line-height:1; }
.prod-step h3{ font-family:'Josefin Sans',sans-serif; font-weight:500; font-size:13px; letter-spacing:.04em; color:var(--text-dark); margin:14px 0 0; }
.prod-step .rule{ width:24px; height:1px; background:var(--copper); opacity:.5; margin:13px 0; }
.prod-step p{ font-size:14px; line-height:1.7; color:rgba(245,241,232,.62); margin:0; }
@media(max-width:760px){ .prod-steps{ grid-template-columns:1fr; gap:28px; } }
.order-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:36px; text-align:left; }
.order-card{ border:1px solid rgba(176,121,89,.3); padding:30px 28px; display:flex; flex-direction:column; }
.order-card.primary{ background:rgba(176,121,89,.06); }
.order-card .eyebrow{ color:var(--copper); }
.order-card h3{ font-family:'Cormorant Garamond',serif; font-weight:400; font-size:24px; color:var(--text-dark); margin:10px 0 0; }
.order-card p{ font-size:14px; line-height:1.7; color:rgba(245,241,232,.62); margin:12px 0 0; flex:1; }
.order-card .btn{ margin-top:18px; width:100%; text-align:center; }
@media(max-width:640px){ .order-grid{ grid-template-columns:1fr; } }
.booking-embed{ background:var(--white); border:1px solid #e7e1d4; padding:14px; margin-top:30px; min-height:760px; }
.booking-embed iframe{ width:100%; min-height:720px; border:0; }
.studio-grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; margin-top:30px; }
.studio-grid .booking-embed{ margin-top:0; }
.studio-photo{ aspect-ratio:4/3; margin-bottom:20px; }
.studio-meta{ margin-bottom:20px; }
.studio-meta > div{ font-size:15px; color:var(--taupe); margin-bottom:10px; }
.studio-meta .lbl{ display:inline-block; min-width:80px; font-family:'Josefin Sans',sans-serif; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--copper-dark); }
.studio-map{ width:100%; height:260px; border:1px solid #e7e1d4; display:block; }

/* Reserve: per-studio calendar accordion */
.reserve-cal{ max-width:880px; }
.reserve-hint{ font-family:'Josefin Sans',sans-serif; font-weight:600; font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--copper-dark); margin-bottom:22px; }
.cal-acc{ border:1px solid #e7e1d4; border-bottom:0; background:var(--white); }
.cal-acc:last-of-type{ border-bottom:1px solid #e7e1d4; }
.cal-acc summary{ list-style:none; cursor:pointer; display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 16px; padding:26px 56px 26px 30px; position:relative; transition:background .25s ease; }
.cal-acc summary::-webkit-details-marker{ display:none; }
.cal-acc summary:hover{ background:var(--light); }
.cal-acc[open] summary{ border-bottom:1px solid #efe9dc; }
.cal-name{ font-family:'Cormorant Garamond',Georgia,serif; font-size:30px; line-height:1; color:var(--navy); }
.cal-where{ font-size:14px; color:var(--mid-dark); }
.cal-acc summary::after{ content:""; position:absolute; right:30px; top:50%; width:11px; height:11px; border-right:2px solid var(--copper); border-bottom:2px solid var(--copper); transform:translateY(-65%) rotate(45deg); transition:transform .3s var(--ease-expo); }
.cal-acc[open] summary::after{ transform:translateY(-30%) rotate(225deg); }
.cal-panel{ padding:22px 30px 30px; }
.cal-panel .booking-embed{ margin-top:0; }

/* OOTM / BOTM spec list + price + fine print */
.spec-list{ list-style:none; margin:18px 0 24px; padding:0; }
.spec-list li{ position:relative; padding:0 0 0 22px; margin-bottom:9px; font-size:17px; color:var(--taupe); }
.spec-list li::before{ content:""; position:absolute; left:0; top:11px; width:7px; height:7px; background:var(--copper); transform:rotate(45deg); }
.ootm-price{ font-size:19px; color:var(--navy); margin:0 0 22px; }
.ootm-price strong{ font-family:'Cormorant Garamond',Georgia,serif; font-size:26px; font-weight:500; }
.fineprint{ font-size:13px; color:var(--mid-dark); margin-top:18px; font-style:italic; }
.spec-list li strong{ color:var(--navy); font-weight:500; }
.ft-tag{ font-family:'Josefin Sans',sans-serif; font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--copper-dark); margin-bottom:8px; }
.card-photo{ width:100%; aspect-ratio:1/1; object-fit:cover; display:block; margin-bottom:20px; border:1px solid rgba(176,121,89,0.15); }
.ba-photo{ width:100%; height:auto; display:block; border:1px solid rgba(176,121,89,0.3); }

/* What We Make — editorial cards (Option 1), in Cardero copper/navy */
.wwm-head{ max-width:640px; }
.wwm-head h2 em{ font-style:italic; color:var(--copper); }
.wwm-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:48px; }
.wwm-card{ position:relative; display:flex; flex-direction:column; background:var(--white); border:1px solid rgba(4,30,66,0.10); padding:44px 40px 40px; overflow:hidden; transition:transform .45s var(--ease-expo), border-color .45s ease, box-shadow .45s ease; }
.wwm-card:hover{ transform:translateY(-8px); border-color:rgba(176,121,89,0.55); box-shadow:0 22px 48px rgba(4,30,66,0.10); }
.wwm-top{ display:flex; align-items:baseline; gap:14px; margin-bottom:26px; }
.wwm-num{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:400; font-size:30px; color:var(--copper); line-height:1; }
.wwm-rule{ flex:1; height:1px; background:rgba(176,121,89,0.35); }
.wwm-tag{ font-family:'Josefin Sans',sans-serif; font-weight:600; font-size:9px; letter-spacing:0.22em; text-transform:uppercase; color:var(--copper); white-space:nowrap; }
.wwm-card h3{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:400; font-size:30px; line-height:1.15; color:var(--navy); margin:0 0 18px; }
.wwm-card p{ font-size:15px; line-height:1.7; color:var(--taupe); margin:0 0 34px; min-height:72px; }
.wwm-cta{ align-self:flex-start; margin-top:auto; font-family:'Josefin Sans',sans-serif; font-weight:600; font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--copper-dark); text-decoration:none; padding:15px 30px; border:1px solid rgba(176,121,89,0.5); transition:background .3s ease, color .3s ease, border-color .3s ease; }
.wwm-cta:hover{ background:var(--copper-dark); color:var(--white); border-color:var(--copper-dark); }
.wwm-card.featured{ background:var(--navy); border-color:rgba(176,121,89,0.4); }
.wwm-card.featured:hover{ border-color:rgba(176,121,89,0.65); box-shadow:0 24px 50px rgba(4,30,66,0.30); }
.wwm-card.featured h3{ color:var(--light); }
.wwm-card.featured p{ color:rgba(245,241,232,0.72); }
.wwm-card.featured .wwm-cta{ color:var(--copper); border-color:rgba(176,121,89,0.55); }
.wwm-card.featured .wwm-cta:hover{ background:var(--copper); color:var(--navy); border-color:var(--copper); }
@media(max-width:760px){ .wwm-grid{ grid-template-columns:1fr; gap:18px; } .wwm-card p{ min-height:0; } }

/* Pricing section — "The Cloth Card" (Direction A), in Cardero copper/navy */
.pricing{ background:var(--navy); background-image:
  radial-gradient(ellipse 80% 60% at 50% 0%, rgba(20,52,96,0.9) 0%, transparent 70%),
  radial-gradient(ellipse 60% 50% at 100% 100%, rgba(176,121,89,0.07) 0%, transparent 60%),
  repeating-linear-gradient(45deg, transparent 0 8px, rgba(2,19,43,0.55) 8px 10px);
  padding:110px 32px; }
.pricing__inner{ max-width:1100px; margin:0 auto; }
.pricing__head{ max-width:560px; }
.pricing__head h2{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:300; font-size:clamp(40px,5vw,56px); line-height:1.08; letter-spacing:-0.01em; color:var(--light); margin:14px 0 0; }
.pricing__head h2 em{ font-style:italic; color:var(--copper); font-weight:300; }
.pricing__sub{ font-size:16px; line-height:1.8; color:rgba(245,241,232,0.7); margin:16px 0 0; }
.pricing__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:48px; }
@media(max-width:980px){ .pricing__grid{ grid-template-columns:repeat(2,1fr); gap:18px; } }
.tier{ position:relative; display:flex; flex-direction:column; border:1px solid rgba(176,121,89,0.22); background:rgba(255,255,255,0.012); padding:30px 28px 28px; transition:transform .4s var(--ease-expo), border-color .4s ease, background .4s ease; }
.tier:hover{ transform:translateY(-6px); border-color:rgba(176,121,89,0.6); }
.tier--featured{ border-color:rgba(176,121,89,0.5); background:rgba(176,121,89,0.06); }
.tier__tag{ position:absolute; top:0; right:0; background:var(--copper); color:var(--navy); font-family:'Josefin Sans',sans-serif; font-weight:600; font-size:9.5px; line-height:1; letter-spacing:0.16em; text-transform:uppercase; padding:7px 12px; }
.tier__swatch{ aspect-ratio:1/1; margin-bottom:24px; border:1px solid rgba(176,121,89,0.18); overflow:hidden; }
.tier__swatch img{ width:100%; height:100%; object-fit:cover; display:block; }
.swatch--blend{ background:repeating-linear-gradient(45deg,#0a2444 0 4px,#0e2d54 4px 8px); }
.swatch--s120{ background:repeating-linear-gradient(135deg,#0c2748 0 3px,#123257 3px 6px); }
.swatch--s150{ background-color:#122f54; background-image:repeating-linear-gradient(45deg,rgba(255,255,255,0.05) 0 2px,transparent 2px 4px), radial-gradient(circle at 30% 40%, rgba(176,121,89,0.22), transparent 60%); }
.swatch--s130{ background-color:#14365e; background-image:repeating-linear-gradient(135deg,rgba(255,255,255,0.06) 0 1px,transparent 1px 3px), repeating-linear-gradient(45deg,rgba(255,255,255,0.05) 0 1px,transparent 1px 3px), radial-gradient(circle at 65% 35%, rgba(176,121,89,0.34), transparent 60%); }
.tier__name{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:400; font-size:26px; color:var(--light); line-height:1.1; }
.tier__price{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:400; font-size:30px; color:var(--copper); margin-top:8px; line-height:1; }
.tier__desc{ font-size:13.5px; line-height:1.65; color:rgba(245,241,232,0.62); margin:16px 0 0; min-height:62px; }
.tier__reveal{ overflow:hidden; opacity:0; transform:translateY(6px); max-height:0; transition:opacity .45s ease, transform .45s ease, max-height .45s ease; }
.tier:hover .tier__reveal{ opacity:1; transform:none; max-height:160px; }
.tier__reveal-rule{ width:100%; height:1px; background:rgba(176,121,89,0.45); margin:18px 0 12px; }
.tier__note{ font-size:12px; line-height:1.55; color:rgba(245,241,232,0.72); }
.tier__cta{ display:block; text-align:center; margin-top:22px; background:transparent; color:var(--copper); border:1px solid rgba(176,121,89,0.5); padding:15px; font-family:'Josefin Sans',sans-serif; font-weight:600; font-size:11px; line-height:1; letter-spacing:0.2em; text-transform:uppercase; text-decoration:none; transition:background .3s ease, color .3s ease, border-color .3s ease; }
.tier__cta:hover{ background:var(--copper); color:var(--navy); border-color:var(--copper); }
@media(max-width:760px){ .pricing{ padding:72px 20px; } .pricing__grid{ grid-template-columns:1fr; } }
.eyebrow a{ color:var(--copper-dark); text-decoration:none; }
.eyebrow a:hover{ color:var(--copper); }
/* Product cards with two stacked CTAs */
.card .btn{ margin-top:auto; }
.card .btn + .btn{ margin-top:10px; }

/* Shop product grid */
.shop-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.shop-card{ display:flex; flex-direction:column; background:var(--white); border:1px solid #e7e1d4; text-decoration:none; overflow:hidden; transition:transform .45s var(--ease-expo), box-shadow .45s ease, border-color .3s ease; }
.shop-card:hover{ transform:translateY(-4px); box-shadow:0 18px 44px rgba(4,30,66,.13); border-color:rgba(176,121,89,.5); }
.shop-img{ position:relative; aspect-ratio:1/1; overflow:hidden; background:var(--navy-dark); }
.shop-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s var(--ease-expo); }
.shop-card:hover .shop-img img{ transform:scale(1.045); }
.shop-img.ph{ display:flex; align-items:center; justify-content:center; text-align:center; padding:20px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Cpath d='M0 5.5 L5.5 0 L11 5.5 L16.5 0 L22 5.5 M0 16.5 L5.5 11 L11 16.5 L16.5 11 L22 16.5' fill='none' stroke='%23B07959' stroke-opacity='0.2' stroke-width='1'/%3E%3C/svg%3E"); }
.shop-img.ph span{ font-family:'Josefin Sans',sans-serif; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:rgba(245,241,232,.6); line-height:1.7; }
.shop-card-body{ padding:22px 24px 24px; display:flex; flex-direction:column; flex:1; }
.shop-card-body h3{ font-size:23px; color:var(--navy); margin:0 0 4px; line-height:1.15; }
.shop-meta{ font-family:'Josefin Sans',sans-serif; font-size:11px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:var(--mid-dark); margin-bottom:9px; }
.shop-price{ font-family:'Cormorant Garamond',Georgia,serif; font-size:23px; color:var(--navy); }
.shop-card-cta{ margin-top:auto; padding-top:16px; font-family:'Josefin Sans',sans-serif; font-size:11.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--copper-dark); }
.shop-card:hover .shop-card-cta{ color:var(--copper-deep); }
@media(max-width:860px){ .shop-grid{ grid-template-columns:repeat(2,1fr); gap:18px; } }
@media(max-width:520px){ .shop-grid{ grid-template-columns:1fr; } }
.shop-grid.shop-2{ grid-template-columns:repeat(2,1fr); max-width:720px; margin:0 auto; }
@media(max-width:560px){ .shop-grid.shop-2{ grid-template-columns:1fr; } }
@media(max-width:560px){
  .cal-acc summary{ padding:20px 46px 20px 18px; }
  .cal-acc summary::after{ right:20px; }
  .cal-name{ font-size:25px; }
  .cal-panel{ padding:16px 14px 20px; }
}
.estimate-form .field{ margin-bottom:14px; }
/* FAQ */
.faq{ margin-top:34px; }
.faq-item{ border-bottom:1px solid #e7e1d4; }
.faq-item summary{ list-style:none; cursor:pointer; padding:20px 0; font-family:'Cormorant Garamond',serif; font-size:22px; color:var(--navy); display:flex; justify-content:space-between; align-items:center; gap:18px; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{ content:'+'; color:var(--copper-dark); font-size:24px; line-height:1; }
.faq-item[open] summary::after{ content:'\2212'; }
.faq-a{ padding:0 0 22px; }
.faq-a p{ font-size:17px; color:#433f3a; margin:0; max-width:none; }
/* Social proof */
.proof{ margin:34px auto 0; max-width:600px; }
.proof-stars{ color:var(--copper); letter-spacing:.16em; font-size:15px; }
.proof-meta{ font-family:'Josefin Sans',sans-serif; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:rgba(245,241,232,.6); margin:6px 0 16px; }
.proof-quote{ font-family:'Cormorant Garamond',serif; font-style:italic; font-size:21px; line-height:1.45; color:rgba(245,241,232,.92); max-width:none; }
.proof-quote cite{ display:block; font-family:'Josefin Sans',sans-serif; font-style:normal; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--copper); margin-top:12px; }
.light .proof-meta{ color:var(--mid-dark); }
.light .proof-quote{ color:var(--taupe); }
/* Calculator breakdown */
.calc-breakdown{ margin:6px 0 2px; }
.cb-row{ display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid #eee4d4; font-size:15px; color:var(--mid-dark); }
.cb-row span:last-child{ color:var(--navy); }
/* Contact form embed */
.form-embed{ margin-top:28px; }
.form-embed iframe{ width:100%; min-height:842px; border:0; }
/* Mobile sticky CTA */
.mobile-cta{ display:none; }
@media(max-width:820px){
  .mobile-cta{ position:fixed; left:0; right:0; bottom:0; z-index:90; display:flex; gap:10px; padding:10px 94px calc(10px + env(safe-area-inset-bottom)) 14px; background:var(--navy); border-top:1px solid rgba(176,121,89,.35); transform:translateY(120%); transition:transform .32s var(--ease-expo); }
  .mobile-cta.show{ transform:none; }
  .mobile-cta .btn{ flex:1; padding:14px 8px; text-align:center; }
  .mobile-cta .mcall{ flex:0 0 52px; display:flex; align-items:center; justify-content:center; border:1px solid rgba(245,241,232,.4); color:var(--text-dark); text-decoration:none; }
  .mobile-cta .mcall svg{ width:20px; height:20px; }
}
@media(max-width:820px){ .studio-grid{ grid-template-columns:1fr; } }

/* ===== BLOG ===== */
.post-list{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-top:44px; }
.post-card.more-hidden{ display:none; }
.load-more-wrap{ text-align:center; margin-top:46px; }
/* blog topic filter chips */
.topic-nav{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:40px; }
.topic-chip{ font-family:'Josefin Sans',sans-serif; font-weight:600; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--copper-dark); background:transparent; border:1px solid #ddd3c4; padding:9px 16px; border-radius:30px; cursor:pointer; transition:background .2s ease, color .2s ease, border-color .2s ease; }
.topic-chip:hover{ border-color:var(--copper); color:var(--copper); }
.topic-chip.is-active{ background:var(--copper-dark); border-color:var(--copper-dark); color:var(--white); }
/* pillar "Guides" hub links (under the FAQ) */
.guides .guide-links{ list-style:none; padding:0; margin:22px auto 0; display:grid; grid-template-columns:1fr 1fr; gap:12px 44px; max-width:820px; }
.guides .guide-links li{ margin:0; padding-left:18px; position:relative; }
.guides .guide-links li:before{ content:"\203A"; position:absolute; left:0; color:var(--copper); }
.guides .guide-links a{ color:var(--navy); text-decoration:none; font-size:16px; }
.guides .guide-links a:hover{ color:var(--copper-dark); }
@media(max-width:640px){ .guides .guide-links{ grid-template-columns:1fr; } }
/* fabric-variance footnote (shop + product pages) */
.fabric-note{ font-size:13px; line-height:1.7; color:var(--mid-dark); max-width:820px; margin:0; }
.fabric-note a{ color:var(--copper-dark); }
/* the featured cloth card is scaled 1.05 with z-index:1 on desktop, so it overhangs
   the grid and would cover a note sitting flush beneath it — give the note clearance */
.cloth-grid + .fabric-note, .grid-4 + .fabric-note, .fineprint + .fabric-note{ margin-top:34px; }
.post-card{ background:var(--white); border:1px solid #e7e1d4; display:flex; flex-direction:column; transition:transform .4s var(--ease-expo), box-shadow .4s ease, border-color .3s ease; text-decoration:none; }
.post-card:hover{ transform:translateY(-6px); box-shadow:0 20px 44px rgba(4,30,66,.12); border-color:var(--copper); }
.post-card .pc-img{ aspect-ratio:16/10; width:100%; object-fit:cover; display:block; background:var(--navy-dark); }
.post-card div.pc-img{ display:flex; align-items:center; justify-content:center; }
.post-feature{ max-width:1040px; margin:0 auto; padding:28px 36px 0; }
.post-feature img{ width:100%; aspect-ratio:16/9; object-fit:cover; display:block; border:1px solid rgba(176,121,89,.3); }
.post-card .pc-body{ padding:24px 24px 28px; }
.post-card .pc-cat{ font-family:'Josefin Sans',sans-serif; font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--copper-dark); }
.post-card h3{ font-size:22px; margin:8px 0 8px; color:var(--navy); line-height:1.2; }
.post-card p{ font-size:14.5px; color:var(--mid-dark); margin:0; }
.article{ background:var(--white); }
.article .wrap-narrow{ padding-top:60px; padding-bottom:60px; }
.article h1{ color:var(--navy); }
.article h2{ font-size:clamp(26px,3.4vw,38px); margin-top:42px; }
.article p, .article li{ font-size:18px; color:#433f3a; line-height:1.85; }
.article ul,.article ol{ margin:0 0 18px 22px; }
.article li{ margin-bottom:8px; }
.article a{ color:var(--copper-dark); text-decoration:underline; text-underline-offset:3px; }
.article a.btn{ color:var(--white); text-decoration:none; }
.article a.btn:hover{ color:var(--white); }
.article .meta{ font-family:'Josefin Sans',sans-serif; font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--copper-dark); margin-bottom:14px; }
.breadcrumb{ font-family:'Josefin Sans',sans-serif; font-size:11px; letter-spacing:.12em; text-transform:uppercase; padding:18px 0 0; }
.breadcrumb a{ color:rgba(245,241,232,.7); text-decoration:none; }
.breadcrumb a:hover{ color:var(--copper); }
.post-summary{ background:#f3efe6; border-radius:4px; padding:20px 24px; margin:0 0 32px; }
.post-summary .ps-label{ display:block; font-family:'Josefin Sans',sans-serif; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--copper); margin-bottom:7px; }
.post-summary p{ margin:0; font-size:17px; line-height:1.55; color:var(--navy); }
.post-cta{ background:#faf7f0; border:1px solid #e7e1d4; border-left:3px solid var(--copper); padding:30px 32px; margin:40px 0 0; }
.post-cta p{ margin-bottom:14px; }
.post-related{ margin:44px 0 0; padding:26px 0 0; border-top:1px solid #e7e1d4; }
.post-related h3{ font-family:'Josefin Sans',sans-serif; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--copper); margin-bottom:14px; }
.post-related ul{ list-style:none; padding:0; margin:0; }
.post-related li{ margin:0 0 10px; padding-left:18px; position:relative; }
.post-related li::before{ content:"\2192"; position:absolute; left:0; color:var(--copper); }
.post-related a{ color:var(--navy); font-weight:500; text-decoration:none; border-bottom:1px solid transparent; }
.post-related a:hover{ border-bottom-color:var(--copper); color:var(--copper-dark); }

/* ===== FORMS / CALCULATOR ===== */
.field{ margin-bottom:18px; }
.field label{ display:block; font-family:'Josefin Sans',sans-serif; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--navy); margin-bottom:7px; }
.field input,.field select,.field textarea{ width:100%; padding:13px 15px; border:1px solid #d9d2c4; background:var(--white); font-family:'Jost',sans-serif; font-size:16px; color:var(--navy); }
.field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--copper); }
.calc{ background:var(--white); border:1px solid #e7e1d4; padding:36px; max-width:560px; }
.calc .total{ font-family:'Cormorant Garamond',serif; font-size:46px; color:var(--copper-dark); margin:10px 0 4px; }

/* ===== FIT COMPARISON SLIDER ===== */
.fit-split{ display:grid; grid-template-columns:auto 1fr; gap:60px; align-items:center; }
.fit-split h2 em{ font-style:italic; color:var(--copper-dark); }
.fit-slider{ position:relative; width:340px; aspect-ratio:320/840; overflow:hidden; cursor:ew-resize; touch-action:none; user-select:none; border:1px solid rgba(176,121,89,.3); background:var(--navy-dark); }
.fit-slider > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; pointer-events:none; display:block; }
.fit-before{ position:absolute; left:0; top:0; height:100%; width:50%; overflow:hidden; pointer-events:none; }
.fit-before img{ position:absolute; left:0; top:0; width:340px; max-width:none; height:100%; object-fit:cover; object-position:center; }
.fit-label{ position:absolute; bottom:16px; font-family:'Josefin Sans',sans-serif; font-size:10px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; background:rgba(4,30,66,.6); padding:6px 11px; pointer-events:none; }
.fit-label-l{ left:14px; color:#E7E1D4; }
.fit-label-r{ right:14px; color:var(--copper); }
.fit-handle{ position:absolute; top:0; left:50%; height:100%; width:1.5px; background:var(--copper); transform:translateX(-50%); pointer-events:none; }
.fit-knob{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:46px; height:46px; border-radius:50%; background:var(--navy); border:1.5px solid var(--copper); color:var(--copper); display:flex; align-items:center; justify-content:center; box-shadow:0 4px 18px rgba(0,0,0,.4); }
.fit-points{ display:flex; flex-direction:column; gap:12px; margin:26px 0 30px; }
.fit-points div{ display:flex; gap:14px; font-size:15px; color:var(--taupe); }
.fit-points .n{ font-family:'Cormorant Garamond',serif; font-style:italic; font-size:18px; color:var(--copper-dark); min-width:18px; }
@media(max-width:820px){ .fit-split{ grid-template-columns:1fr; gap:34px; justify-items:center; } .fit-slider{ width:300px; } .fit-before img{ width:300px; } }

/* ===== EXIT-INTENT POPUP ===== */
.crd-pop-overlay{ position:fixed; inset:0; z-index:2000; background:rgba(2,19,43,.72); display:flex; align-items:center; justify-content:center; padding:24px; opacity:0; visibility:hidden; transition:opacity .35s ease, visibility .35s ease; backdrop-filter:blur(3px); }
.crd-pop-overlay.open{ opacity:1; visibility:visible; }
.crd-pop{ position:relative; background:var(--navy); border:1px solid rgba(176,121,89,.5); max-width:540px; width:100%; padding:54px 46px 46px; text-align:center; transform:translateY(18px) scale(.98); transition:transform .4s var(--ease-expo); box-shadow:0 30px 80px rgba(0,0,0,.5); }
.crd-pop-overlay.open .crd-pop{ transform:none; }
.crd-pop-img{ display:block; width:100%; height:140px; object-fit:cover; margin:0 0 22px; border:1px solid rgba(176,121,89,.4); }
.crd-pop .eyebrow{ color:var(--copper); }
.crd-pop h3{ font-family:'Cormorant Garamond',serif; color:var(--text-dark); font-size:34px; line-height:1.12; margin-bottom:14px; }
.crd-pop p{ color:rgba(245,241,232,.85); font-size:16px; margin:0 auto 26px; max-width:42ch; }
.crd-pop .support{ color:rgba(245,241,232,.6); }
.crd-pop-close{ position:absolute; top:14px; right:18px; background:none; border:0; color:rgba(245,241,232,.7); font-size:26px; line-height:1; cursor:pointer; transition:color .2s ease; }
.crd-pop-close:hover{ color:var(--copper); }

/* ===== REVEAL ===== */
.reveal{ opacity:0; transform:translateY(34px); transition:opacity .7s var(--ease-expo), transform .7s var(--ease-expo); will-change:opacity,transform; }
.reveal.is-visible{ opacity:1; transform:none; }
.grid-3 .reveal:nth-child(2),.post-list .reveal:nth-child(2){ transition-delay:.08s; }
.grid-3 .reveal:nth-child(3),.post-list .reveal:nth-child(3){ transition-delay:.16s; }

/* ===== FOOTER ===== */
.foot{ background:var(--navy-dark); padding:70px 0 40px; border-top:1px solid rgba(176,121,89,.28); }
.foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; margin-bottom:40px; }
.foot-brand .foot-logo{ height:54px; margin-bottom:16px; }
.foot-word{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; font-size:26px; letter-spacing:.14em; text-transform:uppercase; color:var(--copper); margin-bottom:16px; }
.foot-brand p{ color:rgba(245,241,232,.72); font-size:14px; max-width:34ch; }
.foot-col h5{ font-family:'Josefin Sans',sans-serif; font-size:11px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--copper); margin-bottom:16px; }
.foot-col a{ display:block; color:rgba(245,241,232,.72); text-decoration:none; font-size:14px; margin-bottom:10px; transition:color .2s ease; }
.foot-col a:hover{ color:var(--copper); }
.foot-areas{ border-top:1px solid rgba(255,255,255,.08); padding-top:22px; margin-bottom:24px; }
.foot-areas h5{ display:inline; font-family:'Josefin Sans',sans-serif; font-size:11px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--copper); margin-right:14px; }
.foot-areas a{ color:rgba(245,241,232,.72); text-decoration:none; font-size:13.5px; }
.foot-areas a:hover{ color:var(--copper); }
.foot-areas .sep{ color:rgba(245,241,232,.35); margin:0 8px; }
.foot-areas .note{ color:rgba(245,241,232,.5); font-size:13px; }
.foot-bottom{ border-top:1px solid rgba(255,255,255,.08); padding-top:26px; display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; }
.foot-bottom .studios-line{ font-family:'Josefin Sans',sans-serif; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:rgba(245,241,232,.72); }
.foot-bottom .studios-line a{ color:inherit; text-decoration:none; transition:color .2s ease; }
.foot-bottom .studios-line a:hover{ color:var(--copper); }
.foot-bottom .legal a{ color:rgba(245,241,232,.7); font-size:12.5px; text-decoration:none; margin-left:18px; }
.foot-bottom .legal a:hover{ color:var(--copper); }
.social{ display:flex; gap:18px; margin-top:18px; }
.social a{ color:rgba(245,241,232,.7); transition:color .25s ease; display:block; }
.social a:hover{ color:var(--copper); }
.social svg{ width:21px; height:21px; display:block; }

@media (max-width:980px){ .foot-grid{ grid-template-columns:1fr 1fr; gap:32px; } }
@media (max-width:820px){
  .nav{ display:none; }
  .burger{ display:flex; }
  .site-head.nav-open .nav{ display:flex; flex-direction:column; align-items:flex-start; position:absolute; top:var(--head-h); left:0; right:0; background:var(--navy); padding:20px 36px 28px; gap:18px; border-bottom:1px solid rgba(176,121,89,.28); }
  .site-head.nav-open .nav .link{ display:block; }
  .site-head.nav-open .nav .btn{ margin-top:6px; }
  section{ padding:72px 0; }
  .split{ grid-template-columns:1fr; gap:34px; }
  .split.rev .txt{ order:0; }
  .grid-3,.grid-2,.quotes,.post-list{ grid-template-columns:1fr; }
  .hero{ min-height:80vh; }
  .hero video{ display:none; }
  .brand-word{ font-size:19px; letter-spacing:.1em; }
  .brand-mark{ height:40px; }
  .foot-grid{ grid-template-columns:1fr; }
  .crd-pop{ padding:46px 28px 36px; }
}
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .marquee-track{ animation:none; }
  .reveal{ opacity:1; transform:none; transition:none; }
  .hero .eyebrow,.hero h1,.hero p,.hero .cta{ animation:none; }
}

/* ---- Product line: horizontal scrolling bar (pricing / custom-suits / fabric) ---- */
.crd-line{position:relative;width:100%;padding:clamp(30px,5vh,54px) 0 clamp(32px,5vh,56px);
  display:flex;flex-direction:column;gap:clamp(16px,2.6vh,28px);color:#f3ece0;overflow:hidden;
  background:radial-gradient(78% 82% at 27% 52%, #7d4a33 0%, #5a3529 20%, #2c2732 42%, #142032 62%, #0c1420 80%, #080d18 100%);}
.crd-line::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg, rgba(4,10,22,.5), transparent 22%, transparent 80%, rgba(3,6,14,.66));}
.crd-line-head{position:relative;z-index:2;text-align:center;padding:0 24px}
.crd-line-eyebrow{font-family:'Josefin Sans',Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:.34em;
  text-transform:uppercase;color:#d59a72;font-weight:600;margin:0 0 8px}
.crd-line-sub{margin:0 auto;max-width:48ch;color:#cdbfa8;font-family:'Jost',Helvetica,Arial,sans-serif;
  font-weight:300;font-size:clamp(14px,1.5vw,16px);line-height:1.5;letter-spacing:.01em}
.crd-line-rail{position:relative;z-index:2;width:100%;overflow-x:auto;overflow-y:hidden;cursor:grab;
  touch-action:pan-x;-ms-overflow-style:none;scrollbar-width:none;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);}
.crd-line-rail::-webkit-scrollbar{display:none}
.crd-line-rail.is-grabbing{cursor:grabbing}
.crd-line-track{display:flex;gap:0;width:max-content;padding:6px 0}
.crd-line-tile{margin:0;flex:0 0 auto;width:clamp(140px,14vw,178px);display:flex;flex-direction:column;
  align-items:center;text-align:center}
.crd-line-img{width:100%;aspect-ratio:3/4;position:relative}
.crd-line-img img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block;
  user-select:none;-webkit-user-drag:none;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 9%,#000 85%,transparent 100%);
          mask-image:linear-gradient(180deg,transparent 0,#000 9%,#000 85%,transparent 100%);}
.crd-line figcaption{margin-top:10px;display:flex;flex-direction:column;gap:4px;padding:0 4px}
.crd-line-name{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(17px,1.9vw,22px);
  font-weight:500;letter-spacing:.01em;color:#f3ece0;line-height:1.1}
.crd-line-price{font-family:'Josefin Sans',Helvetica,Arial,sans-serif;font-size:10.5px;letter-spacing:.2em;
  text-transform:uppercase;color:#d59a72;font-weight:600}
.crd-line-foot{position:relative;z-index:2;text-align:center;font-family:'Jost',Helvetica,Arial,sans-serif;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(205,191,168,.5)}
.crd-line-cta{position:relative;z-index:2;text-align:center}
