/* ═══════════════════════════════════════════
   PORICHA · look.css  — Mobile-first
   Palette: Paper / Terrakotta / Salbei
═══════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=Lora:ital,wght@0,400;0,500;1,400;1,500&display=swap');

:root {
  --paper:      #F4EFE6;
  --paper-dark: #EAE3D6;
  --ink:        #1E1B18;
  --ink-mid:    #4A4540;
  --ink-light:  #9A9088;
  --terra:      #B85A35;
  --terra-dark: #8C3E1E;
  --terra-pale: #F0D4C4;
  --sage-pale:  #D6E2D0;
  --rule:       #D2C8BA;
  --ff-head:    'Syne', sans-serif;
  --ff-body:    'Lora', Georgia, serif;
  --ease:       cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--ff-body);
  font-size: 17px;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  max-width: 100vw;
}
img { display:block; max-width:100%; }

/* ── TYPOGRAPHY ─────────────────────────── */
h1,h2,h3,h4,h5 { font-family:var(--ff-head); line-height:1.1; font-weight:700; }

.display {
  font-size: clamp(2.4rem, 8vw, 8rem);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: .95;
  text-transform: uppercase;
}
.display em {
  font-style: italic;
  font-family: var(--ff-body);
  font-weight: 400;
  font-size: .72em;
  letter-spacing: 0;
  text-transform: none;
  color: var(--terra);
  display: block;
  margin-top: .12em;
}
.heading-lg {
  font-size: clamp(1.6rem, 4vw, 3.6rem);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: -.02em;
}
.label {
  font-family: var(--ff-head);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--terra);
  display: block;
}

/* ── LAYOUT ─────────────────────────────── */
.wrap { max-width:1360px; margin:0 auto; padding:0 20px; }
@media (min-width:600px)  { .wrap { padding:0 32px; } }
@media (min-width:1024px) { .wrap { padding:0 48px; } }

.sec    { padding: 60px 0; }
.sec-sm { padding: 40px 0; }
@media (min-width:768px) {
  .sec    { padding: 96px 0; }
  .sec-sm { padding: 60px 0; }
}

/* ── BUTTONS ────────────────────────────── */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--ff-head); font-size: 12px; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  text-decoration: none; cursor: pointer; border: none;
  transition: all .3s var(--ease); white-space: nowrap; padding: 13px 22px;
}
.btn-terra   { background:var(--terra);   color:#fff; }
.btn-terra:hover  { background:var(--terra-dark); }
.btn-outline { background:transparent; color:var(--terra); border:2px solid var(--terra); }
.btn-outline:hover { background:var(--terra); color:#fff; }
.btn-ink     { background:var(--ink); color:var(--paper); }
.btn-ink:hover { background:var(--terra); }
.btn-white   { background:#fff; color:var(--terra); }
.btn-white:hover { background:var(--terra-pale); }

/* ── ANIMATIONS ─────────────────────────── */
@keyframes fadeIn  { from{opacity:0}          to{opacity:1}      }
@keyframes slideUp { from{opacity:0;transform:translateY(32px)} to{opacity:1;transform:none} }
@keyframes marquee { to { transform:translateX(-50%); } }
@keyframes spin    { to { transform:rotate(360deg); }  }

.anim-in { animation:slideUp .9s var(--ease) both; }
.d1{animation-delay:.1s} .d2{animation-delay:.3s} .d3{animation-delay:.5s} .d4{animation-delay:.7s}

[data-reveal] { opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
[data-reveal].vis { opacity:1; transform:none; }

/* ── NAV ────────────────────────────────── */
#nav {
  position: fixed; top:0; left:0; right:0; z-index:200;
  transition: background .4s var(--ease), border-color .4s;
  border-bottom: 1px solid transparent;
}
#nav.sticked { background:var(--paper); border-color:var(--rule); }

.nav-inner { display:flex; align-items:center; height:58px; }
@media (min-width:600px) { .nav-inner { height:68px; } }

.nav-logo {
  font-family:var(--ff-head); font-weight:800; font-size:1.1rem;
  letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink); text-decoration:none; white-space:nowrap; flex-shrink:0;
}
.nav-logo span { color:var(--terra); }
@media (min-width:900px) {
  .nav-logo { font-size:1.3rem; padding-right:24px; border-right:1px solid var(--rule); margin-right:24px; }
}

.nav-links { display:none; align-items:center; gap:22px; flex:1; }
@media (min-width:900px) { .nav-links { display:flex; } }

.nav-a {
  font-family:var(--ff-head); font-size:12px; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink-mid);
  text-decoration:none; position:relative; white-space:nowrap; transition:color .3s;
}
.nav-a::after { content:''; position:absolute; bottom:-3px; left:0; right:100%; height:2px; background:var(--terra); transition:right .3s var(--ease); }
.nav-a:hover,.nav-a.on { color:var(--terra); }
.nav-a:hover::after,.nav-a.on::after { right:0; }

.nav-cta { margin-left:auto; display:flex; align-items:center; gap:8px; flex-shrink:0; }
.nav-cta .btn-terra { display:none; }
@media (min-width:640px) { .nav-cta .btn-terra { display:inline-flex; } }

.hamburger {
  background:none; border:none; cursor:pointer; font-size:22px; color:var(--ink);
  padding:8px; line-height:1; touch-action:manipulation; flex-shrink:0;
}
@media (min-width:900px) { .hamburger { display:none; } }

/* ── MOBILE MENU ────────────────────────── */
.mob-menu {
  display:none; position:fixed; inset:0; z-index:210;
  background:var(--paper); flex-direction:column;
  align-items:flex-start; justify-content:center;
  padding:80px 24px 40px; overflow-y:auto;
}
.mob-menu.open { display:flex; animation:fadeIn .3s; }
.mob-menu a {
  font-family:var(--ff-head); font-size:clamp(1.7rem,7vw,2.6rem); font-weight:800;
  text-transform:uppercase; color:var(--ink); text-decoration:none;
  padding:12px 0; border-bottom:1px solid var(--rule); width:100%; transition:color .2s;
}
.mob-menu a:last-child { border-bottom:none; }
.mob-menu a:hover,.mob-menu a:active { color:var(--terra); }
.mob-close {
  position:absolute; top:14px; right:14px; background:none; border:none;
  font-size:26px; color:var(--ink); cursor:pointer; padding:10px; line-height:1; touch-action:manipulation;
}

/* ── HERO ───────────────────────────────── */
#hero { display:flex; flex-direction:column; min-height:100svh; overflow:hidden; }
@media (min-width:900px) { #hero { flex-direction:row; min-height:100vh; } }

.hero-left {
  flex:1; display:flex; flex-direction:column; justify-content:flex-end;
  padding:76px 20px 44px; position:relative; background:var(--paper); min-height:65svh;
}
@media (min-width:600px) { .hero-left { padding:96px 32px 56px; } }
@media (min-width:900px) { .hero-left { padding:140px 52px 96px 48px; min-height:unset; flex:1; } }

.hero-right {
  height:52vw; min-height:220px; max-height:420px;
  position:relative; background:var(--terra); overflow:hidden; flex-shrink:0;
}
@media (min-width:900px) { .hero-right { height:unset; max-height:unset; min-height:unset; flex:1; } }

.hero-right img {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; mix-blend-mode:multiply; opacity:.75;
}
.hero-right-badge {
  position:absolute; bottom:14px; right:14px;
  width:80px; height:80px;
  border:1px solid rgba(255,255,255,.4); border-radius:50%;
  display:flex; align-items:center; justify-content:center; text-align:center;
  color:#fff; font-family:var(--ff-head); font-size:7.5px; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase; line-height:1.5;
  animation:spin 18s linear infinite;
}
@media (min-width:900px) { .hero-right-badge { width:118px; height:118px; font-size:9px; bottom:36px; right:36px; } }

.hero-tag-vert { display:none; }
.hero-num      { display:none; }
.hero-scroll-hint { display:none; }
@media (min-width:900px) {
  .hero-scroll-hint {
    display:flex; position:absolute; bottom:40px; left:48px;
    align-items:center; gap:14px;
    font-family:var(--ff-head); font-size:11px; letter-spacing:.2em;
    text-transform:uppercase; color:var(--ink-light);
  }
  .scroll-line { width:44px; height:1px; background:var(--terra); }
}

.hero-cta { margin-top:24px; display:flex; flex-direction:column; gap:10px; }
@media (min-width:440px) { .hero-cta { flex-direction:row; flex-wrap:wrap; gap:12px; } }
.hero-cta .btn { width:100%; justify-content:center; }
@media (min-width:440px) { .hero-cta .btn { width:auto; } }

/* ── MARQUEE ────────────────────────────── */
.manifesto { background:var(--ink); padding:32px 0; overflow:hidden; }
.manifesto-track {
  display:flex; gap:40px; white-space:nowrap;
  animation:marquee 28s linear infinite; width:max-content;
}
.manifesto-track span { font-family:var(--ff-head); font-size:clamp(.95rem,2.5vw,2rem); font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--paper); }
.manifesto-track .dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--terra); margin:0 4px; vertical-align:middle; }

/* ── STATS ──────────────────────────────── */
.stats-row { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--rule); border-left:1px solid var(--rule); }
@media (min-width:768px) { .stats-row { grid-template-columns:repeat(4,1fr); } }
.stat-cell { padding:22px 14px; border-right:1px solid var(--rule); border-bottom:1px solid var(--rule); }
@media (min-width:600px)  { .stat-cell { padding:28px 18px; } }
@media (min-width:1024px) { .stat-cell { padding:38px 24px; } }
.stat-big { font-family:var(--ff-head); font-size:2rem; font-weight:800; color:var(--terra); letter-spacing:-.03em; line-height:1; margin-bottom:8px; }
@media (min-width:768px) { .stat-big { font-size:2.8rem; } }
.stat-txt { font-size:14px; color:var(--ink-mid); font-style:italic; line-height:1.5; }

/* ── SERVICES INTRO ─────────────────────── */
.sec-intro { margin-bottom:32px; }
.sec-intro .intro-text { font-style:italic; color:var(--ink-mid); font-size:17px; line-height:1.8; margin-top:14px; }
@media (min-width:900px) {
  .sec-intro { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:end; margin-bottom:52px; }
  .sec-intro .intro-text { margin-top:0; }
}

/* ── SERVICES LIST ──────────────────────── */
.svc-list { list-style:none; }
.svc-item { display:grid; grid-template-columns:38px 1fr; gap:12px; padding:20px 0; border-top:1px solid var(--rule); }
.svc-item:last-child { border-bottom:1px solid var(--rule); }
@media (min-width:768px) {
  .svc-item { grid-template-columns:56px 1fr 44px; gap:20px; padding:26px 10px; transition:background .25s; }
  .svc-item:hover { background:var(--terra-pale); }
  .svc-icon-col { display:flex; align-items:center; justify-content:flex-end; font-size:1.3rem; color:var(--terra); }
}
.svc-num  { font-family:var(--ff-head); font-size:.85rem; font-weight:700; color:var(--terra); letter-spacing:.08em; padding-top:3px; }
.svc-name { font-family:var(--ff-head); font-size:clamp(.95rem,2vw,1.6rem); font-weight:700; text-transform:uppercase; letter-spacing:-.01em; margin-bottom:4px; }
.svc-desc { font-size:15px; color:var(--ink-mid); font-style:italic; line-height:1.6; }
.svc-icon-col { display:none; }

/* ── PORT HEADER ────────────────────────── */
.port-header { margin-bottom:24px; }
.port-header .btn { display:block; margin-top:16px; text-align:center; }
@media (min-width:640px) {
  .port-header { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-bottom:32px; }
  .port-header .btn { display:inline-flex; margin-top:0; text-align:unset; }
}

/* ── PORTFOLIO ──────────────────────────── */
.port-grid { display:grid; grid-template-columns:1fr; gap:4px; }
@media (min-width:540px) { .port-grid { grid-template-columns:1fr 1fr; } }
@media (min-width:900px) {
  .port-grid { grid-template-columns:repeat(12,1fr); }
  .port-a { grid-column:1/8;   grid-row:1/3; min-height:500px; }
  .port-b { grid-column:8/13;  grid-row:1/2; min-height:248px; }
  .port-c { grid-column:8/11;  grid-row:2/3; min-height:248px; }
  .port-d { grid-column:11/13; grid-row:2/3; min-height:248px; }
  .port-e { grid-column:1/5;   grid-row:3/4; min-height:270px; }
  .port-f { grid-column:5/13;  grid-row:3/4; min-height:270px; }
}
.port-item { position:relative; overflow:hidden; cursor:pointer; min-height:210px; }
.port-item img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.port-item:hover img { transform:scale(1.07); }
.port-over {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(30,27,24,.85) 0%, transparent 55%);
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:18px; opacity:1; transition:opacity .4s, transform .4s var(--ease);
}
@media (min-width:901px) {
  .port-over { opacity:0; transform:translateY(8px); }
  .port-item:hover .port-over { opacity:1; transform:none; }
}
.port-cat   { font-family:var(--ff-head); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--terra-pale); margin-bottom:4px; }
.port-title { font-family:var(--ff-head); font-size:1.1rem; font-weight:700; color:#fff; }

/* ── ABOUT SPLIT ────────────────────────── */
.about-split { display:flex; flex-direction:column; }
@media (min-width:900px) { .about-split { flex-direction:row; min-height:580px; } }
.about-img-col { position:relative; overflow:hidden; background:var(--terra); min-height:260px; flex-shrink:0; }
@media (min-width:600px) { .about-img-col { min-height:320px; } }
@media (min-width:900px) { .about-img-col { flex:1; min-height:unset; } }
.about-img-col img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; mix-blend-mode:multiply; opacity:.72; }
.about-text-col { background:var(--ink); color:var(--paper); padding:44px 20px; }
@media (min-width:600px) { .about-text-col { padding:52px 32px; } }
@media (min-width:900px) { .about-text-col { flex:1; padding:72px 52px; display:flex; flex-direction:column; justify-content:center; } }
.about-text-col .heading-lg { color:var(--paper); margin-top:12px; margin-bottom:18px; }
.about-text-col p { color:rgba(244,239,230,.72); font-size:17px; line-height:1.85; margin-bottom:14px; }
.about-text-col p:last-of-type { margin-bottom:30px; }

/* ── PROCESS ────────────────────────────── */
.proc-grid { display:grid; grid-template-columns:1fr; gap:0; }
@media (min-width:560px) { .proc-grid { grid-template-columns:1fr 1fr; } }
@media (min-width:900px) { .proc-grid { grid-template-columns:repeat(4,1fr); } }
.proc-item { padding:22px 16px; border-left:3px solid var(--rule); position:relative; transition:border-color .3s; }
@media (min-width:900px) { .proc-item { padding:36px 22px; } }
.proc-item:hover { border-color:var(--terra); }
.proc-item::before { content:''; position:absolute; top:22px; left:-9px; width:14px; height:14px; border-radius:50%; background:var(--paper-dark); border:2px solid var(--rule); transition:background .3s, border-color .3s; }
@media (min-width:900px) { .proc-item::before { top:36px; } }
.proc-item:hover::before { background:var(--terra); border-color:var(--terra); }
.proc-n { font-family:var(--ff-head); font-size:2rem; font-weight:800; color:var(--terra-pale); margin-bottom:10px; }
.proc-item h4 { font-size:1rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; margin-bottom:8px; }
.proc-item p  { font-size:15px; color:var(--ink-mid); line-height:1.75; }

/* ── TESTIMONIALS ───────────────────────── */
.testi-wrap { max-width:820px; margin:0 auto; }
.testi-slide { display:none; }
.testi-slide.active-slide { display:block; animation:slideUp .5s var(--ease) both; }
.testi-quote { font-family:var(--ff-body); font-style:italic; font-size:clamp(1rem,2.5vw,1.65rem); line-height:1.65; color:var(--ink); text-align:center; margin-bottom:28px; position:relative; padding-top:52px; }
.testi-quote::before { content:'\201C'; position:absolute; top:-6px; left:50%; transform:translateX(-50%); font-size:6rem; color:var(--terra-pale); font-family:var(--ff-body); line-height:1; }
.testi-author { display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; }
.testi-line { width:30px; height:2px; background:var(--terra); flex-shrink:0; }
.testi-name { font-family:var(--ff-head); font-size:12px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.testi-loc  { font-size:14px; color:var(--ink-light); margin-top:8px; text-align:center; }
.testi-dots { display:flex; gap:10px; justify-content:center; margin-top:28px; }
.testi-dot  { width:10px; height:10px; border-radius:50%; background:var(--rule); border:none; cursor:pointer; transition:background .3s; touch-action:manipulation; }
.testi-dot.active { background:var(--terra); }

/* ── CONTACT ────────────────────────────── */
.contact-wrap { display:grid; grid-template-columns:1fr; gap:32px; }
@media (min-width:900px) { .contact-wrap { grid-template-columns:1fr 1.5fr; gap:64px; align-items:start; } }
.contact-info-item { display:flex; gap:14px; align-items:flex-start; padding:16px 0; border-bottom:1px solid var(--rule); }
.c-icon { width:42px; height:42px; min-width:42px; background:var(--terra-pale); display:flex; align-items:center; justify-content:center; color:var(--terra); font-size:17px; flex-shrink:0; }
.c-lbl  { font-family:var(--ff-head); font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-light); margin-bottom:4px; }
.c-val  { font-size:16px; color:var(--ink); line-height:1.6; }
.c-val a { color:var(--ink); text-decoration:none; transition:color .2s; }
.c-val a:hover { color:var(--terra); }
.socials { display:flex; gap:10px; margin-top:18px; flex-wrap:wrap; }
.soc-a { width:42px; height:42px; border:1px solid var(--rule); display:flex; align-items:center; justify-content:center; color:var(--ink-mid); text-decoration:none; font-size:17px; transition:all .25s; }
.soc-a:hover { background:var(--terra); border-color:var(--terra); color:#fff; }

/* ── FORM ───────────────────────────────── */
.f-row { display:grid; grid-template-columns:1fr; gap:0; }
@media (min-width:540px) { .f-row { grid-template-columns:1fr 1fr; gap:14px; } }
.f-group { margin-bottom:14px; }
.f-label { display:block; font-family:var(--ff-head); font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-mid); margin-bottom:7px; }
.f-inp,.f-area,.f-sel { width:100%; background:var(--paper-dark); border:1px solid var(--rule); border-bottom:2px solid var(--rule); color:var(--ink); font-family:var(--ff-body); font-size:16px; padding:12px 14px; outline:none; -webkit-appearance:none; appearance:none; border-radius:0; transition:border-color .3s, background .3s; }
.f-inp:focus,.f-area:focus,.f-sel:focus { border-color:var(--terra); background:#fff; }
.f-inp::placeholder,.f-area::placeholder { color:var(--ink-light); font-style:italic; }
.f-area { resize:vertical; min-height:120px; }
.f-check { display:flex; gap:12px; align-items:flex-start; margin-bottom:18px; }
.f-check input { margin-top:4px; accent-color:var(--terra); flex-shrink:0; width:16px; height:16px; }
.f-check span { font-size:14px; color:var(--ink-mid); line-height:1.6; }
.f-check a { color:var(--terra); }

/* ── POPUP ──────────────────────────────── */
.popup-bg { position:fixed; inset:0; z-index:9999; background:rgba(30,27,24,.78); display:none; align-items:center; justify-content:center; backdrop-filter:blur(8px); padding:20px; }
.popup-bg.show { display:flex; animation:fadeIn .3s; }
.popup-box { background:#fff; padding:36px 22px; max-width:440px; width:100%; text-align:center; animation:slideUp .4s var(--ease); position:relative; }
@media (min-width:480px) { .popup-box { padding:48px 36px; } }
.popup-box::before { content:''; position:absolute; top:0; left:0; width:100%; height:5px; background:var(--terra); }
.popup-ic { width:60px; height:60px; background:var(--terra-pale); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 18px; font-size:24px; color:var(--terra); }
.popup-box h3 { font-size:1.6rem; margin-bottom:10px; }
.popup-box p  { font-size:16px; color:var(--ink-mid); margin-bottom:26px; font-style:italic; }

/* ── COOKIE ─────────────────────────────── */
#ck { position:fixed; bottom:0; left:0; right:0; z-index:400; background:var(--ink); padding:14px 0; transform:translateY(110%); transition:transform .55s var(--ease); }
#ck.up { transform:none; }
.ck-inner { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.ck-txt   { font-size:14px; color:rgba(244,239,230,.75); flex:1; min-width:180px; line-height:1.5; }
.ck-txt a { color:var(--terra-pale); text-decoration:underline; }
.ck-btns  { display:flex; gap:8px; flex-shrink:0; }
@media (max-width:560px) { .ck-inner { flex-direction:column; align-items:stretch; } .ck-btns { width:100%; } .btn-ck-no,.btn-ck-yes { flex:1; text-align:center; } }
.btn-ck-no  { background:transparent; border:1px solid rgba(244,239,230,.3); color:rgba(244,239,230,.65); padding:10px 14px; font-family:var(--ff-head); font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; cursor:pointer; white-space:nowrap; transition:all .25s; }
.btn-ck-no:hover  { border-color:var(--paper); color:var(--paper); }
.btn-ck-yes { background:var(--terra); border:none; color:#fff; padding:10px 14px; font-family:var(--ff-head); font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; cursor:pointer; white-space:nowrap; transition:background .25s; }
.btn-ck-yes:hover { background:var(--terra-dark); }

/* ── FOOTER ─────────────────────────────── */
footer { background:var(--paper-dark); border-top:1px solid var(--rule); }
.foot-top { display:grid; grid-template-columns:1fr; gap:28px; padding:44px 0 32px; }
@media (min-width:560px)  { .foot-top { grid-template-columns:1fr 1fr; } }
@media (min-width:1024px) { .foot-top { grid-template-columns:2fr 1fr 1fr 1.4fr; gap:40px; padding:60px 0 48px; } }
.foot-logo { font-family:var(--ff-head); font-size:1.5rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--ink); text-decoration:none; display:block; margin-bottom:10px; }
.foot-logo span { color:var(--terra); }
.foot-col h5 { font-family:var(--ff-head); font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--ink); margin-bottom:12px; }
.foot-col a  { display:block; font-size:15px; color:var(--ink-mid); text-decoration:none; margin-bottom:8px; transition:color .2s; }
.foot-col a:hover { color:var(--terra); }
.news-row  { display:flex; }
.news-inp  { flex:1; min-width:0; background:#fff; border:1px solid var(--rule); border-right:none; padding:11px 12px; font-family:var(--ff-body); font-size:15px; color:var(--ink); outline:none; }
.news-inp::placeholder { color:var(--ink-light); font-style:italic; }
.news-btn  { background:var(--terra); border:none; color:#fff; padding:0 14px; font-size:16px; cursor:pointer; flex-shrink:0; transition:background .25s; min-width:44px; }
.news-btn:hover { background:var(--terra-dark); }
.foot-bottom { border-top:1px solid var(--rule); padding:16px 0; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:13px; color:var(--ink-light); }
.foot-bottom a { color:var(--ink-light); text-decoration:none; transition:color .2s; }
.foot-bottom a:hover { color:var(--terra); }
.foot-policy { display:flex; gap:14px; flex-wrap:wrap; }
@media (max-width:560px) { .foot-bottom { flex-direction:column; align-items:flex-start; } }

/* ── PAGE HERO ──────────────────────────── */
.ph { padding:88px 0 44px; border-bottom:1px solid var(--rule); position:relative; overflow:hidden; }
.ph .wrap { position:relative; z-index:1; }
@media (min-width:768px) {
  .ph { padding:140px 0 68px; }
  .ph::after { content:''; position:absolute; top:0; right:0; width:34%; height:100%; background:var(--terra-pale); z-index:0; }
}

/* ── POLICY ─────────────────────────────── */
.prose { max-width:760px; }
.prose h2 { font-size:1.4rem; margin:40px 0 10px; color:var(--terra-dark); text-transform:uppercase; letter-spacing:.03em; }
.prose h3 { font-size:1rem; margin:24px 0 8px; text-transform:uppercase; letter-spacing:.04em; }
.prose p,.prose li { font-size:16px; line-height:1.85; color:var(--ink-mid); margin-bottom:12px; }
.prose ul { padding-left:20px; }
.prose a  { color:var(--terra); }
.prose strong { color:var(--ink); }

/* ── ABOUT PAGE ─────────────────────────── */
.g2 { display:grid; grid-template-columns:1fr; gap:32px; align-items:center; }
@media (min-width:900px) { .g2 { grid-template-columns:1fr 1fr; gap:64px; } }

.story-img-wrap { position:relative; }
.story-img-wrap img { width:100%; height:300px; object-fit:cover; }
@media (min-width:600px) { .story-img-wrap img { height:400px; } }
@media (min-width:900px) { .story-img-wrap img { height:500px; } }

.story-badge { display:none; }
@media (min-width:640px) {
  .story-badge { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; position:absolute; bottom:-18px; right:-18px; width:120px; height:120px; background:var(--terra); }
  .story-badge-num { font-family:var(--ff-head); font-size:2rem; font-weight:800; color:#fff; line-height:1; }
  .story-badge-txt { font-family:var(--ff-head); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.75); margin-top:4px; }
}

.values-grid { display:grid; grid-template-columns:1fr; gap:2px; }
@media (min-width:540px) { .values-grid { grid-template-columns:1fr 1fr; } }
@media (min-width:900px) { .values-grid { grid-template-columns:repeat(4,1fr); } }
.val-cell { padding:28px 22px; border:1px solid var(--rule); transition:background .25s, border-color .25s; }
.val-cell:hover { background:var(--terra-pale); border-color:var(--terra); }
.val-ic { font-size:1.8rem; color:var(--terra); margin-bottom:12px; }
.val-cell h4 { font-size:1rem; font-weight:700; margin-bottom:8px; }
.val-cell p  { font-size:15px; color:var(--ink-mid); line-height:1.75; }

.team-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; }
@media (min-width:768px) { .team-grid { grid-template-columns:repeat(4,1fr); } }
.team-card { position:relative; overflow:hidden; }
.team-card img { width:100%; aspect-ratio:3/4; object-fit:cover; display:block; transition:transform .7s var(--ease); }
.team-card:hover img { transform:scale(1.05); }
.team-info { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(to top, rgba(30,27,24,.9) 0%, rgba(30,27,24,.1) 65%, transparent 100%); padding:20px 14px 14px; }
.team-role { font-family:var(--ff-head); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--terra-pale); margin-bottom:3px; }
.team-name { font-family:var(--ff-head); font-size:1rem; font-weight:700; color:#fff; }

.awards-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; }
@media (min-width:900px) { .awards-grid { grid-template-columns:repeat(4,1fr); } }
.award-cell { padding:24px 18px; border:1px solid var(--rule); text-align:center; transition:background .25s, border-color .25s; }
.award-cell:hover { background:var(--terra-pale); border-color:var(--terra); }
.award-ic { font-size:1.8rem; color:var(--terra); margin-bottom:12px; }
.award-cell h4 { font-size:.95rem; margin-bottom:6px; }
.award-cell p  { font-size:14px; color:var(--ink-mid); font-style:italic; }

.cta-sec { text-align:center; }
.cta-sec .heading-lg { color:#fff; }
.cta-sec p { color:rgba(255,255,255,.82); font-style:italic; font-size:clamp(.95rem,2vw,1.1rem); max-width:440px; margin:14px auto 28px; line-height:1.75; }

hr.rule { border:none; border-top:1px solid var(--rule); }
