/* ============================================================
   DESEN HALI — DEMO şablon stylesheet (v3 — dokuma atölyesi)
   Kimlik: "kilim deseni" — sıcak kum + derin petrol yeşili + kiremit.
   Marcellus serif, CSS zikzak kilim bordürleri, saçaklı fotoğraf
   çerçeveleri, dokuma bant istatistikler.
   Not: "Desen Halı" kurgusal bir marka adıdır; içerik temsilîdir.
   ============================================================ */

:root{
  --sand:#f4efe6;
  --sand2:#ebe4d5;
  --teal:#175952;
  --teal-deep:#0f423c;
  --ink:#24312e;
  --mut:#75796f;
  --terra:#c26744;
  --terra-deep:#a34e2e;
  --hair:rgba(23,89,82,.2);
  --hair-soft:rgba(23,89,82,.09);
  --font-head:"Marcellus",Georgia,serif;
  --font-body:"Mulish",system-ui,sans-serif;
  --wrap:1210px;
}

*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth}
body{
  margin:0;font-family:var(--font-body);font-size:16.5px;line-height:1.75;
  color:var(--ink);background:var(--sand);overflow-x:clip;-webkit-font-smoothing:antialiased;
}
[id]{scroll-margin-top:96px}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal)}
h1,h2,h3,h4{font-family:var(--font-head);font-weight:400;line-height:1.14;margin:0 0 .5em;letter-spacing:.015em}
h1 em,h2 em,h3 em{font-style:normal;color:var(--terra-deep)}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:28px}
::selection{background:var(--teal);color:var(--sand)}

/* kilim zikzak bordürü */
.kilim{height:14px;background-repeat:repeat-x;
  background-image:linear-gradient(135deg,var(--teal) 25%,transparent 25%),linear-gradient(225deg,var(--teal) 25%,transparent 25%);
  background-size:18px 14px;background-position:0 0}
.kilim.terra{background-image:linear-gradient(135deg,var(--terra) 25%,transparent 25%),linear-gradient(225deg,var(--terra) 25%,transparent 25%)}
.kilim.flip{transform:scaleY(-1)}
/* saçak */
.fringe{height:16px;background:repeating-linear-gradient(90deg,var(--hair) 0 2px,transparent 2px 8px)}

/* ---------- progress ---------- */
.progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:220;pointer-events:none}
.progress span{display:block;height:100%;width:0;background:var(--terra);transition:width .08s linear}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(244,239,230,.92);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--hair);
}
.nav-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:80px}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--ink);min-height:44px}
.brand-mark{width:46px;height:46px;background:var(--teal);display:grid;place-items:center;flex:none;color:var(--sand);border-radius:0;box-shadow:none;
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.brand-mark svg{width:22px;height:22px}
.brand b{font-family:var(--font-head);font-size:1.28rem;font-weight:400;display:block;line-height:1.05;letter-spacing:.04em}
.brand small{display:block;font-size:.6rem;font-weight:800;color:var(--mut);letter-spacing:.4em;text-transform:uppercase}
.main-nav{display:flex;align-items:center;gap:26px}
.main-nav a{
  display:inline-flex;align-items:center;min-height:44px;position:relative;
  text-decoration:none;color:var(--mut);
  font-weight:800;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;transition:color .2s;
}
.main-nav a::after{content:"";position:absolute;left:0;right:0;bottom:7px;height:5px;opacity:0;transition:opacity .25s;background-repeat:repeat-x;
  background-image:linear-gradient(135deg,var(--terra) 25%,transparent 25%),linear-gradient(225deg,var(--terra) 25%,transparent 25%);
  background-size:8px 5px}
.main-nav a:hover{color:var(--ink)}
.main-nav a[aria-current="page"]{color:var(--teal)}
.main-nav a[aria-current="page"]::after,.main-nav a:hover::after{opacity:1}
.nav-cta{
  display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:0 24px;margin-left:8px;
  background:var(--terra);color:#fff !important;border-radius:0;
  font-weight:800;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;transition:.25s;
}
.nav-cta::after{display:none}
.nav-cta:hover{background:var(--teal)}
.nav-toggle{
  display:none;width:46px;height:46px;border:1px solid var(--hair);background:none;
  cursor:pointer;place-items:center;color:var(--ink);
}
@media(max-width:960px){
  .nav-toggle{display:grid}
  .main-nav{
    position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
    background:var(--sand);border-bottom:1px solid var(--hair);padding:12px 28px 20px;
    opacity:0;visibility:hidden;transform:translateY(-8px);transition:.25s;
  }
  .main-nav.open{opacity:1;visibility:visible;transform:none}
  .main-nav a{min-height:52px;font-size:.9rem}
  .nav-cta{justify-content:center;margin:12px 0 0}
}

/* ---------- hero (dokuma vitrin) ---------- */
.hero-loom{position:relative;overflow:clip;padding:88px 0 96px}
.hero-loom::before{ /* arka fon deseni */
  content:"";position:absolute;inset:0;opacity:.35;pointer-events:none;
  background-image:radial-gradient(var(--hair-soft) 2px,transparent 2px);background-size:36px 36px;
}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.94fr);gap:76px;align-items:center}
@media(max-width:920px){.hero-grid{grid-template-columns:1fr;gap:52px}}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-weight:800;font-size:.74rem;color:var(--teal);letter-spacing:.3em;text-transform:uppercase;margin-bottom:24px}
.eyebrow::before{content:"";width:30px;height:8px;background-repeat:repeat-x;
  background-image:linear-gradient(135deg,var(--terra) 25%,transparent 25%),linear-gradient(225deg,var(--terra) 25%,transparent 25%);background-size:10px 8px}
.eyebrow .dot{display:none}
.hero-loom h1{font-size:clamp(2.9rem,6.6vw,5.4rem);margin:0 0 22px}
.hero-loom h1 .accent{color:var(--terra-deep);position:relative;display:inline-block}
.hero-loom h1 .accent svg{display:none}
.hero-loom h1 .accent::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:8px;background-repeat:repeat-x;
  background-image:linear-gradient(135deg,var(--teal) 25%,transparent 25%),linear-gradient(225deg,var(--teal) 25%,transparent 25%);background-size:12px 8px}
.hero-loom .lead{font-size:1.1rem;color:var(--mut);max-width:31rem;margin-bottom:34px}
.btn-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:11px;
  min-height:54px;padding:0 32px;text-decoration:none;border-radius:0;
  font-weight:800;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;
  transition:.25s;border:2px solid transparent;
}
.btn svg{flex:none}
.btn-primary{background:var(--teal);color:var(--sand)}
.btn-primary:hover{background:var(--terra)}
.btn-ghost{border-color:var(--teal);color:var(--teal)}
.btn-ghost:hover{background:var(--teal);color:var(--sand)}
/* halı çerçeveli fotoğraf */
.hero-rug{position:relative;margin:0}
.hero-rug .weave{
  padding:14px;background:var(--teal);
  background-image:linear-gradient(135deg,rgba(244,239,230,.16) 25%,transparent 25%),linear-gradient(225deg,rgba(244,239,230,.16) 25%,transparent 25%);
  background-size:16px 12px;background-repeat:repeat;
  box-shadow:0 30px 56px -28px rgba(15,66,60,.5);
}
.hero-rug .weave-inner{padding:8px;background:var(--sand);border:1px solid rgba(244,239,230,.4)}
.hero-rug img{width:100%;aspect-ratio:4/4.4;object-fit:cover;filter:saturate(1.04) contrast(1.02)}
.hero-rug::after{ /* saçak */
  content:"";position:absolute;left:8px;right:8px;bottom:-15px;height:15px;
  background:repeating-linear-gradient(90deg,var(--teal) 0 3px,transparent 3px 9px);
}
.hero-rug .price-tag{
  position:absolute;left:-20px;top:36px;background:var(--terra);color:#fff;padding:13px 20px;
  font-weight:800;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  clip-path:polygon(0 50%,14px 0,100% 0,100% 100%,14px 100%);padding-left:30px;
  box-shadow:0 14px 30px -14px rgba(163,78,46,.6);
}
@media(max-width:920px){.hero-rug .price-tag{left:8px}}

/* ---------- sections ---------- */
.section{padding:102px 0;position:relative}
.tinted{background:var(--sand2);border-block:1px solid var(--hair-soft)}
.on-gold{background:var(--teal);color:var(--sand);position:relative}
.on-gold::before,.on-gold::after{content:"";position:absolute;left:0;right:0;height:10px;background-repeat:repeat-x;
  background-image:linear-gradient(135deg,var(--terra) 25%,transparent 25%),linear-gradient(225deg,var(--terra) 25%,transparent 25%);background-size:14px 10px}
.on-gold::before{top:10px}
.on-gold::after{bottom:10px;transform:scaleY(-1)}
.section-head{max-width:50rem;margin-bottom:56px;position:relative}
.section-head.center{margin-inline:auto;text-align:center}
.kicker{
  display:inline-flex;align-items:center;gap:12px;font-weight:800;font-size:.72rem;
  letter-spacing:.34em;text-transform:uppercase;color:var(--terra-deep);margin-bottom:16px;
}
.kicker::before{content:"";width:26px;height:8px;background-repeat:repeat-x;
  background-image:linear-gradient(135deg,var(--terra) 25%,transparent 25%),linear-gradient(225deg,var(--terra) 25%,transparent 25%);background-size:10px 8px}
.section-head.center .kicker::after{content:"";width:26px;height:8px;background-repeat:repeat-x;
  background-image:linear-gradient(135deg,var(--terra) 25%,transparent 25%),linear-gradient(225deg,var(--terra) 25%,transparent 25%);background-size:10px 8px}
.on-gold .kicker{color:var(--sand)}
.section-head h2{font-size:clamp(2.2rem,4.8vw,3.6rem)}
.section-head p{color:var(--mut);font-size:1.05rem;margin:0}
.on-gold .section-head h2{color:var(--sand)}
.on-gold .section-head p{color:rgba(244,239,230,.72)}

/* ---------- kartlar ---------- */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media(max-width:920px){.card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.card-grid{grid-template-columns:1fr}}
.card{
  position:relative;background:#fff;border:1px solid var(--hair-soft);border-top:0;
  padding:40px 30px 30px;display:flex;flex-direction:column;gap:8px;transition:.25s;border-radius:0;
  box-shadow:0 16px 36px -26px rgba(15,66,60,.35);
}
.card::before{content:"";position:absolute;left:0;right:0;top:0;height:9px;background-repeat:repeat-x;
  background-image:linear-gradient(135deg,var(--teal) 25%,transparent 25%),linear-gradient(225deg,var(--teal) 25%,transparent 25%);background-size:12px 9px;transition:.25s}
a.card{text-decoration:none;color:inherit}
.card:hover{transform:translateY(-5px);box-shadow:0 26px 48px -28px rgba(15,66,60,.45)}
.card:hover::before{background-image:linear-gradient(135deg,var(--terra) 25%,transparent 25%),linear-gradient(225deg,var(--terra) 25%,transparent 25%)}
.card .icon{width:50px;height:50px;background:var(--sand);color:var(--teal);display:grid;place-items:center;margin-bottom:16px;transition:.25s;border:0;border-radius:0;
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.card:hover .icon{background:var(--terra);color:#fff}
.card h3{font-size:1.3rem;margin-bottom:6px}
.card p{color:var(--mut);font-size:.94rem;margin:0;line-height:1.7}
.card .more{margin-top:auto;padding-top:16px;font-weight:800;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--terra-deep);display:inline-flex;align-items:center;gap:8px;transition:gap .25s}
.card:hover .more{gap:16px}

/* ---------- stats (dokuma bant) ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
@media(max-width:860px){.stats{grid-template-columns:repeat(2,1fr)}}
.stat{padding:42px 26px;text-align:center;transition:background .3s;background:transparent;border-radius:0;border-right:1px solid rgba(244,239,230,.2)}
.stat:last-child{border-right:0}
@media(max-width:860px){.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid rgba(244,239,230,.2)}}
.stat:hover{background:rgba(244,239,230,.06);transform:none}
.stat b{font-family:var(--font-head);font-size:clamp(2.5rem,4.8vw,3.8rem);font-weight:400;display:block;color:var(--sand);font-variant-numeric:tabular-nums;line-height:1}
.stat b em{font-style:normal;color:var(--terra)}
.stat > span{color:rgba(244,239,230,.66);font-size:.72rem;font-weight:800;letter-spacing:.26em;text-transform:uppercase;display:block;margin-top:12px}
.stat b span{font:inherit;color:inherit;display:inline;margin:0;letter-spacing:inherit}

/* ---------- split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center}
@media(max-width:880px){.split{grid-template-columns:1fr;gap:44px}}
.split-photo{width:100%;aspect-ratio:4/3;object-fit:cover;border:8px solid #fff;outline:1px solid var(--hair);border-radius:0;
  box-shadow:0 26px 50px -30px rgba(15,66,60,.4);filter:saturate(1.04)}
.checks{list-style:none;margin:0 0 34px;padding:0;display:grid;gap:0}
.checks li{display:flex;gap:16px;align-items:flex-start;color:var(--mut);padding:15px 0;border-bottom:1px solid var(--hair-soft);line-height:1.75}
.checks li b{color:var(--ink)}
.checks .tick{flex:none;width:24px;height:24px;background:var(--teal);color:var(--sand);display:grid;place-items:center;margin-top:3px;border-radius:0;
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}

/* ---------- vitrin ---------- */
.shot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
@media(max-width:880px){.shot-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.shot-grid{grid-template-columns:1fr}}
.shot{position:relative;overflow:visible;margin:0 0 16px;background:#fff;padding:10px;border:1px solid var(--hair-soft);border-radius:0;
  box-shadow:0 20px 42px -28px rgba(15,66,60,.4);transition:.25s}
.shot::after{content:"";position:absolute;left:10px;right:10px;bottom:-14px;height:14px;
  background:repeating-linear-gradient(90deg,var(--hair) 0 2px,transparent 2px 8px)}
.shot:hover{transform:translateY(-5px)}
.shot img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:saturate(1.05);transition:filter .4s}
.shot figcaption{
  padding:12px 6px 4px;text-align:center;
  font-family:var(--font-head);font-size:1.05rem;color:var(--teal);
}

/* ---------- alıntı bandı ---------- */
.plx-band{position:relative;overflow:clip;padding:130px 0;background:var(--teal-deep);text-align:center}
.plx-band-bg{position:absolute;left:0;right:0;top:-140px;bottom:-140px;width:100%;height:calc(100% + 280px);
  object-fit:cover;opacity:.18;will-change:transform;pointer-events:none;filter:saturate(.6) brightness(.75)}
.plx-band::before,.plx-band::after{content:"";position:absolute;left:0;right:0;height:12px;z-index:4;background-repeat:repeat-x;
  background-image:linear-gradient(135deg,var(--terra) 25%,transparent 25%),linear-gradient(225deg,var(--terra) 25%,transparent 25%);background-size:16px 12px}
.plx-band::before{top:14px}
.plx-band::after{bottom:14px;transform:scaleY(-1)}
.plx-band-inner{position:relative;z-index:3;max-width:50rem;margin-inline:auto}
.plx-band-inner blockquote{
  margin:0 0 20px;font-family:var(--font-head);color:var(--sand);
  font-size:clamp(1.9rem,4.4vw,3.2rem);line-height:1.28;
}
.plx-band-inner blockquote em{font-style:normal;color:#e5a183}
.plx-band-sign{color:#e5a183;font-weight:800;font-size:.72rem;letter-spacing:.38em;text-transform:uppercase;margin:0}
.plx-band-sign::before{display:none}

/* ---------- CTA ---------- */
.cta-band{
  position:relative;overflow:clip;border:0;border-radius:0;
  padding:64px 58px 72px;display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between;
  background:var(--terra);color:#fff;box-shadow:0 26px 52px -28px rgba(163,78,46,.55);
}
.cta-band::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background-repeat:repeat-x;
  background-image:linear-gradient(135deg,rgba(255,255,255,.35) 25%,transparent 25%),linear-gradient(225deg,rgba(255,255,255,.35) 25%,transparent 25%);background-size:14px 10px;transform:scaleY(-1)}
@media(max-width:640px){.cta-band{padding:44px 28px 56px}}
.cta-band h2{font-size:clamp(1.9rem,3.6vw,2.8rem);margin:0 0 8px;max-width:34rem;color:#fff}
.cta-band p{color:rgba(255,255,255,.85);margin:0}
.cta-band .btn-primary{background:#fff;color:var(--terra-deep)}
.cta-band .btn-primary:hover{background:var(--teal);color:var(--sand)}
.cta-band .motif-bg{position:absolute;right:24px;top:-28px;opacity:.14;pointer-events:none;color:#fff}

/* ---------- iletişim ---------- */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media(max-width:880px){.contact-grid{grid-template-columns:1fr}}
.contact-card{padding:40px 30px 32px;background:#fff;border:1px solid var(--hair-soft);position:relative;text-align:left;transition:.25s;border-radius:0;
  box-shadow:0 16px 36px -26px rgba(15,66,60,.35)}
.contact-card::before{content:"";position:absolute;left:0;right:0;top:0;height:9px;background-repeat:repeat-x;
  background-image:linear-gradient(135deg,var(--teal) 25%,transparent 25%),linear-gradient(225deg,var(--teal) 25%,transparent 25%);background-size:12px 9px}
.contact-card:hover{transform:translateY(-4px)}
.contact-card .icon{width:50px;height:50px;background:var(--sand);color:var(--teal);display:grid;place-items:center;margin:0 0 18px;border:0;border-radius:0;
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.contact-card h3{font-size:1.24rem}
.contact-card p{color:var(--mut);font-size:.95rem;margin-bottom:12px;line-height:1.8}
.contact-card a.link{font-weight:800;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;display:inline-flex;align-items:center;min-height:44px;color:var(--terra-deep);text-decoration:none}
.map-frame{border:8px solid #fff;outline:1px solid var(--hair);width:100%;height:440px;display:block;border-radius:0;box-shadow:0 20px 42px -28px rgba(15,66,60,.4);filter:sepia(.14) saturate(.9)}

/* ---------- form ---------- */
.form-panel{border:1px solid var(--hair-soft);border-top:9px solid transparent;padding:44px;background:#fff;border-radius:0;position:relative;
  box-shadow:0 22px 46px -28px rgba(15,66,60,.4)}
.form-panel::before{content:"";position:absolute;left:0;right:0;top:0;height:9px;background-repeat:repeat-x;
  background-image:linear-gradient(135deg,var(--teal) 25%,transparent 25%),linear-gradient(225deg,var(--teal) 25%,transparent 25%);background-size:12px 9px}
@media(max-width:640px){.form-panel{padding:28px 20px}}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:640px){.form-grid{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/-1}
.field label{font-weight:800;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--mut)}
.field input,.field select,.field textarea{
  font:inherit;color:var(--ink);background:var(--sand);
  border:1px solid var(--hair);padding:12px 14px;min-height:50px;transition:.2s;width:100%;border-radius:0;
}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--teal);background:#fff;box-shadow:0 0 0 3px rgba(23,89,82,.14)}
.form-note{font-size:.82rem;color:var(--mut);margin:16px 0 0}
.form-ok{display:none;margin-top:16px;padding:15px 18px;background:rgba(47,158,87,.1);color:#26663f;font-weight:800;border:1px solid rgba(47,158,87,.4);border-radius:0}
.form-ok.show{display:block}

/* ---------- iç sayfa girişleri ---------- */
.page-hero{position:relative;overflow:clip;padding:88px 0 66px;border-bottom:0;background:none}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:12px;background-repeat:repeat-x;
  background-image:linear-gradient(135deg,var(--teal) 25%,transparent 25%),linear-gradient(225deg,var(--teal) 25%,transparent 25%);background-size:16px 12px}
.page-hero h1{font-size:clamp(2.5rem,5.8vw,4.3rem)}
.page-hero h1 em{font-style:normal;color:var(--terra-deep)}
.page-hero .lead{color:var(--mut);font-size:1.06rem;max-width:44rem;margin:0}
.crumbs{display:flex;gap:12px;align-items:center;font-size:.7rem;font-weight:800;letter-spacing:.28em;text-transform:uppercase;color:var(--mut);margin-bottom:20px;flex-wrap:wrap}
.crumbs a{color:var(--terra-deep);text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.crumbs a:hover{color:var(--teal)}

/* ---------- misc ---------- */
.note-strip{display:flex;gap:16px;align-items:flex-start;border:1px solid var(--hair);padding:22px 24px;color:var(--mut);font-size:.94rem;background:#fff;border-radius:0}
.note-strip svg{flex:none;margin-top:2px;color:var(--terra)}

/* ---------- footer ---------- */
.site-footer{border-top:0;margin-top:102px;position:relative;overflow:clip;background:var(--teal-deep);color:var(--sand)}
.site-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:12px;background-repeat:repeat-x;
  background-image:linear-gradient(135deg,var(--terra) 25%,transparent 25%),linear-gradient(225deg,var(--terra) 25%,transparent 25%);background-size:16px 12px}
.foot-word{
  display:block;text-align:center;font-family:var(--font-head);
  font-size:clamp(3.2rem,10vw,8.4rem);line-height:1.12;padding:52px 0 0;letter-spacing:.06em;
  color:rgba(244,239,230,.06);user-select:none;
}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:44px;padding:24px 0 46px}
@media(max-width:880px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr}}
.site-footer h4{color:var(--sand);font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;margin-bottom:18px;font-family:var(--font-body);font-weight:800}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.site-footer ul a{color:rgba(244,239,230,.62);text-decoration:none;display:inline-flex;align-items:center;min-height:38px;transition:.2s;font-size:.94rem}
.site-footer ul a:hover{color:#e5a183}
.site-footer .brand b{color:var(--sand)}
.site-footer .brand small{color:rgba(244,239,230,.55)}
.site-footer .brand-mark{background:var(--terra);color:#fff}
.site-footer p{color:rgba(244,239,230,.62);font-size:.92rem;line-height:1.8}
.footer-bottom{border-top:1px solid rgba(244,239,230,.14);padding:24px 0;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:.78rem;color:rgba(244,239,230,.5)}
.social{display:flex;gap:10px;margin-top:18px}
.social a{width:44px;height:44px;background:rgba(244,239,230,.1);display:grid;place-items:center;color:var(--sand);text-decoration:none;transition:.25s;border:0;border-radius:0;
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.social a:hover{background:var(--terra);color:#fff;transform:none}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.6,.2,1),transform .8s cubic-bezier(.2,.6,.2,1)}
.reveal.in{opacity:1;transform:none}
.stagger>*{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1)}
.stagger.in>*{opacity:1;transform:none}
.stagger.in>*:nth-child(1){transition-delay:.05s}
.stagger.in>*:nth-child(2){transition-delay:.12s}
.stagger.in>*:nth-child(3){transition-delay:.19s}
.stagger.in>*:nth-child(4){transition-delay:.26s}
.stagger.in>*:nth-child(5){transition-delay:.33s}
.stagger.in>*:nth-child(6){transition-delay:.4s}
.stagger.in>*:nth-child(7){transition-delay:.47s}
.stagger.in>*:nth-child(8){transition-delay:.54s}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--terra);outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001s !important;animation-iteration-count:1 !important;transition-duration:.001s !important}
  .reveal,.stagger>*{opacity:1;transform:none}
  [data-plx]{transform:none !important}
}
