/*
Theme Name: SpontaneShots Elegant
Theme URI: https://spontaneshots.nl/
Author: SpontaneShots
Description: Premium, minimalistisch en beeldgedreven fotografie-thema voor SpontaneShots. Geen externe fonts of trackers.
Version: 1.2.2
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: spontaneshots-elegant
*/

:root{
  --ss-bg:#080808;
  --ss-bg-soft:#0d0d0d;
  --ss-panel:#101010;
  --ss-text:#f4f4f2;
  --ss-muted:#a09f9b;
  --ss-line:rgba(255,255,255,.10);
  --ss-line-soft:rgba(255,255,255,.06);
  --ss-max:1280px;
  --ss-portfolio:1120px;
  --ss-gap:28px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ss-bg)}
body{
  margin:0;
  background:var(--ss-bg);
  color:var(--ss-text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
::selection{background:#f4f4f2;color:#111}

.ss-container{width:min(calc(100% - 56px),var(--ss-max));margin-inline:auto}
.ss-container--portfolio{max-width:var(--ss-portfolio)}
.ss-main{min-height:60vh;overflow:hidden}

/* =========================================================
   HEADER
   ========================================================= */
.ss-site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(8,8,8,.94);
  -webkit-backdrop-filter:blur(14px) saturate(120%);
  backdrop-filter:blur(14px) saturate(120%);
  border-bottom:1px solid var(--ss-line-soft);
}
.admin-bar .ss-site-header{top:32px}
.ss-header-inner{min-height:68px;display:flex;align-items:center;gap:36px;position:relative}
.ss-brand{display:flex;align-items:center;flex:0 0 auto;white-space:nowrap}
.ss-brand-text{font-size:13px;font-weight:750;letter-spacing:.11em;text-transform:uppercase}
.ss-brand img{display:block;max-height:34px;width:auto}

.ss-primary-nav{margin-left:auto;display:flex;justify-content:flex-end;align-self:stretch}
.ss-primary-nav>ul,.ss-primary-nav>div>ul{display:flex;align-items:stretch;justify-content:flex-end;gap:28px;margin:0;padding:0;list-style:none}
.ss-primary-nav li{position:relative;display:flex;align-items:stretch}
.ss-primary-nav a{display:flex;align-items:center;color:#d7d7d5;font-size:11.5px;font-weight:550;letter-spacing:.095em;text-transform:uppercase;white-space:nowrap;transition:color .2s ease,opacity .2s ease}
.ss-primary-nav a:hover{color:#fff}
.ss-primary-nav .current-menu-item>a,.ss-primary-nav .current_page_item>a,.ss-primary-nav .current-menu-ancestor>a,.ss-primary-nav .current_page_ancestor>a{color:#fff}

.ss-primary-nav .sub-menu,.ss-primary-nav .children{
  display:none;
  position:absolute;
  top:100%;left:-18px;
  min-width:290px;
  margin:0;padding:9px 0;
  list-style:none;
  background:#0d0d0d;
  border:1px solid var(--ss-line);
  box-shadow:0 18px 45px rgba(0,0,0,.28);
  z-index:1001;
}
.ss-primary-nav .sub-menu li,.ss-primary-nav .children li{display:block;width:100%}
.ss-primary-nav .sub-menu a,.ss-primary-nav .children a{display:block;padding:11px 18px;font-size:11px;line-height:1.45;white-space:normal;color:#b9b9b6}
.ss-primary-nav li:hover>.sub-menu,.ss-primary-nav li:focus-within>.sub-menu,.ss-primary-nav li:hover>.children,.ss-primary-nav li:focus-within>.children{display:block}

.ss-nav-toggle{display:none;width:40px;height:40px;padding:0;border:0;background:transparent;cursor:pointer}
.ss-nav-toggle span{display:block;width:21px;height:1px;background:#fff;margin:6px auto;transition:transform .2s ease}

/* =========================================================
   HERO — FULL WIDTH, NO CROP
   ========================================================= */
.ss-hero{background:#000;border-bottom:1px solid var(--ss-line-soft)}
.ss-hero-media{width:100%;line-height:0;background:#000}
.ss-hero-image{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.ss-hero-copy{padding:36px 0 42px;background:var(--ss-bg);text-align:center}
.ss-hero-copy-inner{max-width:900px}
.ss-eyebrow{margin:0 0 8px;color:#777773;font-size:9.5px;font-weight:650;letter-spacing:.18em;text-transform:uppercase}
.ss-hero-title{margin:0;font-size:clamp(28px,3.3vw,46px);line-height:1.08;font-weight:500;letter-spacing:.02em;text-transform:uppercase;text-wrap:balance}
.ss-hero-subtitle{max-width:720px;margin:10px auto 0;color:#aaa9a5;font-size:14px;line-height:1.55;text-wrap:balance}
.ss-hero-actions{display:flex;justify-content:center;margin-top:21px}

.ss-btn{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:0 22px;border:1px solid rgba(255,255,255,.78);background:transparent;color:#f4f4f2;font-size:10.5px;font-weight:700;letter-spacing:.105em;text-transform:uppercase;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.ss-btn:hover{background:#f4f4f2;color:#111;border-color:#f4f4f2;opacity:1;transform:translateY(-1px)}
.ss-btn--ghost{border-color:rgba(255,255,255,.38);color:#e1e1df}
.ss-btn--ghost:hover{border-color:#f4f4f2}

/* =========================================================
   HOME SECTIONS — CENTERED & QUIET
   ========================================================= */
.ss-section{padding:clamp(64px,7vw,96px) 0}
.ss-section--work{padding-top:clamp(58px,6vw,84px)}
.ss-section--recent{border-top:1px solid var(--ss-line-soft)}
.ss-section-kicker{margin:0 0 20px;text-align:center;color:#777773;font-size:9.5px;font-weight:650;letter-spacing:.19em;text-transform:uppercase}
.ss-section-heading{margin:0 0 32px;text-align:center;font-size:clamp(28px,3vw,40px);line-height:1.08;font-weight:500;letter-spacing:.08em;text-transform:uppercase}

/* =========================================================
   PORTFOLIO — LARGE PHOTOS, TITLES CENTERED IN IMAGE
   ========================================================= */
.ss-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.ss-work-card{position:relative;display:block;overflow:hidden;background:#101010;isolation:isolate}
.ss-work-card--wide{grid-column:1/-1;aspect-ratio:2.22/1}
.ss-work-card--portrait{aspect-ratio:4/5}
.ss-work-image{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.65,.25,1)}
.ss-work-shade{position:absolute;inset:0;z-index:1;background:rgba(0,0,0,.16);transition:background .3s ease}
.ss-card-label{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center}
.ss-card-label strong{display:block;color:#fff;font-size:clamp(24px,3vw,42px);line-height:1;font-weight:610;letter-spacing:.06em;text-transform:uppercase;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.ss-work-card:hover .ss-work-image{transform:scale(1.015)}
.ss-work-card:hover .ss-work-shade{background:rgba(0,0,0,.08)}
.ss-work-card:focus-visible{outline:1px solid #fff;outline-offset:4px}

/* =========================================================
   RECENT WORK — WIDE FEATURE
   ========================================================= */
.ss-feature{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.72fr);background:#0d0d0d;border:1px solid var(--ss-line)}
.ss-feature-media{display:block;min-height:460px;overflow:hidden;background:#111}
.ss-feature-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.65,.25,1)}
.ss-feature-media:hover .ss-feature-image{transform:scale(1.012)}
.ss-feature-copy{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:48px 42px}
.ss-feature-copy h3{max-width:360px;margin:0 0 12px;font-size:clamp(28px,3vw,42px);line-height:1.04;font-weight:500;letter-spacing:-.015em;text-wrap:balance}
.ss-feature-copy>p{margin:0 0 25px;color:#aaa9a5;font-size:13px}

/* =========================================================
   CONTACT — CENTERED
   ========================================================= */
.ss-contact-strip{padding:clamp(72px,7vw,96px) 0;border-top:1px solid var(--ss-line-soft);text-align:center;background:#090909}
.ss-contact-inner{max-width:820px}
.ss-contact-inner h2{margin:0 0 12px;font-size:clamp(30px,3.8vw,50px);line-height:1.05;font-weight:480;letter-spacing:.04em;text-transform:uppercase;text-wrap:balance}
.ss-contact-inner>p{max-width:640px;margin:0 auto 24px;color:#aaa9a5;font-size:14px}

/* =========================================================
   GENERIC PAGES
   ========================================================= */
.ss-page-header{padding:clamp(72px,9vw,120px) 0 28px;text-align:center}
.ss-page-title{max-width:1050px;margin:0 auto;font-size:clamp(36px,5.5vw,68px);line-height:1.02;font-weight:470;letter-spacing:.025em;text-transform:uppercase;text-wrap:balance}
.ss-entry{width:min(calc(100% - 56px),920px);margin:0 auto;padding:32px 0 100px}
.ss-entry>*{max-width:100%}
.ss-entry h2,.ss-entry h3{margin-top:2.1em;line-height:1.15}
.ss-entry h2{font-size:clamp(27px,3vw,36px);font-weight:520}
.ss-entry h3{font-size:clamp(22px,2.2vw,28px);font-weight:540}
.ss-entry p,.ss-entry li{color:#d0cfcc}
.ss-entry a{text-decoration:underline;text-decoration-color:#777;text-underline-offset:4px}
.ss-entry a:hover{text-decoration-color:#fff}
.ss-entry figure{margin:40px 0}
.ss-entry .wp-block-image img{display:block;width:100%}
.ss-entry .wp-block-columns{gap:var(--ss-gap)}
.ss-entry .wp-block-cover{min-height:420px;overflow:hidden}
.ss-entry .wp-block-cover__inner-container{padding:28px}
.ss-entry .wp-block-cover .wp-block-heading{font-size:clamp(24px,3vw,38px);letter-spacing:.04em;text-transform:uppercase}
.ss-entry .wp-block-button__link{border-radius:0!important;background:#f4f4f2!important;color:#111!important;padding:13px 24px!important;font-size:10.5px!important;font-weight:700!important;letter-spacing:.11em!important;text-transform:uppercase!important}
.ss-entry iframe{width:100%;max-width:100%;border:0}

/* Archive */
.ss-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:38px 0 100px}
.ss-post-card{background:#0f0f0f;border:1px solid var(--ss-line)}
.ss-post-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.ss-post-card-content{padding:22px}
.ss-post-card h2{font-size:21px;margin:0 0 8px;font-weight:530}
.ss-post-card p{margin:0;color:#969590;font-size:13px}

/* =========================================================
   FOOTER — UNDERSTATED
   ========================================================= */
.ss-site-footer{border-top:1px solid var(--ss-line);background:#0b0b0b}
.ss-footer-main{display:grid;grid-template-columns:1.25fr .75fr .75fr;gap:54px;padding:48px 0 38px}
.ss-footer-title{margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.ss-footer-text{max-width:420px;margin:0;color:#85847f;font-size:12px;line-height:1.7}
.ss-footer-label{margin:0 0 12px;color:#686864;font-size:9px;font-weight:650;letter-spacing:.17em;text-transform:uppercase}
.ss-footer-menu ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ss-footer-menu a,.ss-footer-email{color:#aaa9a5;font-size:11.5px;transition:color .2s ease}
.ss-footer-menu a:hover,.ss-footer-email:hover{color:#fff}
.ss-footer-bottom{border-top:1px solid var(--ss-line-soft);padding:15px 0;color:#5f5e5a;font-size:9px;letter-spacing:.08em;text-transform:uppercase;text-align:center}
.ss-footer-bottom span{padding:0 7px}

/* Complianz */
.cmplz-cookiebanner{border-radius:0!important;box-shadow:0 22px 60px rgba(0,0,0,.4)!important;border:1px solid var(--ss-line)!important}
.cmplz-cookiebanner .cmplz-btn{border-radius:0!important;letter-spacing:.04em!important}

/* 404 */
.ss-404{text-align:center;padding:120px 24px}
.ss-404 h1{font-size:82px;margin:0;font-weight:480}
.ss-404 p{color:#969590}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1000px){
  .ss-primary-nav>ul,.ss-primary-nav>div>ul{gap:21px}
  .ss-feature{grid-template-columns:1.2fr .8fr}
}

@media (max-width:900px){
  .admin-bar .ss-site-header{top:46px}
  .ss-container{width:min(calc(100% - 40px),var(--ss-max))}
  .ss-header-inner{min-height:64px}
  .ss-nav-toggle{display:block;margin-left:auto}
  .ss-primary-nav{display:none;position:absolute;left:-20px;right:-20px;top:64px;margin:0;background:#090909;border-bottom:1px solid var(--ss-line);max-height:calc(100vh - 64px);overflow:auto}
  .ss-primary-nav.is-open{display:block}
  .ss-primary-nav>ul,.ss-primary-nav>div>ul{display:block;padding:18px 20px 24px}
  .ss-primary-nav li{display:block}
  .ss-primary-nav a{display:block;padding:11px 0;font-size:12px}
  .ss-primary-nav .sub-menu,.ss-primary-nav .children{display:block;position:static;min-width:0;padding:0 0 3px 15px;border:0;box-shadow:none;background:transparent}
  .ss-primary-nav .sub-menu a,.ss-primary-nav .children a{padding:8px 0;color:#84847f}

  .ss-hero-media{height:clamp(400px,57vw,620px)}
  .ss-feature{grid-template-columns:1fr}
  .ss-feature-media{min-height:420px}
  .ss-feature-copy{padding:38px 32px 40px}
  .ss-footer-main{grid-template-columns:1.2fr .8fr;gap:38px}
  .ss-footer-contact{grid-column:2}
  .ss-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:640px){
  .ss-container{width:min(calc(100% - 30px),var(--ss-max))}
  .ss-header-inner{min-height:58px}
  .ss-primary-nav{left:-15px;right:-15px;top:58px}
  .ss-brand-text{font-size:12px}

  .ss-hero-media{height:58vw;min-height:300px;max-height:430px}
  .ss-hero-copy{padding:30px 0 34px}
  .ss-hero-title{font-size:clamp(25px,8.8vw,36px)}
  .ss-hero-subtitle{font-size:13px;max-width:340px}

  .ss-section{padding:58px 0}
  .ss-section-heading{font-size:28px;margin-bottom:25px}
  .ss-section-heading--recent{font-size:30px;margin-bottom:28px}

  .ss-work-grid{grid-template-columns:1fr;gap:18px}
  .ss-work-card,.ss-work-card--wide,.ss-work-card--portrait{grid-column:auto;aspect-ratio:4/5}
  .ss-work-card--wide{aspect-ratio:4/3}
  .ss-card-label{bottom:20px}
  .ss-card-label strong{font-size:22px}

  .ss-feature-media{min-height:0;aspect-ratio:4/3}
  .ss-feature-copy{padding:28px 24px 30px}
  .ss-feature-copy h3{font-size:30px}

  .ss-contact-inner h2{font-size:34px}

  .ss-page-header{padding-top:70px}
  .ss-entry{width:calc(100% - 30px);padding-bottom:72px}
  .ss-post-grid{grid-template-columns:1fr}

  .ss-footer-main{grid-template-columns:1fr;gap:28px;padding:38px 0 30px}
  .ss-footer-contact{grid-column:auto}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}


/* =========================================================
   1.1.2 HOME RESPONSIVE OVERRIDES
   ========================================================= */
@media (max-width:900px){
  .ss-feature{grid-template-columns:1fr}
  .ss-feature-media{min-height:0;aspect-ratio:16/10}
  .ss-feature-copy{padding:34px 28px 38px}
}

@media (max-width:640px){
  .ss-hero-copy{padding:28px 0 32px}
  .ss-hero-title{font-size:clamp(25px,8.5vw,35px)}
  .ss-hero-subtitle{font-size:13px;max-width:340px}
  .ss-section{padding:56px 0}
  .ss-section-heading{font-size:28px;margin-bottom:24px}
  .ss-work-grid{grid-template-columns:1fr;gap:16px}
  .ss-work-card--wide,.ss-work-card--portrait{grid-column:auto;aspect-ratio:4/3}
  .ss-work-card--portrait{aspect-ratio:4/5}
  .ss-card-label strong{font-size:25px}
  .ss-feature-media{aspect-ratio:4/3}
  .ss-feature-copy h3{font-size:30px}
}


/* =========================================================
   PORTFOLIO LANDING PAGE — /portfolio/
   ========================================================= */
body.page-template-page-portfolio,
body.page-id-0{background:var(--ss-bg)}

.ss-portfolio-hero{
  padding:clamp(82px,10vw,138px) 0 clamp(58px,7vw,92px);
  text-align:center;
  border-bottom:1px solid var(--ss-line-soft);
}
.ss-portfolio-hero-inner{max-width:880px}
.ss-portfolio-eyebrow{
  margin:0 0 13px;
  color:#777773;
  font-size:10px;
  font-weight:700;
  letter-spacing:.19em;
  text-transform:uppercase;
}
.ss-portfolio-title{
  margin:0;
  color:#f5f5f2;
  font-size:clamp(42px,7vw,88px);
  line-height:.98;
  font-weight:450;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.ss-portfolio-intro{
  max-width:690px;
  margin:22px auto 0;
  color:#aaa9a5;
  font-size:clamp(14px,1.25vw,16px);
  line-height:1.75;
  text-wrap:balance;
}

.ss-portfolio-grid-section{padding:clamp(60px,7vw,96px) 0 clamp(78px,9vw,126px)}
.ss-portfolio-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(26px,3.2vw,42px);
}
.ss-portfolio-item{min-width:0}
.ss-portfolio-item--wide{grid-column:1/-1}
.ss-portfolio-card{
  position:relative;
  display:block;
  overflow:hidden;
  background:#111;
  border:1px solid var(--ss-line-soft);
  isolation:isolate;
}
.ss-portfolio-card--wide{aspect-ratio:16/7.7}
.ss-portfolio-card--standard{aspect-ratio:4/5}
.ss-portfolio-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.001);
  transition:transform .55s cubic-bezier(.2,.65,.25,1),filter .35s ease;
}
.ss-portfolio-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.17) 52%,rgba(0,0,0,.36) 100%);
  z-index:1;
  transition:background .35s ease;
}
.ss-portfolio-card:hover img,
.ss-portfolio-card:focus-visible img{transform:scale(1.018)}
.ss-portfolio-card:hover::after,
.ss-portfolio-card:focus-visible::after{background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.12) 52%,rgba(0,0,0,.30) 100%)}
.ss-portfolio-card:focus-visible{outline:1px solid #fff;outline-offset:5px}
.ss-portfolio-card-title{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  color:#fff;
  font-size:clamp(24px,3.2vw,44px);
  line-height:1;
  font-weight:600;
  letter-spacing:.075em;
  text-transform:uppercase;
  text-align:center;
  text-shadow:0 2px 22px rgba(0,0,0,.34);
}
.ss-portfolio-item-copy{
  max-width:620px;
  margin:20px auto 0;
  text-align:center;
}
.ss-portfolio-item-copy p{
  margin:0;
  color:#8f8e89;
  font-size:12.5px;
  line-height:1.7;
}
.ss-portfolio-text-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:12px;
  color:#e7e7e4;
  font-size:10px;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
  border-bottom:1px solid rgba(255,255,255,.36);
  padding-bottom:3px;
  transition:border-color .2s ease,opacity .2s ease;
}
.ss-portfolio-text-link:hover{border-color:#fff;opacity:1}

.ss-portfolio-cta{
  padding:clamp(76px,8vw,112px) 0;
  text-align:center;
  border-top:1px solid var(--ss-line-soft);
  background:#090909;
}
.ss-portfolio-cta-inner{max-width:800px}
.ss-portfolio-cta h2{
  margin:0 0 14px;
  font-size:clamp(31px,4.2vw,54px);
  line-height:1.04;
  font-weight:470;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-wrap:balance;
}
.ss-portfolio-cta p{
  max-width:630px;
  margin:0 auto 26px;
  color:#aaa9a5;
  font-size:14px;
}

@media (max-width:800px){
  .ss-portfolio-grid{grid-template-columns:1fr}
  .ss-portfolio-item--wide{grid-column:auto}
  .ss-portfolio-card--wide{aspect-ratio:4/3}
  .ss-portfolio-card--standard{aspect-ratio:4/5}
}

@media (max-width:640px){
  .ss-portfolio-hero{padding:62px 0 46px}
  .ss-portfolio-title{font-size:clamp(38px,14vw,62px)}
  .ss-portfolio-intro{margin-top:17px;font-size:13px;line-height:1.65}
  .ss-portfolio-grid-section{padding:42px 0 72px}
  .ss-portfolio-grid{gap:30px}
  .ss-portfolio-card--wide{aspect-ratio:4/3}
  .ss-portfolio-card--standard{aspect-ratio:4/5}
  .ss-portfolio-card-title{font-size:clamp(25px,8vw,34px)}
  .ss-portfolio-item-copy{margin-top:15px}
  .ss-portfolio-item-copy p{font-size:12px}
}

/* =========================================================
   1.1.4 — PORTFOLIO AS A REAL GALLERY
   Homepage = teaser. Portfolio = selected work.
   ========================================================= */

/* Hide the old card landing structure if cached markup ever appears. */
.page-template-page-portfolio .ss-portfolio-grid-section{display:none!important}

.page-template-page-portfolio .ss-portfolio-hero{
  padding:clamp(92px,11vw,150px) 0 clamp(62px,7vw,94px);
  text-align:center;
  border-bottom:1px solid var(--ss-line-soft);
}
.page-template-page-portfolio .ss-portfolio-hero-inner{max-width:900px}
.page-template-page-portfolio .ss-portfolio-title{
  font-size:clamp(52px,8vw,106px);
  letter-spacing:.025em;
}
.page-template-page-portfolio .ss-portfolio-intro{
  max-width:660px;
  font-size:clamp(14px,1.3vw,17px);
  line-height:1.8;
}

/* Text-only discipline index — deliberately unlike homepage cards. */
.ss-portfolio-index{
  border-bottom:1px solid var(--ss-line-soft);
  background:#0a0a0a;
}
.ss-portfolio-index-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.ss-portfolio-index-item{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-areas:
    "no title"
    "no desc";
  column-gap:18px;
  align-items:center;
  min-height:150px;
  padding:30px 34px;
  border-right:1px solid var(--ss-line-soft);
  transition:background .25s ease,opacity .25s ease;
}
.ss-portfolio-index-item:last-child{border-right:0}
.ss-portfolio-index-item:hover,
.ss-portfolio-index-item:focus-visible{background:#101010;opacity:1}
.ss-portfolio-index-item:focus-visible{outline:1px solid #fff;outline-offset:-5px}
.ss-portfolio-index-no{
  grid-area:no;
  align-self:start;
  padding-top:5px;
  color:#656560;
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
}
.ss-portfolio-index-title{
  grid-area:title;
  color:#f1f1ee;
  font-size:clamp(20px,2.2vw,30px);
  line-height:1.05;
  font-weight:540;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.ss-portfolio-index-desc{
  grid-area:desc;
  margin-top:7px;
  color:#7d7c77;
  font-size:10px;
  font-weight:600;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.ss-portfolio-selected{
  padding:clamp(72px,9vw,126px) 0 clamp(90px,10vw,148px);
}
.ss-container--portfolio-gallery{
  width:min(calc(100% - 48px),1380px);
}
.ss-portfolio-selected-head{
  text-align:center;
  margin-bottom:clamp(38px,5vw,66px);
}
.ss-portfolio-selected-head .ss-section-kicker{margin-bottom:10px}
.ss-portfolio-selected-head h2{
  margin:0;
  color:#f4f4f1;
  font-size:clamp(30px,4.3vw,58px);
  line-height:1;
  font-weight:470;
  letter-spacing:.07em;
  text-transform:uppercase;
}

/* Native Gutenberg gallery becomes an editorial photography grid. */
.ss-portfolio-content > .wp-block-gallery,
.ss-portfolio-content .wp-block-gallery{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:clamp(10px,1.2vw,18px)!important;
  align-items:stretch!important;
  margin:0!important;
}
.ss-portfolio-content .wp-block-gallery > .wp-block-image,
.ss-portfolio-content .wp-block-gallery > figure{
  grid-column:span 6;
  width:auto!important;
  margin:0!important;
  overflow:hidden;
  background:#111;
  min-width:0;
}
.ss-portfolio-content .wp-block-gallery > :nth-child(6n+1){grid-column:span 7}
.ss-portfolio-content .wp-block-gallery > :nth-child(6n+2){grid-column:span 5}
.ss-portfolio-content .wp-block-gallery > :nth-child(6n+3){grid-column:span 5}
.ss-portfolio-content .wp-block-gallery > :nth-child(6n+4){grid-column:span 7}
.ss-portfolio-content .wp-block-gallery > :nth-child(6n+5),
.ss-portfolio-content .wp-block-gallery > :nth-child(6n+6){grid-column:span 6}

.ss-portfolio-content .wp-block-gallery > .wp-block-image img,
.ss-portfolio-content .wp-block-gallery > figure img{
  display:block!important;
  width:100%!important;
  height:clamp(320px,38vw,620px)!important;
  object-fit:cover!important;
  transition:transform .55s cubic-bezier(.2,.65,.25,1),filter .35s ease;
}
.ss-portfolio-content .wp-block-gallery > :nth-child(6n+3) img,
.ss-portfolio-content .wp-block-gallery > :nth-child(6n+5) img{
  height:clamp(390px,46vw,720px)!important;
}
.ss-portfolio-content .wp-block-gallery a{display:block;height:100%}
.ss-portfolio-content .wp-block-gallery figure:hover img{transform:scale(1.012)}
.ss-portfolio-content .wp-block-gallery figcaption{
  position:absolute;
  left:0;right:0;bottom:0;
  margin:0!important;
  padding:40px 16px 14px!important;
  background:linear-gradient(to top,rgba(0,0,0,.68),transparent)!important;
  color:#eee!important;
  font-size:10px!important;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ss-portfolio-content .wp-block-gallery figure{position:relative}

/* Other editor content remains elegant instead of inheriting blog styling. */
.ss-portfolio-content > p{
  max-width:760px;
  margin:0 auto 44px;
  color:#aaa9a5;
  font-size:14px;
  line-height:1.8;
  text-align:center;
}
.ss-portfolio-content > h2,
.ss-portfolio-content > h3{text-align:center}
.ss-portfolio-content > * + .wp-block-gallery{margin-top:48px!important}

.ss-portfolio-empty{
  max-width:760px;
  margin:0 auto;
  padding:42px;
  border:1px solid var(--ss-line-soft);
  text-align:center;
  color:#8d8c87;
  font-size:13px;
  line-height:1.75;
}
.ss-portfolio-empty strong{color:#e7e7e3}

.page-template-page-portfolio .ss-portfolio-cta{
  background:#080808;
}

@media (max-width:800px){
  .ss-portfolio-index-grid{grid-template-columns:1fr}
  .ss-portfolio-index-item{
    min-height:112px;
    padding:24px 22px;
    border-right:0;
    border-bottom:1px solid var(--ss-line-soft);
  }
  .ss-portfolio-index-item:last-child{border-bottom:0}
  .ss-portfolio-content .wp-block-gallery > .wp-block-image,
  .ss-portfolio-content .wp-block-gallery > figure,
  .ss-portfolio-content .wp-block-gallery > :nth-child(n){grid-column:span 12}
  .ss-portfolio-content .wp-block-gallery > .wp-block-image img,
  .ss-portfolio-content .wp-block-gallery > figure img,
  .ss-portfolio-content .wp-block-gallery > :nth-child(n) img{
    height:auto!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
  }
}

@media (max-width:640px){
  .page-template-page-portfolio .ss-portfolio-hero{padding:64px 0 46px}
  .page-template-page-portfolio .ss-portfolio-title{font-size:clamp(44px,15vw,68px)}
  .ss-container--portfolio-gallery{width:calc(100% - 24px)}
  .ss-portfolio-selected{padding:52px 0 78px}
  .ss-portfolio-selected-head{margin-bottom:30px}
  .ss-portfolio-index-desc{font-size:9px}
}


/* =========================================================
   1.1.5 — AUTOMOTIVE PORTFOLIO
   Full-width photography, restrained typography, clean gallery.
   ========================================================= */

.page-template-page-automotive .ss-auto-hero{
  background:#050505;
  border-bottom:1px solid var(--ss-line-soft);
}
.page-template-page-automotive .ss-auto-hero-media{
  width:100%;
  background:#0b0b0b;
  overflow:hidden;
}
.page-template-page-automotive .ss-auto-hero-media img{
  display:block;
  width:100%;
  height:auto;
  max-height:780px;
  object-fit:cover;
  object-position:center;
}
.page-template-page-automotive .ss-auto-hero-copy{
  max-width:900px;
  margin:0 auto;
  padding:clamp(54px,7vw,92px) 24px clamp(58px,7vw,96px);
  text-align:center;
}
.page-template-page-automotive .ss-auto-eyebrow{
  margin:0 0 12px;
  color:#777671;
  font-size:10px;
  font-weight:700;
  letter-spacing:.20em;
  text-transform:uppercase;
}
.page-template-page-automotive .ss-auto-title{
  margin:0;
  color:#f4f4f1;
  font-size:clamp(44px,7vw,88px);
  line-height:.98;
  font-weight:470;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.page-template-page-automotive .ss-auto-intro{
  max-width:680px;
  margin:20px auto 0;
  color:#aaa9a5;
  font-size:clamp(14px,1.2vw,17px);
  line-height:1.8;
  text-wrap:balance;
}
.page-template-page-automotive .ss-auto-tags{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 22px;
  margin:26px 0 0;
  padding:0;
  list-style:none;
  color:#6e6d68;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.page-template-page-automotive .ss-auto-tags li{position:relative}
.page-template-page-automotive .ss-auto-tags li+li::before{
  content:"";
  position:absolute;
  left:-13px;
  top:50%;
  width:3px;
  height:3px;
  border-radius:50%;
  background:#4d4c48;
  transform:translateY(-50%);
}

.page-template-page-automotive .ss-auto-selected{
  padding:clamp(78px,9vw,128px) 0 clamp(92px,11vw,150px);
}
.page-template-page-automotive .ss-auto-selected-head{
  text-align:center;
  margin-bottom:clamp(36px,5vw,64px);
}
.page-template-page-automotive .ss-auto-selected-head h2{
  margin:0;
  color:#f4f4f1;
  font-size:clamp(30px,4.3vw,58px);
  line-height:1;
  font-weight:470;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.page-template-page-automotive .ss-auto-gallery{
  width:min(calc(100% - 48px),1420px);
  margin:0 auto;
}

/* Native Gallery block => strong automotive editorial grid */
.page-template-page-automotive .ss-auto-content > .wp-block-gallery,
.page-template-page-automotive .ss-auto-content .wp-block-gallery{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:clamp(10px,1.15vw,18px)!important;
  margin:0!important;
  align-items:stretch!important;
}
.page-template-page-automotive .ss-auto-content .wp-block-gallery > .wp-block-image,
.page-template-page-automotive .ss-auto-content .wp-block-gallery > figure{
  position:relative;
  grid-column:span 6;
  width:auto!important;
  margin:0!important;
  overflow:hidden;
  min-width:0;
  background:#101010;
}
/* Wider visual rhythm for cars: landscape images dominate */
.page-template-page-automotive .ss-auto-content .wp-block-gallery > :nth-child(7n+1){grid-column:span 12}
.page-template-page-automotive .ss-auto-content .wp-block-gallery > :nth-child(7n+2){grid-column:span 7}
.page-template-page-automotive .ss-auto-content .wp-block-gallery > :nth-child(7n+3){grid-column:span 5}
.page-template-page-automotive .ss-auto-content .wp-block-gallery > :nth-child(7n+4),
.page-template-page-automotive .ss-auto-content .wp-block-gallery > :nth-child(7n+5){grid-column:span 6}
.page-template-page-automotive .ss-auto-content .wp-block-gallery > :nth-child(7n+6){grid-column:span 5}
.page-template-page-automotive .ss-auto-content .wp-block-gallery > :nth-child(7n+7){grid-column:span 7}

.page-template-page-automotive .ss-auto-content .wp-block-gallery img{
  display:block!important;
  width:100%!important;
  height:clamp(330px,38vw,620px)!important;
  object-fit:cover!important;
  transition:transform .55s cubic-bezier(.2,.65,.25,1);
}
.page-template-page-automotive .ss-auto-content .wp-block-gallery > :nth-child(7n+1) img{
  height:clamp(420px,48vw,760px)!important;
}
.page-template-page-automotive .ss-auto-content .wp-block-gallery a{
  display:block;
  height:100%;
}
.page-template-page-automotive .ss-auto-content .wp-block-gallery figure:hover img{transform:scale(1.012)}
.page-template-page-automotive .ss-auto-content .wp-block-gallery figcaption{
  position:absolute;
  left:0;right:0;bottom:0;
  margin:0!important;
  padding:42px 16px 14px!important;
  background:linear-gradient(to top,rgba(0,0,0,.68),transparent)!important;
  color:#eee!important;
  font-size:10px!important;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.page-template-page-automotive .ss-auto-content > p{
  max-width:760px;
  margin:0 auto 44px;
  color:#aaa9a5;
  font-size:14px;
  line-height:1.8;
  text-align:center;
}
.page-template-page-automotive .ss-auto-empty{
  max-width:760px;
  margin:0 auto;
  padding:42px;
  border:1px solid var(--ss-line-soft);
  text-align:center;
  color:#8d8c87;
  font-size:13px;
  line-height:1.75;
}
.page-template-page-automotive .ss-auto-empty strong{color:#e7e7e3}

.page-template-page-automotive .ss-auto-cta{
  padding:clamp(82px,9vw,124px) 0;
  border-top:1px solid var(--ss-line-soft);
  text-align:center;
  background:#080808;
}
.page-template-page-automotive .ss-auto-cta-inner{max-width:820px}
.page-template-page-automotive .ss-auto-cta h2{
  margin:0 0 14px;
  color:#f4f4f1;
  font-size:clamp(32px,4.3vw,56px);
  line-height:1.04;
  font-weight:470;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-wrap:balance;
}
.page-template-page-automotive .ss-auto-cta p{
  max-width:620px;
  margin:0 auto 26px;
  color:#aaa9a5;
  font-size:14px;
  line-height:1.75;
}

@media (max-width:800px){
  .page-template-page-automotive .ss-auto-content .wp-block-gallery > .wp-block-image,
  .page-template-page-automotive .ss-auto-content .wp-block-gallery > figure,
  .page-template-page-automotive .ss-auto-content .wp-block-gallery > :nth-child(n){grid-column:span 12}
  .page-template-page-automotive .ss-auto-content .wp-block-gallery img,
  .page-template-page-automotive .ss-auto-content .wp-block-gallery > :nth-child(n) img{
    height:auto!important;
    object-fit:contain!important;
  }
}

@media (max-width:640px){
  .page-template-page-automotive .ss-auto-hero-media img{max-height:none}
  .page-template-page-automotive .ss-auto-hero-copy{padding:42px 18px 52px}
  .page-template-page-automotive .ss-auto-title{font-size:clamp(40px,14vw,62px)}
  .page-template-page-automotive .ss-auto-intro{font-size:13px;line-height:1.7}
  .page-template-page-automotive .ss-auto-tags{gap:8px 18px}
  .page-template-page-automotive .ss-auto-gallery{width:calc(100% - 24px)}
  .page-template-page-automotive .ss-auto-selected{padding:56px 0 82px}
  .page-template-page-automotive .ss-auto-selected-head{margin-bottom:30px}
}


/* =========================================================
   1.1.6 — EVENTS / REPORTAGES
   Events is an editorial reportage index, not another gallery.
   Child pages below /events/ are surfaced automatically.
   ========================================================= */

.page-template-page-events .ss-events-hero{
  background:#050505;
  border-bottom:1px solid var(--ss-line-soft, #242424);
}
.page-template-page-events .ss-events-hero-media{
  width:100%;
  background:#0b0b0b;
  overflow:hidden;
}
.page-template-page-events .ss-events-hero-media img{
  display:block;
  width:100%;
  height:auto;
  max-height:780px;
  object-fit:cover;
  object-position:center;
}
.page-template-page-events .ss-events-hero-copy{
  max-width:900px;
  margin:0 auto;
  padding:clamp(54px,7vw,92px) 24px clamp(58px,7vw,96px);
  text-align:center;
}
.page-template-page-events .ss-events-eyebrow{
  margin:0 0 12px;
  color:#777671;
  font-size:10px;
  font-weight:700;
  letter-spacing:.20em;
  text-transform:uppercase;
}
.page-template-page-events .ss-events-title{
  margin:0;
  color:#f4f4f1;
  font-size:clamp(44px,7vw,88px);
  line-height:.98;
  font-weight:470;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.page-template-page-events .ss-events-intro{
  max-width:700px;
  margin:20px auto 0;
  color:#aaa9a5;
  font-size:clamp(14px,1.2vw,17px);
  line-height:1.8;
  text-wrap:balance;
}
.page-template-page-events .ss-events-tags{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 22px;
  margin:26px 0 0;
  padding:0;
  list-style:none;
  color:#6e6d68;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.page-template-page-events .ss-events-tags li{position:relative}
.page-template-page-events .ss-events-tags li+li::before{
  content:"";
  position:absolute;
  left:-13px;
  top:50%;
  width:3px;
  height:3px;
  border-radius:50%;
  background:#4d4c48;
  transform:translateY(-50%);
}

.page-template-page-events .ss-events-reportages{
  padding:clamp(78px,9vw,128px) 0 clamp(92px,11vw,150px);
}
.page-template-page-events .ss-events-head{
  text-align:center;
  margin-bottom:clamp(36px,5vw,64px);
}
.page-template-page-events .ss-events-head h2{
  margin:0;
  color:#f4f4f1;
  font-size:clamp(30px,4.3vw,58px);
  line-height:1;
  font-weight:470;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.page-template-page-events .ss-events-list{
  width:min(calc(100% - 48px),1240px);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(18px,2.1vw,32px);
}
.page-template-page-events .ss-event-card{
  display:block;
  min-width:0;
  background:#0d0d0d;
  border:1px solid var(--ss-line-soft, #242424);
  overflow:hidden;
  transition:border-color .25s ease,transform .25s ease;
}
.page-template-page-events .ss-event-card:first-child{
  grid-column:1/-1;
}
.page-template-page-events .ss-event-card:hover{
  opacity:1;
  border-color:#3d3c38;
  transform:translateY(-2px);
}
.page-template-page-events .ss-event-card-media{
  position:relative;
  overflow:hidden;
  background:#111;
  aspect-ratio:16/10;
}
.page-template-page-events .ss-event-card:first-child .ss-event-card-media{
  aspect-ratio:16/7.8;
}
.page-template-page-events .ss-event-card-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.65,.25,1);
}
.page-template-page-events .ss-event-card:hover .ss-event-card-media img{transform:scale(1.012)}
.page-template-page-events .ss-event-card-body{
  padding:clamp(24px,3vw,38px);
  text-align:left;
}
.page-template-page-events .ss-event-card-type{
  display:block;
  margin:0 0 9px;
  color:#73726d;
  font-size:9px;
  line-height:1;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.page-template-page-events .ss-event-card-title{
  margin:0;
  color:#f1f1ee;
  font-size:clamp(24px,3vw,42px);
  line-height:1.05;
  font-weight:480;
  letter-spacing:.025em;
}
.page-template-page-events .ss-event-card:not(:first-child) .ss-event-card-title{
  font-size:clamp(22px,2.3vw,31px);
}
.page-template-page-events .ss-event-card-excerpt{
  max-width:700px;
  margin:14px 0 0;
  color:#9c9b96;
  font-size:13px;
  line-height:1.75;
}
.page-template-page-events .ss-event-card-link{
  display:inline-block;
  margin-top:20px;
  color:#dddcd8;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.page-template-page-events .ss-event-card-link::after{
  content:"  →";
}
.page-template-page-events .ss-events-empty{
  grid-column:1/-1;
  max-width:760px;
  margin:0 auto;
  padding:42px;
  border:1px solid var(--ss-line-soft, #242424);
  text-align:center;
  color:#8d8c87;
  font-size:13px;
  line-height:1.75;
}

.page-template-page-events .ss-events-cta{
  padding:clamp(82px,9vw,124px) 0;
  border-top:1px solid var(--ss-line-soft, #242424);
  text-align:center;
  background:#080808;
}
.page-template-page-events .ss-events-cta-inner{max-width:820px}
.page-template-page-events .ss-events-cta h2{
  margin:0 0 14px;
  color:#f4f4f1;
  font-size:clamp(32px,4.3vw,56px);
  line-height:1.04;
  font-weight:470;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-wrap:balance;
}
.page-template-page-events .ss-events-cta p{
  max-width:620px;
  margin:0 auto 26px;
  color:#aaa9a5;
  font-size:14px;
  line-height:1.75;
}

@media (max-width:800px){
  .page-template-page-events .ss-events-list{grid-template-columns:1fr}
  .page-template-page-events .ss-event-card:first-child{grid-column:auto}
  .page-template-page-events .ss-event-card:first-child .ss-event-card-media,
  .page-template-page-events .ss-event-card-media{aspect-ratio:16/10}
}
@media (max-width:640px){
  .page-template-page-events .ss-events-hero-media img{max-height:none}
  .page-template-page-events .ss-events-hero-copy{padding:42px 18px 52px}
  .page-template-page-events .ss-events-title{font-size:clamp(40px,14vw,62px)}
  .page-template-page-events .ss-events-intro{font-size:13px;line-height:1.7}
  .page-template-page-events .ss-events-tags{gap:8px 18px}
  .page-template-page-events .ss-events-list{width:calc(100% - 24px)}
  .page-template-page-events .ss-events-reportages{padding:56px 0 82px}
  .page-template-page-events .ss-events-head{margin-bottom:30px}
  .page-template-page-events .ss-event-card-body{padding:22px}
}


/* =========================================================
   1.1.7 — PEOPLE / MOMENTS
   Warmer, more human portfolio page with breathing room.
   The page content should contain one native WordPress Gallery block.
   ========================================================= */

.page-template-page-people .ss-people-hero{
  background:#070707;
  border-bottom:1px solid var(--ss-line-soft, #242424);
}
.page-template-page-people .ss-people-hero-media{
  width:100%;
  background:#0b0b0b;
  overflow:hidden;
}
.page-template-page-people .ss-people-hero-media img{
  display:block;
  width:100%;
  height:auto;
  max-height:820px;
  object-fit:cover;
  object-position:center;
}
.page-template-page-people .ss-people-hero-copy{
  max-width:900px;
  margin:0 auto;
  padding:clamp(56px,7vw,94px) 24px clamp(62px,7.5vw,102px);
  text-align:center;
}
.page-template-page-people .ss-people-eyebrow{
  margin:0 0 12px;
  color:#807a73;
  font-size:10px;
  font-weight:700;
  letter-spacing:.20em;
  text-transform:uppercase;
}
.page-template-page-people .ss-people-title{
  margin:0;
  color:#f4f2ef;
  font-size:clamp(44px,7vw,88px);
  line-height:.98;
  font-weight:470;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.page-template-page-people .ss-people-intro{
  max-width:700px;
  margin:20px auto 0;
  color:#b1aaa3;
  font-size:clamp(14px,1.2vw,17px);
  line-height:1.8;
  text-wrap:balance;
}
.page-template-page-people .ss-people-tags{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 22px;
  margin:26px 0 0;
  padding:0;
  list-style:none;
  color:#766f68;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.page-template-page-people .ss-people-tags li{position:relative}
.page-template-page-people .ss-people-tags li+li::before{
  content:"";
  position:absolute;
  left:-13px;
  top:50%;
  width:3px;
  height:3px;
  border-radius:50%;
  background:#5d5751;
  transform:translateY(-50%);
}

.page-template-page-people .ss-people-selected{
  padding:clamp(78px,9vw,128px) 0 clamp(92px,11vw,150px);
}
.page-template-page-people .ss-people-selected-head{
  text-align:center;
  margin-bottom:clamp(36px,5vw,64px);
}
.page-template-page-people .ss-people-selected-head h2{
  margin:0;
  color:#f4f2ef;
  font-size:clamp(30px,4.3vw,58px);
  line-height:1;
  font-weight:470;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.page-template-page-people .ss-people-gallery{
  width:min(calc(100% - 48px),1360px);
  margin:0 auto;
}

/* Native Gallery block => human, editorial rhythm. */
.page-template-page-people .ss-people-content > .wp-block-gallery,
.page-template-page-people .ss-people-content .wp-block-gallery{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:clamp(12px,1.3vw,20px)!important;
  margin:0!important;
  align-items:stretch!important;
}
.page-template-page-people .ss-people-content .wp-block-gallery > .wp-block-image,
.page-template-page-people .ss-people-content .wp-block-gallery > figure{
  position:relative;
  grid-column:span 6;
  width:auto!important;
  margin:0!important;
  overflow:hidden;
  min-width:0;
  background:#101010;
}
/* A more portrait-friendly asymmetric cadence. */
.page-template-page-people .ss-people-content .wp-block-gallery > :nth-child(8n+1){grid-column:span 7}
.page-template-page-people .ss-people-content .wp-block-gallery > :nth-child(8n+2){grid-column:span 5}
.page-template-page-people .ss-people-content .wp-block-gallery > :nth-child(8n+3){grid-column:span 5}
.page-template-page-people .ss-people-content .wp-block-gallery > :nth-child(8n+4){grid-column:span 7}
.page-template-page-people .ss-people-content .wp-block-gallery > :nth-child(8n+5){grid-column:span 12}
.page-template-page-people .ss-people-content .wp-block-gallery > :nth-child(8n+6),
.page-template-page-people .ss-people-content .wp-block-gallery > :nth-child(8n+7),
.page-template-page-people .ss-people-content .wp-block-gallery > :nth-child(8n+8){grid-column:span 4}

.page-template-page-people .ss-people-content .wp-block-gallery img{
  display:block!important;
  width:100%!important;
  height:clamp(380px,44vw,680px)!important;
  object-fit:cover!important;
  object-position:center!important;
  transition:transform .6s cubic-bezier(.2,.65,.25,1), filter .35s ease;
}
.page-template-page-people .ss-people-content .wp-block-gallery > :nth-child(8n+5) img{
  height:clamp(460px,52vw,780px)!important;
}
.page-template-page-people .ss-people-content .wp-block-gallery > :nth-child(8n+6) img,
.page-template-page-people .ss-people-content .wp-block-gallery > :nth-child(8n+7) img,
.page-template-page-people .ss-people-content .wp-block-gallery > :nth-child(8n+8) img{
  height:clamp(360px,37vw,560px)!important;
}
.page-template-page-people .ss-people-content .wp-block-gallery a{
  display:block;
  height:100%;
}
.page-template-page-people .ss-people-content .wp-block-gallery figure:hover img{transform:scale(1.012)}
.page-template-page-people .ss-people-content .wp-block-gallery figcaption{
  position:absolute;
  left:0;right:0;bottom:0;
  margin:0!important;
  padding:44px 16px 14px!important;
  background:linear-gradient(to top,rgba(0,0,0,.64),transparent)!important;
  color:#eee!important;
  font-size:10px!important;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.page-template-page-people .ss-people-content > p{
  max-width:760px;
  margin:0 auto 44px;
  color:#aaa39d;
  font-size:14px;
  line-height:1.8;
  text-align:center;
}
.page-template-page-people .ss-people-empty{
  max-width:760px;
  margin:0 auto;
  padding:42px;
  border:1px solid var(--ss-line-soft, #242424);
  text-align:center;
  color:#918a84;
  font-size:13px;
  line-height:1.75;
}
.page-template-page-people .ss-people-empty strong{color:#ece9e5}

.page-template-page-people .ss-people-cta{
  padding:clamp(82px,9vw,124px) 0;
  border-top:1px solid var(--ss-line-soft, #242424);
  text-align:center;
  background:#090807;
}
.page-template-page-people .ss-people-cta-inner{max-width:820px}
.page-template-page-people .ss-people-cta h2{
  margin:0 0 14px;
  color:#f4f2ef;
  font-size:clamp(32px,4.3vw,56px);
  line-height:1.04;
  font-weight:470;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-wrap:balance;
}
.page-template-page-people .ss-people-cta p{
  max-width:620px;
  margin:0 auto 26px;
  color:#b1aaa3;
  font-size:14px;
  line-height:1.75;
}

@media (max-width:800px){
  .page-template-page-people .ss-people-content .wp-block-gallery > .wp-block-image,
  .page-template-page-people .ss-people-content .wp-block-gallery > figure,
  .page-template-page-people .ss-people-content .wp-block-gallery > :nth-child(n){grid-column:span 12}
  .page-template-page-people .ss-people-content .wp-block-gallery img,
  .page-template-page-people .ss-people-content .wp-block-gallery > :nth-child(n) img{
    height:auto!important;
    object-fit:contain!important;
  }
}
@media (max-width:640px){
  .page-template-page-people .ss-people-hero-media img{max-height:none}
  .page-template-page-people .ss-people-hero-copy{padding:42px 18px 52px}
  .page-template-page-people .ss-people-title{font-size:clamp(40px,14vw,62px)}
  .page-template-page-people .ss-people-intro{font-size:13px;line-height:1.7}
  .page-template-page-people .ss-people-tags{gap:8px 18px}
  .page-template-page-people .ss-people-gallery{width:calc(100% - 24px)}
  .page-template-page-people .ss-people-selected{padding:56px 0 82px}
  .page-template-page-people .ss-people-selected-head{margin-bottom:30px}
}


/* =========================================================
   1.1.8 — OVER / ABOUT
   Personal, editorial and intentionally quieter than portfolio pages.
   ========================================================= */
.page-template-page-over .ss-about-hero{
  padding:clamp(88px,10vw,150px) 0 clamp(70px,8vw,118px);
  text-align:center;
  border-bottom:1px solid var(--ss-line-soft, #242424);
  background:#080808;
}
.page-template-page-over .ss-about-hero-inner{max-width:920px}
.page-template-page-over .ss-about-eyebrow{
  margin:0 0 14px;
  color:#777;
  font-size:10px;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.page-template-page-over .ss-about-title{
  margin:0;
  color:#f5f5f3;
  font-size:clamp(48px,8vw,96px);
  line-height:.96;
  font-weight:470;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.page-template-page-over .ss-about-intro{
  max-width:760px;
  margin:24px auto 0;
  color:#aaa9a5;
  font-size:clamp(15px,1.35vw,18px);
  line-height:1.8;
  text-wrap:balance;
}

.page-template-page-over .ss-about-story{
  padding:clamp(76px,9vw,132px) 0;
}
.page-template-page-over .ss-about-story-grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(48px,7vw,104px);
  align-items:center;
  max-width:1180px;
}
.page-template-page-over .ss-about-story-grid.no-image{
  grid-template-columns:minmax(0,760px);
  justify-content:center;
  text-align:center;
}
.page-template-page-over .ss-about-portrait{
  position:relative;
  overflow:hidden;
  background:#111;
}
.page-template-page-over .ss-about-portrait::after{
  content:"";
  position:absolute;
  inset:0;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
  pointer-events:none;
}
.page-template-page-over .ss-about-portrait img{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
}
.page-template-page-over .ss-about-copy .ss-section-kicker{
  text-align:left;
  margin-bottom:20px;
}
.page-template-page-over .no-image .ss-about-copy .ss-section-kicker{text-align:center}
.page-template-page-over .ss-about-content{
  color:#d2d1ce;
  font-size:clamp(15px,1.15vw,17px);
  line-height:1.9;
}
.page-template-page-over .ss-about-content > :first-child{margin-top:0}
.page-template-page-over .ss-about-content > :last-child{margin-bottom:0}
.page-template-page-over .ss-about-content h2,
.page-template-page-over .ss-about-content h3{
  color:#f3f2ef;
  font-weight:500;
  line-height:1.15;
  margin:1.8em 0 .7em;
}
.page-template-page-over .ss-about-content h2{font-size:clamp(26px,3vw,40px)}
.page-template-page-over .ss-about-content h3{font-size:clamp(20px,2.2vw,30px)}
.page-template-page-over .ss-about-content p{margin:0 0 1.25em}
.page-template-page-over .ss-about-content a{text-decoration:underline;text-underline-offset:4px}
.page-template-page-over .ss-about-empty{
  padding:34px;
  border:1px solid var(--ss-line-soft, #242424);
  color:#888;
  font-size:13px;
  line-height:1.75;
}

.page-template-page-over .ss-about-values{
  padding:clamp(74px,8vw,116px) 0;
  border-top:1px solid var(--ss-line-soft, #242424);
  border-bottom:1px solid var(--ss-line-soft, #242424);
  background:#0b0b0b;
}
.page-template-page-over .ss-about-values-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
}
.page-template-page-over .ss-about-value{
  min-height:240px;
  padding:12px clamp(28px,4vw,54px) 10px;
  border-left:1px solid var(--ss-line-soft, #242424);
  text-align:center;
}
.page-template-page-over .ss-about-value:first-child{border-left:0}
.page-template-page-over .ss-about-value-number{
  display:block;
  margin-bottom:24px;
  color:#5f5f5c;
  font-size:10px;
  font-weight:700;
  letter-spacing:.18em;
}
.page-template-page-over .ss-about-value h2{
  margin:0 0 14px;
  color:#f2f1ee;
  font-size:clamp(22px,2.2vw,30px);
  font-weight:500;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.page-template-page-over .ss-about-value p{
  max-width:310px;
  margin:0 auto;
  color:#969591;
  font-size:13px;
  line-height:1.8;
}

.page-template-page-over .ss-about-cta{
  padding:clamp(88px,10vw,136px) 0;
  text-align:center;
  background:#080808;
}
.page-template-page-over .ss-about-cta-inner{max-width:820px}
.page-template-page-over .ss-about-cta h2{
  margin:0 0 14px;
  color:#f4f3f0;
  font-size:clamp(34px,4.6vw,60px);
  line-height:1.03;
  font-weight:470;
  letter-spacing:.045em;
  text-transform:uppercase;
  text-wrap:balance;
}
.page-template-page-over .ss-about-cta p{
  max-width:630px;
  margin:0 auto 28px;
  color:#aaa9a5;
  font-size:14px;
  line-height:1.75;
}

@media (max-width:820px){
  .page-template-page-over .ss-about-story-grid{grid-template-columns:1fr;gap:42px;max-width:720px}
  .page-template-page-over .ss-about-portrait{max-width:520px;margin:0 auto;width:100%}
  .page-template-page-over .ss-about-copy{text-align:center}
  .page-template-page-over .ss-about-copy .ss-section-kicker{text-align:center}
  .page-template-page-over .ss-about-values-grid{grid-template-columns:1fr}
  .page-template-page-over .ss-about-value{min-height:0;padding:44px 24px;border-left:0;border-top:1px solid var(--ss-line-soft, #242424)}
  .page-template-page-over .ss-about-value:first-child{border-top:0}
}
@media (max-width:600px){
  .page-template-page-over .ss-about-hero{padding:64px 0 58px}
  .page-template-page-over .ss-about-title{font-size:clamp(44px,17vw,70px)}
  .page-template-page-over .ss-about-intro{font-size:14px;line-height:1.7}
  .page-template-page-over .ss-about-story{padding:58px 0 72px}
  .page-template-page-over .ss-about-story-grid{width:calc(100% - 30px)}
  .page-template-page-over .ss-about-content{font-size:14px;line-height:1.82}
}


/* =========================================================
   1.1.9 — ABOUT PAGE ROBUST PREMIUM LAYOUT
   Scoped to template wrapper instead of WordPress body class.
   ========================================================= */
.ss-about-page{
  background:#080808;
  color:#f4f3f0;
}
.ss-about-page .ss-about-hero{
  padding:clamp(70px,8vw,112px) 0 clamp(56px,6.5vw,86px);
  text-align:center;
  border-bottom:1px solid var(--ss-line-soft,#242424);
}
.ss-about-page .ss-about-hero-inner{max-width:860px}
.ss-about-page .ss-about-eyebrow{
  margin:0 0 14px;
  color:#777772;
  font-size:10px;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.ss-about-page .ss-about-title{
  margin:0;
  color:#f5f4f1;
  font-size:clamp(48px,7.5vw,92px);
  line-height:.96;
  font-weight:470;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.ss-about-page .ss-about-intro{
  max-width:700px;
  margin:22px auto 0;
  color:#a9a8a4;
  font-size:clamp(15px,1.25vw,17px);
  line-height:1.8;
  text-wrap:balance;
}

.ss-about-page .ss-about-story{
  padding:clamp(70px,8vw,116px) 0 clamp(76px,9vw,126px);
}
.ss-about-page .ss-about-story-grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(46px,6.5vw,94px);
  align-items:center;
  max-width:1120px;
}
.ss-about-page .ss-about-story-grid.no-image{
  grid-template-columns:1fr;
  max-width:850px;
  text-align:center;
}
.ss-about-page .ss-about-portrait{
  position:relative;
  overflow:hidden;
  background:#111;
  border:1px solid rgba(255,255,255,.06);
}
.ss-about-page .ss-about-portrait img{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
}
.ss-about-page .ss-about-copy{
  min-width:0;
}
.ss-about-page .ss-about-copy .ss-section-kicker{
  margin:0 0 24px;
  color:#777772;
  font-size:10px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-align:left;
}
.ss-about-page .ss-about-story-grid.no-image .ss-section-kicker{text-align:center}
.ss-about-page .ss-about-content{
  color:#d4d3cf;
  font-size:clamp(15px,1.18vw,17px);
  line-height:1.92;
}
.ss-about-page .ss-about-content > :first-child{margin-top:0}
.ss-about-page .ss-about-content > :last-child{margin-bottom:0}
.ss-about-page .ss-about-content p{margin:0 0 1.35em}
.ss-about-page .ss-about-content h2,
.ss-about-page .ss-about-content h3{
  margin:0 0 .75em;
  color:#f3f2ef;
  font-weight:500;
  line-height:1.12;
  letter-spacing:.015em;
  text-transform:none;
}
.ss-about-page .ss-about-content h2{font-size:clamp(27px,3vw,40px)}
.ss-about-page .ss-about-content h3{font-size:clamp(21px,2.2vw,29px)}
.ss-about-page .ss-about-content a{
  color:#f0efec;
  text-decoration:underline;
  text-underline-offset:4px;
}
.ss-about-page .ss-about-empty{
  padding:34px;
  border:1px solid var(--ss-line-soft,#242424);
  color:#8d8c88;
  font-size:13px;
  line-height:1.8;
}

.ss-about-page .ss-about-values{
  padding:clamp(68px,8vw,108px) 0;
  border-top:1px solid var(--ss-line-soft,#242424);
  border-bottom:1px solid var(--ss-line-soft,#242424);
  background:#0c0c0c;
}
.ss-about-page .ss-about-values-head{
  text-align:center;
  margin-bottom:clamp(34px,4vw,54px);
}
.ss-about-page .ss-about-values-head .ss-section-kicker{margin-bottom:8px}
.ss-about-page .ss-about-values-head h2{
  margin:0;
  color:#f4f3f0;
  font-size:clamp(26px,3vw,40px);
  font-weight:500;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.ss-about-page .ss-about-values-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.ss-about-page .ss-about-value{
  min-height:255px;
  padding:34px 32px 30px;
  border:1px solid var(--ss-line-soft,#242424);
  background:#0a0a0a;
  text-align:left;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.ss-about-page .ss-about-value-number{
  margin-bottom:auto;
  color:#5f5f5b;
  font-size:10px;
  font-weight:700;
  letter-spacing:.18em;
}
.ss-about-page .ss-about-value h2{
  margin:28px 0 10px;
  color:#f2f1ee;
  font-size:clamp(23px,2.1vw,30px);
  font-weight:500;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.ss-about-page .ss-about-value p{
  margin:0;
  color:#93928e;
  font-size:13px;
  line-height:1.75;
}

.ss-about-page .ss-about-cta{
  padding:clamp(76px,9vw,122px) 0;
  text-align:center;
  background:#080808;
}
.ss-about-page .ss-about-cta-inner{max-width:760px}
.ss-about-page .ss-about-cta h2{
  margin:0 0 14px;
  color:#f4f3f0;
  font-size:clamp(34px,4.4vw,58px);
  line-height:1.02;
  font-weight:470;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.ss-about-page .ss-about-cta p{
  max-width:610px;
  margin:0 auto 28px;
  color:#aaa9a5;
  font-size:14px;
  line-height:1.75;
}

@media (max-width:840px){
  .ss-about-page .ss-about-story-grid{grid-template-columns:1fr;gap:38px;max-width:720px}
  .ss-about-page .ss-about-portrait{max-width:500px;margin:0 auto;width:100%}
  .ss-about-page .ss-about-copy{text-align:center}
  .ss-about-page .ss-about-copy .ss-section-kicker{text-align:center}
  .ss-about-page .ss-about-values-grid{grid-template-columns:1fr}
  .ss-about-page .ss-about-value{min-height:210px;text-align:center}
  .ss-about-page .ss-about-value-number{margin:0 0 20px}
  .ss-about-page .ss-about-value h2{margin:0 0 10px}
}
@media (max-width:600px){
  .ss-about-page .ss-about-hero{padding:54px 0 48px}
  .ss-about-page .ss-about-title{font-size:clamp(44px,16vw,66px)}
  .ss-about-page .ss-about-intro{font-size:14px;line-height:1.7}
  .ss-about-page .ss-about-story{padding:52px 0 64px}
  .ss-about-page .ss-about-content{font-size:14px;line-height:1.82}
  .ss-about-page .ss-about-values{padding:58px 0}
  .ss-about-page .ss-about-value{padding:28px 24px;min-height:190px}
  .ss-about-page .ss-about-cta{padding:66px 0 72px}
}


/* =========================================================
   1.2.0 — CONTACT PAGE
   Premium, calm, conversion-focused contact layout.
   ========================================================= */
.ss-contact-page{
  background:#080808;
  color:#f4f3f0;
}
.ss-contact-page .ss-contact-hero{
  padding:clamp(74px,8vw,116px) 0 clamp(54px,6.5vw,84px);
  border-bottom:1px solid var(--ss-line-soft,#242424);
  text-align:center;
}
.ss-contact-page .ss-contact-hero-inner{max-width:860px}
.ss-contact-page .ss-contact-eyebrow{
  margin:0 0 14px;
  color:#777772;
  font-size:10px;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.ss-contact-page .ss-contact-title{
  margin:0;
  color:#f5f4f1;
  font-size:clamp(48px,7.3vw,88px);
  line-height:.97;
  font-weight:470;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.ss-contact-page .ss-contact-intro{
  max-width:700px;
  margin:22px auto 0;
  color:#aaa9a5;
  font-size:clamp(15px,1.25vw,17px);
  line-height:1.8;
  text-wrap:balance;
}

.ss-contact-page .ss-contact-main{
  padding:clamp(74px,8vw,118px) 0 clamp(86px,9vw,132px);
}
.ss-contact-page .ss-contact-grid{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:clamp(42px,7vw,96px);
  align-items:start;
  max-width:1120px;
}
.ss-contact-page .ss-contact-side{
  position:sticky;
  top:104px;
}
.ss-contact-page .ss-contact-side .ss-section-kicker{
  margin:0 0 18px;
  text-align:left;
}
.ss-contact-page .ss-contact-side h2{
  margin:0 0 18px;
  color:#f4f3f0;
  font-size:clamp(30px,3.4vw,46px);
  line-height:1.08;
  font-weight:480;
  letter-spacing:.02em;
}
.ss-contact-page .ss-contact-side > p{
  margin:0;
  color:#aaa9a5;
  font-size:14px;
  line-height:1.8;
}
.ss-contact-page .ss-contact-direct{
  margin-top:34px;
  padding-top:26px;
  border-top:1px solid var(--ss-line-soft,#242424);
}
.ss-contact-page .ss-contact-direct-label{
  display:block;
  margin-bottom:8px;
  color:#777772;
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.ss-contact-page .ss-contact-email{
  display:inline-block;
  color:#f2f1ee;
  font-size:clamp(18px,2vw,24px);
  line-height:1.3;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.35);
  padding-bottom:3px;
}
.ss-contact-page .ss-contact-email:hover{opacity:.72}
.ss-contact-page .ss-contact-location{
  margin-top:12px !important;
  color:#7f7e7a !important;
  font-size:12px !important;
  letter-spacing:.04em;
}

.ss-contact-page .ss-contact-panel{
  border:1px solid var(--ss-line-soft,#242424);
  background:#0b0b0b;
  padding:clamp(30px,4.6vw,58px);
}
.ss-contact-page .ss-contact-panel-head{
  margin-bottom:32px;
  padding-bottom:26px;
  border-bottom:1px solid var(--ss-line-soft,#242424);
}
.ss-contact-page .ss-contact-panel-head h2{
  margin:0 0 10px;
  color:#f4f3f0;
  font-size:clamp(27px,3vw,38px);
  line-height:1.12;
  font-weight:500;
}
.ss-contact-page .ss-contact-panel-head p{
  margin:0;
  color:#8f8e8a;
  font-size:13px;
  line-height:1.75;
}
.ss-contact-page .ss-contact-content{
  color:#d2d1ce;
  font-size:14px;
  line-height:1.82;
}
.ss-contact-page .ss-contact-content > :first-child{margin-top:0}
.ss-contact-page .ss-contact-content > :last-child{margin-bottom:0}
.ss-contact-page .ss-contact-content h2,
.ss-contact-page .ss-contact-content h3{
  margin:1.7em 0 .7em;
  color:#f3f2ef;
  font-weight:500;
  line-height:1.15;
}
.ss-contact-page .ss-contact-content h2{font-size:clamp(24px,2.8vw,34px)}
.ss-contact-page .ss-contact-content h3{font-size:clamp(19px,2.2vw,27px)}
.ss-contact-page .ss-contact-content p{margin:0 0 1.2em}
.ss-contact-page .ss-contact-content a{
  color:#f0efec;
  text-decoration:underline;
  text-underline-offset:4px;
}

/* Generic form styling for WPForms, CF7 and native Gutenberg/plugin forms */
.ss-contact-page .ss-contact-content form{margin-top:8px}
.ss-contact-page .ss-contact-content label{
  display:block;
  margin:0 0 8px;
  color:#c8c7c3;
  font-size:11px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.ss-contact-page .ss-contact-content input[type="text"],
.ss-contact-page .ss-contact-content input[type="email"],
.ss-contact-page .ss-contact-content input[type="tel"],
.ss-contact-page .ss-contact-content input[type="url"],
.ss-contact-page .ss-contact-content input[type="number"],
.ss-contact-page .ss-contact-content input[type="date"],
.ss-contact-page .ss-contact-content select,
.ss-contact-page .ss-contact-content textarea{
  width:100%;
  max-width:none;
  border:0;
  border-bottom:1px solid #343434;
  border-radius:0;
  background:#0b0b0b;
  color:#f3f2ef;
  box-shadow:none;
  outline:none;
  padding:12px 0 13px;
  font:inherit;
  transition:border-color .18s ease;
}
.ss-contact-page .ss-contact-content textarea{min-height:150px;resize:vertical}
.ss-contact-page .ss-contact-content input:focus,
.ss-contact-page .ss-contact-content select:focus,
.ss-contact-page .ss-contact-content textarea:focus{border-bottom-color:#d5d4cf}
.ss-contact-page .ss-contact-content input[type="submit"],
.ss-contact-page .ss-contact-content button[type="submit"],
.ss-contact-page .ss-contact-content .wpforms-submit{
  min-height:46px;
  margin-top:16px;
  padding:0 24px !important;
  border:1px solid #f2f1ee !important;
  border-radius:0 !important;
  background:#f2f1ee !important;
  color:#0a0a0a !important;
  box-shadow:none !important;
  text-shadow:none !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.09em !important;
  text-transform:uppercase !important;
  cursor:pointer;
}
.ss-contact-page .ss-contact-content input[type="submit"]:hover,
.ss-contact-page .ss-contact-content button[type="submit"]:hover,
.ss-contact-page .ss-contact-content .wpforms-submit:hover{opacity:.84}
.ss-contact-page .wpcf7-not-valid-tip,
.ss-contact-page .wpforms-error{color:#d9a0a0 !important;font-size:12px !important}
.ss-contact-page .wpcf7-response-output{margin:22px 0 0 !important;border-color:#555 !important}

.ss-contact-page .ss-contact-brief{
  padding:clamp(66px,7vw,98px) 0;
  border-top:1px solid var(--ss-line-soft,#242424);
  background:#0c0c0c;
}
.ss-contact-page .ss-contact-brief-head{
  max-width:720px;
  margin:0 auto clamp(34px,4vw,52px);
  text-align:center;
}
.ss-contact-page .ss-contact-brief-head h2{
  margin:0;
  color:#f4f3f0;
  font-size:clamp(28px,3.3vw,42px);
  font-weight:500;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.ss-contact-page .ss-contact-brief-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.ss-contact-page .ss-contact-brief-card{
  padding:30px;
  border:1px solid var(--ss-line-soft,#242424);
  background:#090909;
  text-align:center;
}
.ss-contact-page .ss-contact-brief-number{
  display:block;
  margin-bottom:18px;
  color:#5f5f5b;
  font-size:10px;
  font-weight:700;
  letter-spacing:.18em;
}
.ss-contact-page .ss-contact-brief-card h3{
  margin:0 0 8px;
  color:#f2f1ee;
  font-size:17px;
  font-weight:600;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.ss-contact-page .ss-contact-brief-card p{
  margin:0;
  color:#8f8e8a;
  font-size:12px;
  line-height:1.7;
}

@media (max-width:840px){
  .ss-contact-page .ss-contact-grid{grid-template-columns:1fr;gap:40px;max-width:760px}
  .ss-contact-page .ss-contact-side{position:static;text-align:center}
  .ss-contact-page .ss-contact-side .ss-section-kicker{text-align:center}
  .ss-contact-page .ss-contact-brief-grid{grid-template-columns:1fr}
  .ss-contact-page .ss-contact-brief-card{padding:28px 24px}
}
@media (max-width:600px){
  .ss-contact-page .ss-contact-hero{padding:54px 0 48px}
  .ss-contact-page .ss-contact-title{font-size:clamp(44px,16vw,66px)}
  .ss-contact-page .ss-contact-intro{font-size:14px;line-height:1.7}
  .ss-contact-page .ss-contact-main{padding:54px 0 70px}
  .ss-contact-page .ss-contact-panel{padding:28px 22px}
  .ss-contact-page .ss-contact-brief{padding:56px 0 64px}
}

/* =========================================================
   EVENT REPORTAGE — PREMIUM LONGFORM
   ========================================================= */

.ss-reportage-page{
  background:var(--ss-bg,#080808);
  color:var(--ss-text,#f4f4f2);
}

.ss-reportage-hero-media{
  width:100%;
  height:clamp(420px,61vw,820px);
  overflow:hidden;
  background:#0b0b0b;
}
.ss-reportage-hero-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.ss-reportage-header{
  padding:clamp(56px,7vw,94px) 0 clamp(58px,7vw,92px);
  border-bottom:1px solid var(--ss-line-soft,rgba(255,255,255,.06));
}
.ss-reportage-header-inner{
  max-width:980px;
  text-align:center;
}
.ss-reportage-back{
  display:inline-block;
  margin-bottom:34px;
  color:#777772;
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  text-decoration:none;
}
.ss-reportage-back:hover{color:#d8d7d3;opacity:1}
.ss-reportage-eyebrow{
  margin:0 0 16px;
  color:#85847f;
  font-size:10px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.ss-reportage-title{
  max-width:940px;
  margin:0 auto;
  color:#f5f4f1;
  font-size:clamp(42px,6vw,82px);
  line-height:.99;
  font-weight:470;
  letter-spacing:.025em;
  text-wrap:balance;
}
.ss-reportage-intro{
  max-width:720px;
  margin:24px auto 0;
  color:#aaa9a5;
  font-size:clamp(15px,1.35vw,18px);
  line-height:1.82;
  text-wrap:balance;
}

.ss-reportage-body{
  padding:clamp(68px,8vw,116px) 0 clamp(84px,9vw,130px);
}
.ss-reportage-content{
  width:min(calc(100% - 48px),1180px);
  margin:0 auto;
  color:#d2d1ce;
  font-size:15px;
  line-height:1.85;
}
.ss-reportage-content > :first-child{margin-top:0}
.ss-reportage-content > :last-child{margin-bottom:0}

/* Editorial text measure */
.ss-reportage-content > p,
.ss-reportage-content > h2,
.ss-reportage-content > h3,
.ss-reportage-content > h4,
.ss-reportage-content > ul,
.ss-reportage-content > ol,
.ss-reportage-content > blockquote{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
.ss-reportage-content > p{margin-top:0;margin-bottom:1.45em}
.ss-reportage-content h2,
.ss-reportage-content h3,
.ss-reportage-content h4{
  color:#f1f0ed;
  font-weight:500;
  line-height:1.15;
}
.ss-reportage-content h2{margin-top:2.4em;margin-bottom:.75em;font-size:clamp(28px,3.2vw,42px)}
.ss-reportage-content h3{margin-top:2.1em;margin-bottom:.7em;font-size:clamp(22px,2.6vw,32px)}
.ss-reportage-content a{
  color:#f2f1ee;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}

/* Photography gets the width, not the prose */
.ss-reportage-content > figure,
.ss-reportage-content > .wp-block-gallery,
.ss-reportage-content > .wp-block-cover,
.ss-reportage-content > .wp-block-group.alignwide,
.ss-reportage-content > .wp-block-html,
.ss-reportage-content > .wp-block-embed{
  width:100%;
  max-width:1180px;
  margin:clamp(44px,5.5vw,72px) auto;
}
.ss-reportage-content .wp-block-image img,
.ss-reportage-content .wp-block-gallery img{
  display:block;
  width:100%;
  height:auto;
}
.ss-reportage-content .wp-block-gallery{
  gap:10px !important;
}
.ss-reportage-content figcaption{
  margin-top:10px;
  color:#74736f;
  font-size:11px;
  line-height:1.5;
  text-align:center;
}

/* Full width embedded gallery / OYPO and similar content */
.ss-reportage-content iframe,
.ss-reportage-content object,
.ss-reportage-content embed{
  width:100%;
  max-width:100%;
}
.ss-reportage-content > .wp-block-html{
  overflow:visible;
}

.ss-reportage-nav{
  border-top:1px solid var(--ss-line-soft,rgba(255,255,255,.06));
  border-bottom:1px solid var(--ss-line-soft,rgba(255,255,255,.06));
  background:#0a0a0a;
}
.ss-reportage-nav-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  padding-top:34px;
  padding-bottom:34px;
}
.ss-reportage-nav-prev,
.ss-reportage-nav-next{min-height:62px}
.ss-reportage-nav-next{text-align:right}
.ss-reportage-nav span{
  display:block;
  margin-bottom:8px;
  color:#666661;
  font-size:9px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.ss-reportage-nav a{
  color:#dad9d5;
  font-size:14px;
  line-height:1.45;
  text-decoration:none;
}
.ss-reportage-nav a:hover{color:#fff;opacity:1}

.ss-reportage-cta{
  padding:clamp(70px,8vw,108px) 0;
  text-align:center;
  background:#0c0c0c;
}
.ss-reportage-cta-inner{max-width:760px}
.ss-reportage-cta h2{
  margin:0 0 14px;
  color:#f4f3f0;
  font-size:clamp(29px,3.6vw,46px);
  line-height:1.08;
  font-weight:500;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.ss-reportage-cta p:not(.ss-section-kicker){
  max-width:620px;
  margin:0 auto 26px;
  color:#969590;
  font-size:14px;
  line-height:1.8;
}

@media (max-width:700px){
  .ss-reportage-hero-media{height:62vw;min-height:300px}
  .ss-reportage-header{padding:48px 0 52px}
  .ss-reportage-back{margin-bottom:26px}
  .ss-reportage-title{font-size:clamp(38px,12vw,58px)}
  .ss-reportage-intro{font-size:14px;line-height:1.72}
  .ss-reportage-body{padding:54px 0 72px}
  .ss-reportage-content{width:min(calc(100% - 30px),1180px);font-size:14px}
  .ss-reportage-content > figure,
  .ss-reportage-content > .wp-block-gallery,
  .ss-reportage-content > .wp-block-cover,
  .ss-reportage-content > .wp-block-html,
  .ss-reportage-content > .wp-block-embed{margin:34px auto}
  .ss-reportage-content .wp-block-gallery{gap:6px !important}
  .ss-reportage-nav-grid{grid-template-columns:1fr;gap:24px;padding-top:28px;padding-bottom:28px}
  .ss-reportage-nav-next{text-align:left}
  .ss-reportage-nav-prev,.ss-reportage-nav-next{min-height:0}
  .ss-reportage-cta{padding:60px 0 68px}
}


/* =========================================================
   v1.2.2 — SITEWIDE PREMIUM POLISH
   ========================================================= */

/* Accessibility / focus */
.ss-skip-link:focus{
  clip:auto !important;
  clip-path:none !important;
  width:auto !important;
  height:auto !important;
  top:12px;
  left:12px;
  padding:10px 14px;
  background:#f3f2ef;
  color:#090909;
  z-index:99999;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline:1px solid #e6e5e1;
  outline-offset:4px;
}

/* Generic pages */
.ss-generic-page-hero{
  padding:clamp(68px,8vw,110px) 0 clamp(42px,5vw,66px);
  text-align:center;
  border-bottom:1px solid var(--ss-line-soft,rgba(255,255,255,.06));
  background:#090909;
}
.ss-generic-page-hero-inner{max-width:980px}
.ss-generic-page-hero .ss-section-kicker{margin-bottom:16px}
.ss-generic-page-hero .ss-page-title{
  margin:0 auto;
  max-width:980px;
  color:#f5f4f1;
  font-size:clamp(42px,6vw,78px);
  line-height:1.02;
  font-weight:470;
  letter-spacing:.035em;
  text-transform:uppercase;
  text-wrap:balance;
}
.ss-entry--premium{
  width:min(calc(100% - 48px),860px);
  padding:clamp(58px,7vw,92px) 0 clamp(86px,9vw,128px);
  color:#d2d1ce;
  font-size:15px;
  line-height:1.86;
}
.ss-entry--premium > :first-child{margin-top:0}
.ss-entry--premium > :last-child{margin-bottom:0}
.ss-entry--premium h2,
.ss-entry--premium h3{
  color:#f2f1ee;
  font-weight:500;
  letter-spacing:.01em;
  text-transform:none;
}
.ss-entry--premium h2{font-size:clamp(28px,3.4vw,42px);margin-top:2.2em}
.ss-entry--premium h3{font-size:clamp(22px,2.7vw,31px);margin-top:2em}
.ss-entry--premium p{margin-bottom:1.45em}
.ss-entry--premium a{
  color:#f3f2ef;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}
.ss-entry--premium blockquote{
  margin:46px 0;
  padding:8px 0 8px 28px;
  border-left:1px solid #555;
  color:#aaa9a5;
  font-size:clamp(19px,2vw,24px);
  line-height:1.55;
}
.ss-entry--premium hr{margin:58px 0;border:0;border-top:1px solid #262626}
.ss-entry--premium figure{margin:44px 0}
.ss-entry--premium figure img{display:block;width:100%;height:auto}
.ss-entry--premium figcaption{color:#6f6e69;font-size:11px;text-align:center;margin-top:10px}
.ss-single-featured{width:min(100%,1180px);margin:0 auto 54px !important}

/* Archive / editorial cards */
.ss-archive-description{max-width:660px;margin:20px auto 0;color:#8f8e8a;font-size:14px;line-height:1.75}
.ss-post-grid--premium{padding-top:64px;padding-bottom:36px;gap:34px}
.ss-post-card{
  border:0;
  background:transparent;
}
.ss-post-card-media{
  display:block;
  overflow:hidden;
  background:#111;
}
.ss-post-card-media img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  transition:transform .45s ease;
}
.ss-post-card:hover .ss-post-card-media img{transform:scale(1.018)}
.ss-post-card-content{padding:20px 0 0}
.ss-post-card-meta{margin:0 0 8px !important;color:#686864 !important;font-size:9px !important;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.ss-post-card h2{margin:0 0 10px;font-size:22px;font-weight:500;line-height:1.2}
.ss-post-card h2 a{text-decoration:none}
.ss-post-card-content > p:last-child{color:#92918d;font-size:13px;line-height:1.7}
.ss-pagination{padding:18px 0 84px}
.ss-pagination .nav-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.ss-pagination .page-numbers{
  display:inline-flex;
  min-width:40px;
  min-height:40px;
  align-items:center;
  justify-content:center;
  border:1px solid #292929;
  padding:0 12px;
  color:#aaa9a5;
  font-size:11px;
  text-decoration:none;
}
.ss-pagination .current,.ss-pagination a:hover{border-color:#777;color:#fff;opacity:1}

/* 404 */
.ss-404{
  min-height:70vh;
  display:grid;
  place-items:center;
  padding:90px 24px;
  text-align:center;
  background:#080808;
}
.ss-404-inner{max-width:760px}
.ss-404-code{
  margin:-10px 0 6px;
  color:#151515;
  font-size:clamp(118px,22vw,270px);
  line-height:.8;
  font-weight:800;
  letter-spacing:-.06em;
  user-select:none;
}
.ss-404 h1{margin:0;color:#f3f2ef;font-size:clamp(32px,4.8vw,58px);line-height:1.04;font-weight:500;letter-spacing:.02em}
.ss-404 p:not(.ss-section-kicker){max-width:580px;margin:20px auto 0;color:#8f8e8a;font-size:14px;line-height:1.8}
.ss-404-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:30px}

/* Footer — quieter, more premium */
.ss-site-footer{background:#090909;border-top:1px solid #1f1f1f}
.ss-footer-main{
  grid-template-columns:minmax(0,1.4fr) minmax(180px,.6fr) minmax(220px,.7fr);
  gap:clamp(36px,6vw,88px);
  padding:clamp(48px,6vw,72px) 0 42px;
}
.ss-footer-title{
  display:inline-block;
  margin:0 0 12px;
  color:#f1f0ed;
  font-size:15px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.ss-footer-text{max-width:440px;color:#777772;font-size:12px;line-height:1.75}
.ss-footer-label{margin:0 0 14px;color:#555550;font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.ss-footer-menu ul{display:block}
.ss-footer-menu li{margin:0 0 7px}
.ss-footer-menu a{color:#9c9b97;font-size:11px;text-transform:none;letter-spacing:.02em}
.ss-footer-email{display:block;color:#c9c8c4;font-size:12px}
.ss-footer-location{display:block;margin-top:8px;color:#62625e;font-size:11px}
.ss-footer-bottom{border-top:1px solid #1b1b1b;padding:16px 0;color:#555550;font-size:10px}
.ss-footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}
.ss-footer-legal{display:flex;gap:18px}
.ss-footer-legal a{color:#666661;text-decoration:none}
.ss-footer-legal a:hover{color:#aaa9a5;opacity:1}

/* Performance-friendly motion */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}

@media (max-width:900px){
  .ss-footer-main{grid-template-columns:1.2fr .8fr;gap:34px}
  .ss-footer-contact{grid-column:1/-1}
}

@media (max-width:600px){
  .ss-generic-page-hero{padding:52px 0 42px}
  .ss-generic-page-hero .ss-page-title{font-size:clamp(38px,13vw,58px)}
  .ss-entry--premium{width:min(calc(100% - 30px),860px);padding:50px 0 72px;font-size:14px}
  .ss-entry--premium figure{margin:34px 0}
  .ss-post-grid--premium{padding-top:44px;gap:42px}
  .ss-pagination{padding-bottom:64px}
  .ss-footer-main{grid-template-columns:1fr;gap:28px;padding-top:42px}
  .ss-footer-contact{grid-column:auto}
  .ss-footer-bottom-inner{display:block;text-align:center}
  .ss-footer-legal{justify-content:center;margin-top:8px}
  .ss-404{padding:70px 20px}
  .ss-404-code{font-size:clamp(120px,42vw,190px)}
}
