@import url('fonts.css');

/* ==========================================================================
   The Sukkah Studio
   Structure lifted from apple.com (two weights, size-driven scale, sub-1%
   accent area, full-bleed band alternation, 980px pills, 44px targets).
   Palette and type from the Quiet Canopy brand kit.
   Editorial full-bleed imagery + slow reveal from audemarspiguet.com.
   Persistent utility bar + generous section headers from designer.webex.com.
   ========================================================================== */

:root{
  /* Quiet Canopy palette */
  --forest:#2F3B33;
  --forest-deep:#25302A;
  --sage:#7B846E;
  --brass:#B89A5B;
  --brass-deep:#8A7038;
  --canvas:#F7F4EE;
  --linen:#E6E0D3;
  --white:#FFFFFF;

  --ink:#222B24;
  --ink-2:#5B6459;
  --ink-on-dark:#F1EEE6;
  --ink-2-on-dark:rgba(241,238,230,.66);
  --hair:rgba(34,43,36,.12);
  --hair-dark:rgba(241,238,230,.18);

  /* type scale — apple.com */
  --t12:12px; --t14:14px; --t17:17px; --t21:21px;
  --t28:28px; --t34:34px; --t40:40px; --t56:56px;

  --display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;

  --wrap:1024px;
  --wrap-wide:1240px;
  --band:112px;
  --nav-h:60px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--canvas);color:var(--ink);
  font-family:var(--sans);font-size:var(--t17);font-weight:400;line-height:1.55;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:var(--brass-deep);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--brass-deep);outline-offset:3px;border-radius:4px}
table{border-collapse:collapse;width:100%}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.wrap-wide{max-width:var(--wrap-wide);margin:0 auto;padding:0 24px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--forest);color:#fff;padding:12px 18px;border-radius:0 0 8px 0}
.skip:focus{left:0}

/* ---------- bands: background does the dividing ---------- */
.band{padding:var(--band) 0}
.band--tight{padding:72px 0}
.band--canvas{background:var(--canvas)}
.band--white{background:var(--white)}
.band--linen{background:var(--linen)}
.band--forest{background:var(--forest);color:var(--ink-on-dark)}
.band--forest .lede,.band--forest .muted{color:var(--ink-2-on-dark)}
.band--forest .eyebrow{color:var(--brass)}
.band--forest a{color:var(--brass)}
.band--forest .hair{border-color:var(--hair-dark)}

/* ---------- type ---------- */
h1,h2,h3,h4{margin:0;font-family:var(--display);font-weight:500;letter-spacing:-.005em;text-wrap:balance}
h1{font-size:64px;line-height:1.02;letter-spacing:-.015em}
h2{font-size:46px;line-height:1.1;letter-spacing:-.012em}
h3{font-size:32px;line-height:1.16}
h4{font-size:24px;line-height:1.25}
p{margin:0}
.eyebrow{
  font-family:var(--sans);font-size:var(--t12);font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);
}
.lede{font-size:var(--t21);line-height:1.5;color:var(--ink-2);max-width:58ch}
.muted{color:var(--ink-2)}
.small{font-size:var(--t14);line-height:1.5}
.tiny{font-size:var(--t12);line-height:1.5;color:var(--ink-2)}
.hair{border:0;border-top:1px solid var(--hair);margin:0}

.head h2,.head h1{margin-top:14px;max-width:24ch}
.head .lede{margin-top:18px}
.head{margin-bottom:52px}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:44px;padding:11px 22px;border-radius:980px;
  border:1px solid transparent;background:none;cursor:pointer;
  font-family:var(--sans);font-size:var(--t17);font-weight:400;line-height:1;
  transition:background-color .22s ease,border-color .22s ease,color .22s ease;
}
.btn:hover{text-decoration:none}
.btn--fill{background:var(--forest);color:var(--canvas)}
.btn--fill:hover{background:var(--forest-deep)}
.btn--brass{background:var(--brass);color:var(--forest)}
.btn--brass:hover{background:#C7AC74}
.btn--line{border-color:var(--hair);color:var(--ink)}
.btn--line:hover{border-color:var(--ink)}
.btn--sm{min-height:36px;padding:8px 16px;font-size:var(--t14)}
.band--forest .btn--fill{background:var(--brass);color:var(--forest)}
.band--forest .btn--fill:hover{background:#C7AC74}
.band--forest .btn--line{border-color:var(--hair-dark);color:var(--ink-on-dark)}
.band--forest .btn--line:hover{border-color:var(--ink-on-dark)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- header ---------- */
.hdr{
  position:sticky;top:0;z-index:60;
  background:rgba(247,244,238,.86);backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--hair);
}
.hdr__in{display:flex;align-items:center;gap:24px;height:var(--nav-h)}
.hdr__mark{flex:0 0 auto;display:flex;align-items:center}
.hdr__mark img{height:17px;width:auto}
.nav{display:flex;gap:26px;margin-left:auto;align-items:center}
.nav a{
  font-size:var(--t14);color:var(--ink);letter-spacing:.01em;
  padding:6px 0;border-bottom:1px solid transparent;
}
.nav a:hover{text-decoration:none;border-bottom-color:var(--brass)}
.nav a[aria-current="page"]{border-bottom-color:var(--brass-deep)}
.hdr .btn{flex:0 0 auto}
.navtoggle{display:none;margin-left:auto;border:1px solid var(--hair);border-radius:980px;
  min-height:36px;padding:8px 14px;font-size:var(--t14);background:none;color:var(--ink);cursor:pointer}

/* ---------- hero ---------- */
.hero{position:relative;padding:104px 0 96px;overflow:hidden}
.hero__in{position:relative;display:grid;grid-template-columns:1fr 1fr;
  gap:56px;align-items:center}
.hero__copy{max-width:none}
.hero__media{position:relative}
.hero__media img{width:100%;height:auto}
.hero h1{max-width:14ch}
.hero .lede{margin-top:24px}
.hero .btn-row{margin-top:34px}
.hero__note{margin-top:26px}

/* schach light — the signature */
.schach{
  position:absolute;inset:0 0 auto 0;height:380px;pointer-events:none;z-index:0;
  background:repeating-linear-gradient(93deg,
    rgba(184,154,91,.20) 0px, rgba(184,154,91,.20) 6px,
    rgba(0,0,0,0) 6px, rgba(0,0,0,0) 29px);
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.22) 48%,transparent);
  mask-image:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.22) 48%,transparent);
  animation:drift 30s linear infinite alternate;
}
@keyframes drift{from{transform:translateX(-16px)}to{transform:translateX(16px)}}

/* ---------- product imagery ---------- */
/* supplier photography is shot on pure white; multiply drops the box out */
.shot{mix-blend-mode:multiply}
.band--forest .shot{mix-blend-mode:normal}
.plate{background:var(--canvas);border-radius:14px;padding:30px;isolation:isolate}
.plate img{border-radius:0}
.band--forest .plate .shot{mix-blend-mode:multiply}
.center{text-align:center}
.center .head h2,.center .head h1,.center .lede{margin-left:auto;margin-right:auto}
.center .btn-row{justify-content:center}
.figure{margin:0}
.figure img{width:100%;height:auto}
.figure figcaption{margin-top:12px;font-size:var(--t12);color:var(--ink-2)}

.showcase{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.showcase--flip .showcase__media{order:2}
.showcase h3{margin-bottom:14px}
.showcase p{color:var(--ink-2)}
.showcase .btn-row{margin-top:26px}
.showcase + .showcase{margin-top:104px}

.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:56px 40px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 40px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:44px 32px}

.card{display:block;color:inherit}
.card:hover{text-decoration:none}
.card__media{background:var(--white);border-radius:14px;overflow:hidden;aspect-ratio:4/3;
  display:flex;align-items:center;justify-content:center;padding:18px}
.band--white .card__media{background:var(--canvas)}
.card__media img{width:100%;height:100%;object-fit:contain}
.card h3,.card h4{margin-top:20px}
.card p{margin-top:8px;color:var(--ink-2);font-size:var(--t14)}
.card__price{margin-top:12px;font-size:var(--t14);color:var(--ink)}
.card:hover h3,.card:hover h4{color:var(--brass-deep)}

/* ---------- configurator ---------- */
.cfg{
  background:var(--white);border-radius:18px;padding:34px;
  display:grid;grid-template-columns:1fr 320px;gap:40px;align-items:start;
}
.band--white .cfg{background:var(--canvas)}
.cfg__field{margin-top:26px}
.cfg__field:first-child{margin-top:0}
.cfg + .cfg{margin-top:28px}
.cfg__label{display:block;font-size:var(--t12);font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-2);margin-bottom:12px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{
  min-height:38px;padding:8px 16px;border-radius:980px;
  border:1px solid var(--hair);background:none;cursor:pointer;
  font-family:var(--sans);font-size:var(--t14);font-weight:400;color:var(--ink);
  transition:background-color .18s ease,border-color .18s ease,color .18s ease;
}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--forest);border-color:var(--forest);color:var(--canvas)}
.chip[disabled]{opacity:.35;cursor:not-allowed}
.chip[disabled]:hover{border-color:var(--hair)}

.cfg__out{background:var(--canvas);border-radius:14px;padding:26px;position:sticky;top:calc(var(--nav-h) + 20px)}
.band--white .cfg__out{background:var(--white)}
.cfg__price{font-family:var(--display);font-size:60px;line-height:1;letter-spacing:-.02em;margin:6px 0 0}
.cfg__break{margin-top:20px;font-size:var(--t14);color:var(--ink-2)}
.cfg__break div{display:flex;justify-content:space-between;gap:16px;padding:6px 0}
.cfg__out .btn{width:100%;margin-top:22px}
.cfg__incl{margin-top:14px;font-size:var(--t12);color:var(--ink-2);text-align:center}

/* ---------- swatches ---------- */
.swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:22px 18px}
.swatch img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;border:1px solid var(--hair)}
.swatch span{display:block;margin-top:10px;font-size:var(--t12);color:var(--ink-2)}

/* ---------- tables ---------- */
.tbl{font-size:var(--t14)}
.tbl caption{text-align:left;font-size:var(--t12);font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-2);padding-bottom:14px}
.tbl th,.tbl td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--hair)}
.tbl th{font-weight:600;color:var(--ink-2);font-size:var(--t12);letter-spacing:.06em;text-transform:uppercase}
.tbl td.num,.tbl th.num{text-align:right;font-variant-numeric:tabular-nums}
.tbl tbody tr:hover{background:rgba(184,154,91,.07)}
.tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* ---------- disclosure ---------- */
.disc{border-top:1px solid var(--hair)}
.disc:last-of-type{border-bottom:1px solid var(--hair)}
.disc summary{
  list-style:none;cursor:pointer;padding:22px 0;display:flex;align-items:center;
  justify-content:space-between;gap:20px;font-size:24px;font-family:var(--display);
}
.disc summary::-webkit-details-marker{display:none}
.disc summary::after{content:"+";font-family:var(--sans);font-size:var(--t21);color:var(--brass-deep);flex:0 0 auto}
.disc[open] summary::after{content:"–"}
.disc__body{padding:0 0 30px}

/* ---------- steps / stats ---------- */
.steps{counter-reset:s}
.step{display:grid;grid-template-columns:56px 1fr;gap:20px;padding:26px 0;border-top:1px solid var(--hair)}
.step:last-child{border-bottom:1px solid var(--hair)}
.step__n{counter-increment:s;font-family:var(--display);font-size:32px;color:var(--brass-deep);line-height:1}
.step__n::before{content:counter(s,decimal-leading-zero)}
.step p{margin-top:6px;color:var(--ink-2);font-size:var(--t14)}

.stats{display:flex;flex-wrap:wrap;gap:56px}
.stat b{display:block;font-family:var(--display);font-size:46px;font-weight:400;line-height:1}
.stat span{display:block;margin-top:8px;font-size:var(--t14);color:var(--ink-2)}
.band--forest .stat span{color:var(--ink-2-on-dark)}

/* ---------- footer ---------- */
.ftr{background:var(--forest);color:var(--ink-on-dark);padding:76px 0 40px}
.ftr a{color:var(--ink-2-on-dark)}
.ftr a:hover{color:var(--brass)}
.ftr__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.ftr__mark img{height:38px;width:auto;margin-bottom:20px}
.ftr h4{font-family:var(--sans);font-size:var(--t12);font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--brass);margin-bottom:16px}
.ftr ul{list-style:none;margin:0;padding:0}
.ftr li{padding:5px 0;font-size:var(--t14)}
.ftr__base{margin-top:56px;padding-top:26px;border-top:1px solid var(--hair-dark);
  display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;font-size:var(--t12);
  color:var(--ink-2-on-dark)}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  :root{--band:84px}
  h1{font-size:44px}
  h2{font-size:36px}
  h3{font-size:27px}
  .cfg{grid-template-columns:1fr;gap:30px}
  .cfg__out{position:static}
  .showcase{grid-template-columns:1fr;gap:32px}
  .hero__in{grid-template-columns:1fr;gap:36px}
  .hero__media{order:-1}
  .showcase--flip .showcase__media{order:0}
  .showcase + .showcase{margin-top:72px}
  .grid3,.grid4{grid-template-columns:repeat(2,1fr)}
  .swatches{grid-template-columns:repeat(4,1fr)}
  .ftr__grid{grid-template-columns:1fr 1fr}
  .nav{display:none;position:absolute;top:var(--nav-h);left:0;right:0;background:var(--canvas);
    flex-direction:column;align-items:flex-start;gap:0;padding:10px 24px 20px;
    border-bottom:1px solid var(--hair)}
  .nav.open{display:flex}
  .nav a{padding:12px 0;font-size:var(--t17);width:100%}
  .navtoggle{display:inline-flex;align-items:center}
  .hdr__in{position:relative}
  .hdr .btn--wa{display:none}
}
@media (max-width:640px){
  :root{--band:64px}
  h1{font-size:36px}
  h2{font-size:30px}
  h3{font-size:24px}
  h4{font-size:21px}
  .lede{font-size:var(--t17)}
  .grid2,.grid3,.grid4{grid-template-columns:1fr;gap:36px}
  .swatches{grid-template-columns:repeat(3,1fr)}
  .ftr__grid{grid-template-columns:1fr}
  .stats{gap:28px}
  .cfg{padding:22px}
  .cfg__price{font-size:var(--t40)}
  .btn-row .btn{width:100%}
  .hero{padding:64px 0 72px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
}
