/*
 * NAYUTA SITE v2: six architectural visual systems, not colour skins.
 * Loaded ONLY for a selected SITE builder design. The default O-LAND theme,
 * public CMS contracts, feature hooks, named forms and routes are unchanged.
 *
 * First-party public site media can appear as decorative mosaic images only
 * if already present in the rendered public HOME. No stats are fabricated.
 */
html[data-site-design] .hero {
  display:grid;
  position:relative;
  grid-template-columns:minmax(0,1fr);
  align-items:stretch;
  gap:0;
  isolation:isolate;
  padding-bottom:0;
  overflow:clip;
}
html[data-site-design] .hero > .hero-visual {
  position:relative;
  top:auto;right:auto;bottom:auto;left:auto;
  width:100%;max-width:none;
  min-height:0;height:clamp(480px,52vw,730px);
  margin:0;
  overflow:hidden;
  grid-column:1;grid-row:1;
  z-index:0;
}
html[data-site-design] .hero > .hero-visual .hero-slides,
html[data-site-design] .hero > .hero-visual .hero-main-photo {
  height:100%;min-height:100%;
}
html[data-site-design] .hero > .hero-copy-block {
  position:relative;
  top:auto;right:auto;bottom:auto;left:auto;
  width:auto;max-width:none;height:auto;
  margin:0;padding:clamp(28px,4.5vw,78px);
  z-index:3;
  pointer-events:auto;
}
html[data-site-design] .hero .hero-copy-footer {max-width:620px;margin-top:24px;padding:0;border:0}
html[data-site-design] .hero .hero-copy {max-width:600px}
html[data-site-design] .hero h1 {max-width:100%;font-size:clamp(38px,4.1vw,72px);line-height:1.24;letter-spacing:-.04em}
html[data-site-design] .hero .hero-search-panel {
  position:relative;
  width:auto;max-width:none;
  inset:auto;margin:0;border-radius:0;
  background:#fff;
  backdrop-filter:none;
  z-index:4;
}
html[data-site-design] .hero > .hero-service-links {position:relative;inset:auto;margin:0;z-index:3;max-width:none}
html[data-site-design] .hero .nayuta-template-kicker {
  display:flex;align-items:center;gap:18px;
  margin:0 0 24px;
  font:700 11px/1.5 var(--font-sans,system-ui);
  letter-spacing:.22em;text-transform:uppercase;
  white-space:normal;
}
html[data-site-design] .hero .nayuta-template-rule {display:inline-block;width:48px;height:1px;background:currentColor;opacity:.35}
html[data-site-design] .hero .nayuta-template-details {z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
html[data-site-design] .hero .nayuta-template-detail {display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:22px;text-decoration:none;border:1px solid rgba(110,120,125,.15);background:transparent;color:inherit}
html[data-site-design] .hero .nayuta-template-detail span:first-child {font:500 12px var(--font-sans,system-ui);opacity:.65}
html[data-site-design] .hero .nayuta-template-detail strong {font:600 15px/1.5 var(--font-sans,system-ui)}
html[data-site-design] .hero .nayuta-template-detail:focus-visible {outline:3px solid var(--action);outline-offset:-3px}
html[data-site-design] .hero .nayuta-template-mosaic {z-index:1;display:grid;overflow:hidden;min-width:0;min-height:0}
html[data-site-design] .hero .nayuta-template-image {min-width:0;min-height:0;overflow:hidden}
html[data-site-design] .hero .nayuta-template-image img {display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center}
html[data-site-design] #property .property-grid {min-width:0}
html[data-site-design] #property .section-heading h2,
html[data-site-design] #journal .section-heading h2,
html[data-site-design] #about .section-heading h2 {letter-spacing:.06em}
html[data-site-design] #contact .contact-layout {position:relative;z-index:2}

/* 01 / Modern Portal: hero panorama -> dominant wide search dock -> catalog. */
html[data-site-design="modern-portal"] .hero {background:var(--pale)}
html[data-site-design="modern-portal"] .hero-visual {grid-row:1;grid-column:1;height:clamp(510px,50vw,680px)}
html[data-site-design="modern-portal"] .hero-visual::after {
  background:linear-gradient(180deg,rgba(9,46,69,.1),rgba(9,46,69,.66));
}
html[data-site-design="modern-portal"] .hero-copy-block {grid-row:1;grid-column:1;align-self:center;max-width:1030px!important;margin:auto!important;text-align:center;padding:90px 32px 155px!important;background:transparent!important}
html[data-site-design="modern-portal"] .hero .nayuta-template-kicker {justify-content:center;color:#fff}
html[data-site-design="modern-portal"] .hero h1 {color:#fff;text-shadow:0 3px 28px #09263b91;font-family:var(--font-sans);font-weight:700;letter-spacing:-.045em}
html[data-site-design="modern-portal"] .hero .hero-copy {margin-inline:auto;color:#fff;text-shadow:0 1px 14px #09263b}
html[data-site-design="modern-portal"] .hero .hero-actions {justify-content:center}
html[data-site-design="modern-portal"] .hero-search-panel {grid-row:2;grid-column:1;margin:-94px auto 0!important;width:min(1160px,calc(100% - 40px))!important;border:1px solid #d9e7ed!important;border-radius:18px!important;box-shadow:0 22px 54px #152e4660!important}
html[data-site-design="modern-portal"] .hero-service-links {grid-row:3;grid-column:1;justify-self:center;width:min(1160px,calc(100% - 40px));padding:28px 0 50px}
html[data-site-design="modern-portal"] #property {background:var(--pale)}
html[data-site-design="modern-portal"] #property .section-shell {max-width:1360px}
html[data-site-design="modern-portal"] #property .property-item {box-shadow:0 12px 38px #15374819;border-radius:16px}

/* 02 / Minimal Corporate: generous two-sided editorial spread, then company. */
html[data-site-design="minimal-corporate"] .hero {grid-template-columns:45% 55%;background:#fff}
html[data-site-design="minimal-corporate"] .hero-visual {grid-row:1;grid-column:2;height:clamp(550px,54vw,760px);margin:0!important;width:100%!important}
html[data-site-design="minimal-corporate"] .hero-visual::after {background:linear-gradient(90deg,rgba(255,255,255,.1),transparent 50%)}
html[data-site-design="minimal-corporate"] .hero-copy-block {grid-row:1;grid-column:1;align-self:center;padding:clamp(34px,5.7vw,96px)!important;background:#fff!important}
html[data-site-design="minimal-corporate"] .hero h1 {font:500 clamp(39px,4vw,68px)/1.35 var(--font-serif);color:#263442;letter-spacing:-.025em}
html[data-site-design="minimal-corporate"] .hero .nayuta-template-kicker {color:#586a73}
html[data-site-design="minimal-corporate"] .hero-search-panel {grid-row:3;grid-column:1/-1;width:min(1100px,calc(100% - 70px))!important;margin:0 auto 55px!important;border:1px solid #e2e4e5!important;box-shadow:none!important}
html[data-site-design="minimal-corporate"] .nayuta-template-details {grid-row:2;grid-column:1/-1;margin:0 auto;width:min(1100px,calc(100% - 70px));border-bottom:1px solid #dce1e4;color:#263442}
html[data-site-design="minimal-corporate"] .nayuta-template-detail {border:0!important;border-right:1px solid #dce1e4!important;background:#fff}
html[data-site-design="minimal-corporate"] .hero-service-links {display:none}
html[data-site-design="minimal-corporate"] #about {background:var(--pale)}
html[data-site-design="minimal-corporate"] #about .about-copy h3 {font-family:var(--font-serif);font-weight:500;font-size:clamp(29px,3vw,48px)}
html[data-site-design="minimal-corporate"] .site-footer {background:#f2f1ed;color:#263442}

/* 03 / Editorial Warm: photo essay / offset cover, readings immediately below. */
html[data-site-design="editorial-warm"] .hero {grid-template-columns:minmax(0,62%) minmax(0,38%);background:#f6eee4}
html[data-site-design="editorial-warm"] .hero-visual {grid-column:1;grid-row:1;min-height:650px;height:clamp(650px,58vw,830px)}
html[data-site-design="editorial-warm"] .hero-visual::after {background:linear-gradient(0deg,#3e292b55,transparent 60%)}
html[data-site-design="editorial-warm"] .hero-copy-block {grid-column:2;grid-row:1;align-self:center;padding:clamp(28px,4vw,66px)!important;background:#f6eee4!important;border:0!important}
html[data-site-design="editorial-warm"] .hero h1 {color:#4c2f2a!important;text-shadow:none!important;font-family:var(--font-serif);font-weight:500;font-size:clamp(39px,3.7vw,65px)}
html[data-site-design="editorial-warm"] .hero .hero-copy {color:#6a5649!important;text-shadow:none;font-weight:400;line-height:2}
html[data-site-design="editorial-warm"] .hero .nayuta-template-kicker {color:#815e48}
html[data-site-design="editorial-warm"] .hero .nayuta-template-mosaic {grid-row:1;grid-column:1;z-index:2;align-self:end;justify-self:end;transform:translate(18%,10%);width:40%;height:225px;grid-template-columns:2fr 1fr;box-shadow:0 16px 38px #2c1f1950}
html[data-site-design="editorial-warm"] .hero .nayuta-template-image:nth-child(3) {display:none}
html[data-site-design="editorial-warm"] .hero-search-panel {grid-row:2;grid-column:1/-1;margin:50px auto 0!important;width:min(1120px,calc(100% - 48px))!important;background:#fbf7f0!important;border:1px solid #e1d1bf!important;box-shadow:none!important}
html[data-site-design="editorial-warm"] .hero-service-links {grid-row:3;grid-column:1/-1;padding:32px max(24px,6vw) 55px}
html[data-site-design="editorial-warm"] #journal {background:var(--pale)}
html[data-site-design="editorial-warm"] #journal .section-intro {border-bottom:1px solid #d8c5af;padding-bottom:35px}
html[data-site-design="editorial-warm"] #journal .section-heading p {font-family:var(--font-serif);font-size:clamp(25px,2.5vw,38px)}
html[data-site-design="editorial-warm"] .site-footer {background:var(--brand-dark);color:#fff}

/* 04 / Lifestyle Gallery: collage is a genuine sibling content region. */
html[data-site-design="lifestyle-gallery"] .hero {grid-template-columns:minmax(0,59%) minmax(0,41%);background:var(--brand-dark)}
html[data-site-design="lifestyle-gallery"] .hero-visual {grid-column:1;grid-row:1;height:clamp(620px,59vw,820px);min-height:620px;margin:0!important;width:100%!important}
html[data-site-design="lifestyle-gallery"] .hero-visual::after {background:linear-gradient(0deg,#061c208c,transparent 64%)}
html[data-site-design="lifestyle-gallery"] .hero .nayuta-template-mosaic {grid-column:2;grid-row:1;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1.3fr 1fr;gap:8px;padding:8px;background:#20332f;height:100%}
html[data-site-design="lifestyle-gallery"] .hero .nayuta-template-image:first-child {grid-column:1/-1}
html[data-site-design="lifestyle-gallery"] .hero-copy-block {grid-row:1;grid-column:1;align-self:end;max-width:820px!important;padding:45px 6vw 75px!important;background:transparent!important}
html[data-site-design="lifestyle-gallery"] .hero h1 {color:#fff!important;font-family:var(--font-serif);font-size:clamp(40px,4.5vw,70px);text-shadow:0 3px 18px #082c2c8e}
html[data-site-design="lifestyle-gallery"] .hero .hero-copy,.hero[data-no-op] {color:inherit}
html[data-site-design="lifestyle-gallery"] .hero .hero-copy {color:#f3fffb!important;text-shadow:0 1px 12px #052c2a;font-weight:400}
html[data-site-design="lifestyle-gallery"] .hero .nayuta-template-kicker {color:#e7f1ea}
html[data-site-design="lifestyle-gallery"] .hero-search-panel {grid-row:2;grid-column:1/-1;margin:0!important;background:#fff!important;border-radius:0!important;box-shadow:none!important}
html[data-site-design="lifestyle-gallery"] .hero-service-links {grid-row:3;grid-column:1/-1;background:#ecf2ee;padding:20px 5vw}
html[data-site-design="lifestyle-gallery"] #property {background:var(--pale)}
html[data-site-design="lifestyle-gallery"] #property .property-grid {gap:14px}
html[data-site-design="lifestyle-gallery"] #property .property-item:nth-child(3n + 1) figure {aspect-ratio:4/5}
html[data-site-design="lifestyle-gallery"] #property .property-item:nth-child(3n + 2) figure {aspect-ratio:1/1}
html[data-site-design="lifestyle-gallery"] #journal .journal-layout {gap:24px}

/* 05 / Performance Tech: decision-friendly index and high-information density. */
html[data-site-design="performance-tech"] body {background:#ebf3f5}
html[data-site-design="performance-tech"] .site-header {background:var(--brand-dark);color:#fff}
html[data-site-design="performance-tech"] .hero {grid-template-columns:minmax(0,66%) minmax(0,34%);background:var(--brand-dark)}
html[data-site-design="performance-tech"] .hero-visual {grid-row:1;grid-column:1/-1;height:clamp(610px,57vw,740px)}
html[data-site-design="performance-tech"] .hero-visual::after {background:linear-gradient(90deg,#071f30ed 0%,#092c4199 57%,#061923b8)}
html[data-site-design="performance-tech"] .hero-copy-block {grid-row:1;grid-column:1;align-self:center;padding:90px 6vw!important;background:transparent!important}
html[data-site-design="performance-tech"] .hero h1 {color:#fff!important;font:700 clamp(39px,4vw,67px)/1.25 var(--font-sans);text-shadow:none!important}
html[data-site-design="performance-tech"] .hero .hero-copy {color:#e2f4fa!important;font-weight:400}
html[data-site-design="performance-tech"] .hero .nayuta-template-kicker {color:#83cae5}
html[data-site-design="performance-tech"] .nayuta-template-details {grid-row:1;grid-column:2;grid-template-columns:1fr;align-self:center;gap:12px;padding:24px}
html[data-site-design="performance-tech"] .nayuta-template-detail {min-height:80px;color:#eef9ff!important;background:#0e3242df!important;border:1px solid #75b8cc68!important;border-radius:4px}
html[data-site-design="performance-tech"] .hero-search-panel {grid-row:2;grid-column:1/-1;margin:0!important;width:100%!important;box-shadow:none!important;border:0!important}
html[data-site-design="performance-tech"] .hero-service-links {grid-row:3;grid-column:1/-1;padding:30px 5vw;background:#e4f0f4}
html[data-site-design="performance-tech"] #service {background:var(--brand-dark);color:#fff}
html[data-site-design="performance-tech"] #service .section-heading h2 {color:#b4ddec}
html[data-site-design="performance-tech"] #service .service-copy {color:#dbe9ed}
html[data-site-design="performance-tech"] #property {background:var(--pale)}
html[data-site-design="performance-tech"] #property .property-item {border-top:4px solid #1d718f;border-radius:0;box-shadow:0 5px 24px #1643561a}

/* 06 / Trust Premium: full-bleed photographic signature, curated consultation. */
html[data-site-design="trust-premium"] body {background:#f6f2eb}
html[data-site-design="trust-premium"] .site-header {background:var(--brand-dark);color:#fff}
html[data-site-design="trust-premium"] .hero {background:var(--brand-dark)}
html[data-site-design="trust-premium"] .hero-visual {grid-row:1;grid-column:1;height:clamp(650px,65vw,820px)}
html[data-site-design="trust-premium"] .hero-visual::after {background:linear-gradient(90deg,#100d0cc8,transparent 85%),linear-gradient(0deg,#151713b2,transparent 60%)}
html[data-site-design="trust-premium"] .hero-copy-block {grid-row:1;grid-column:1;align-self:end;width:min(960px,100%)!important;margin:0 0 0 max(0px,5vw)!important;padding:36px 5vw 110px!important;background:transparent!important}
html[data-site-design="trust-premium"] .hero h1 {color:#fff!important;font:400 clamp(42px,5vw,80px)/1.35 var(--font-serif);letter-spacing:.03em;text-shadow:0 2px 22px #0008}
html[data-site-design="trust-premium"] .hero .hero-copy {color:#f5f0e5!important;font-weight:400}
html[data-site-design="trust-premium"] .hero .nayuta-template-kicker {color:#d2b780}
html[data-site-design="trust-premium"] .hero-actions .button-primary {background:#d6bb83!important;border-color:#d6bb83!important;color:#211d16!important}
html[data-site-design="trust-premium"] .nayuta-template-details {grid-row:2;grid-column:1;background:#191e1c;color:#e9dcc7;padding:0 max(20px,6vw)}
html[data-site-design="trust-premium"] .nayuta-template-detail {border:0!important;border-right:1px solid #a698744a!important;padding:26px 25px}
html[data-site-design="trust-premium"] .hero-search-panel {grid-row:3;grid-column:1;width:min(1120px,calc(100% - 48px))!important;margin:42px auto 0!important;box-shadow:none!important;border:1px solid #dbcfb8!important;background:#faf7f0!important}
html[data-site-design="trust-premium"] .hero-service-links {grid-row:4;grid-column:1;padding:25px max(22px,6vw) 45px}
html[data-site-design="trust-premium"] #about {background:var(--pale)}
html[data-site-design="trust-premium"] #about .about-copy h3 {font-family:var(--font-serif);font-weight:400;font-size:clamp(30px,3.8vw,55px)}
html[data-site-design="trust-premium"] #voice {background:var(--brand-dark);color:#fff}
html[data-site-design="trust-premium"] .site-footer {background:var(--brand-dark);color:#fff}

/* Explicit direct-child grid placement has higher specificity than the base
 * .hero > .hero-visual rule. Without it the Minimal photo sits behind the
 * left copy, leaving an empty right column (caught by screenshot review). */
@media (min-width:761px) {
  html[data-site-design="minimal-corporate"] .hero > .hero-visual {
    grid-column:2!important;grid-row:1!important;
  }
  html[data-site-design="editorial-warm"] .hero > .hero-visual,
  html[data-site-design="lifestyle-gallery"] .hero > .hero-visual {
    grid-column:1!important;grid-row:1!important;
  }
  html[data-site-design="performance-tech"] .hero > .hero-visual {
    grid-column:1 / -1!important;grid-row:1!important;
  }
}

/* Structure-aware: no property-search-only layout assumptions for Housing.
 * Hidden Plugin markup remains hidden by existing Core and never gets revived.
 */
html[data-site-design] .hero:has(> .nayuta-template-details) .nayuta-template-details a:focus-visible {outline:2px solid currentColor;outline-offset:-4px}
html[data-site-design] .section:not(.hero) {scroll-margin-top:80px}
html[data-site-design] .hero .hero-quick-field select {color:#21333e}
html[data-site-design] .hero .hero-quick-field select:focus-visible {outline:2px solid var(--brand);outline-offset:3px}
@media (max-width:1100px) and (min-width:761px) {
  html[data-site-design="minimal-corporate"] .hero,
  html[data-site-design="editorial-warm"] .hero {grid-template-columns:48% 52%}
  html[data-site-design="performance-tech"] .hero {grid-template-columns:60% 40%}
  html[data-site-design="editorial-warm"] .hero .nayuta-template-mosaic {height:160px}
  html[data-site-design] .hero .nayuta-template-detail {padding:15px}
}
@media (max-width:760px) {
  html[data-site-design] .hero {display:grid;grid-template-columns:1fr;overflow:visible}
  html[data-site-design] .hero > .hero-visual {grid-column:1;width:100%!important;margin:0!important;min-height:0;height:clamp(390px,60svh,580px)}
  html[data-site-design] .hero > .hero-copy-block {grid-column:1;top:auto!important;right:auto!important;left:auto!important;bottom:auto!important;width:100%!important;max-width:none!important;padding:32px 22px!important;margin:0!important;border:0!important}
  html[data-site-design] .hero h1 {font-size:clamp(31px,9vw,48px)!important;line-height:1.34!important}
  html[data-site-design] .hero .hero-copy-footer {margin-top:14px}
  html[data-site-design] .hero .hero-copy {font-size:13px}
  html[data-site-design] .hero .nayuta-template-kicker {margin:0 0 14px;font-size:10px}
  html[data-site-design] .hero .hero-actions {margin-top:20px}
  html[data-site-design] .hero-search-panel {grid-column:1!important;position:relative!important;margin:0 12px 12px!important;width:calc(100% - 24px)!important;box-shadow:none!important}
  html[data-site-design] .hero-service-links {grid-column:1!important;width:100%!important;margin:0!important;padding:12px!important}
  html[data-site-design] .hero .nayuta-template-details {grid-column:1!important;grid-template-columns:1fr!important;margin:0!important;width:100%!important;padding:0 12px!important}
  html[data-site-design] .hero .nayuta-template-detail {min-height:55px;padding:12px!important;font-size:13px}
  html[data-site-design="modern-portal"] .hero-visual {grid-row:1;height:470px}
  html[data-site-design="modern-portal"] .hero-copy-block {grid-row:1;align-self:center;text-align:center;padding:34px 20px 118px!important}
  html[data-site-design="modern-portal"] .hero-search-panel {grid-row:2;margin:-24px 12px 16px!important}
  html[data-site-design="modern-portal"] .hero-service-links {grid-row:3}
  html[data-site-design="minimal-corporate"] .hero-copy-block {grid-row:1!important;background:#fff!important;padding:60px 24px 36px!important}
  html[data-site-design="minimal-corporate"] .hero-visual {grid-row:2!important;height:360px!important}
  html[data-site-design="minimal-corporate"] .nayuta-template-details {grid-row:3}
  html[data-site-design="minimal-corporate"] .hero-search-panel {grid-row:4}
  html[data-site-design="editorial-warm"] .hero-visual {grid-row:1!important;height:390px!important}
  html[data-site-design="editorial-warm"] .hero-copy-block {grid-row:2!important;padding:36px 26px!important}
  html[data-site-design="editorial-warm"] .hero .nayuta-template-mosaic {grid-row:1!important;grid-column:1!important;width:52%;height:112px;transform:none;align-self:end;justify-self:end}
  html[data-site-design="editorial-warm"] .hero-search-panel {grid-row:3!important}
  html[data-site-design="editorial-warm"] .hero-service-links {grid-row:4!important}
  html[data-site-design="lifestyle-gallery"] .hero-visual {grid-row:1!important;height:400px!important}
  html[data-site-design="lifestyle-gallery"] .hero .nayuta-template-mosaic {grid-row:2!important;grid-column:1!important;min-height:180px;height:210px;grid-template-rows:1fr 1fr;gap:5px;padding:5px}
  html[data-site-design="lifestyle-gallery"] .hero-copy-block {grid-row:1!important;align-self:end;padding:30px 22px 40px!important}
  html[data-site-design="lifestyle-gallery"] .hero-search-panel {grid-row:3!important}
  html[data-site-design="lifestyle-gallery"] .hero-service-links {grid-row:4!important}
  html[data-site-design="performance-tech"] .hero-visual {grid-row:1!important;height:560px!important}
  html[data-site-design="performance-tech"] .hero-copy-block {grid-row:1!important;align-self:center;padding:35px 22px!important}
  html[data-site-design="performance-tech"] .nayuta-template-details {grid-row:2!important;background:#112f3d;padding:14px!important}
  html[data-site-design="performance-tech"] .hero-search-panel {grid-row:3!important}
  html[data-site-design="performance-tech"] .hero-service-links {grid-row:4!important}
  html[data-site-design="trust-premium"] .hero-visual {grid-row:1!important;height:520px!important}
  html[data-site-design="trust-premium"] .hero-copy-block {grid-row:1!important;align-self:end;padding:35px 24px 70px!important}
  html[data-site-design="trust-premium"] .nayuta-template-details {grid-row:2!important}
  html[data-site-design="trust-premium"] .hero-search-panel {grid-row:3!important}
  html[data-site-design="trust-premium"] .hero-service-links {grid-row:4!important}
  html[data-site-design] #property .property-item:nth-child(n) {flex-basis:clamp(190px,60vw,270px)}
  html[data-site-design] .site-footer {padding-inline:16px}
}
@media (prefers-reduced-motion:reduce) {
  html[data-site-design] .hero *,
  html[data-site-design] .nayuta-template-details * {animation:none!important;transition:none!important}
}

/* Tenant palette controls whole-site accents across all six architecture families. */
html[data-site-design] :is(.site-header a,.section-heading h2,.text-link,.section-action a):focus-visible{outline:3px solid var(--action);outline-offset:3px}
html[data-site-design] .nayuta-template-rule{background:currentColor}
html[data-site-design] #property .section-action a{color:var(--action)}
html[data-site-design] #contact .contact-option{border-color:var(--line)}

/* Dark architecture accessibility: O-LAND's existing logo is dark artwork.
   The preview must never put it on an equally dark header without inversion.
   This styling applies ONLY to the two explicitly dark architecture IDs. */
html[data-site-design="performance-tech"] .site-header,
html[data-site-design="trust-premium"] .site-header{
  background:var(--brand-dark)!important;color:#fff!important;
}
html[data-site-design="performance-tech"] .site-header :is(a,button,small,span),
html[data-site-design="trust-premium"] .site-header :is(a,button,small,span){
  color:#fff!important;
}
html[data-site-design="performance-tech"] .site-header .brand img,
html[data-site-design="trust-premium"] .site-header .brand img {
  filter:grayscale(1) brightness(0) invert(1);
}
html[data-site-design="performance-tech"] .site-header .menu-toggle span,
html[data-site-design="trust-premium"] .site-header .menu-toggle span{
  background:#fff!important;border-color:#fff!important;
}
html[data-site-design="performance-tech"] .hero-service-links a,
html[data-site-design="trust-premium"] .hero-service-links a{
  color:#142f3b;background:#fff!important;border-color:#d6e5eb!important;
}
html[data-site-design="performance-tech"] .hero-service-links a :is(strong,span,svg),
html[data-site-design="trust-premium"] .hero-service-links a :is(strong,span,svg){
  color:#142f3b!important;fill:currentColor;
}
html[data-site-design="trust-premium"] .nayuta-template-details :is(strong,span),
html[data-site-design="performance-tech"] .nayuta-template-details :is(strong,span){
  color:inherit;
}
html[data-site-design="performance-tech"] .site-footer .footer-brand img,
html[data-site-design="trust-premium"] .site-footer .footer-brand img{
  filter:grayscale(1) brightness(0) invert(1);
}

/* V2 subpage design language: keep listing/works, inquiry, member forms and
   semantic labels shared. Only architecture presentation changes. */
html[data-site-design] .page-hero {position:relative;isolation:isolate}
html[data-site-design] .listing-card,
html[data-site-design] .housing-card {transition:box-shadow .18s ease,transform .18s ease}
html[data-site-design] .page-button:focus-visible,
html[data-site-design] .housing-button:focus-visible {outline:3px solid var(--action);outline-offset:3px}
html[data-site-design] .listing-card-photo img,
html[data-site-design] .housing-card-image img {object-fit:cover}

/* Portal subpages: more working space for searches and comparators. */
html[data-site-design="modern-portal"] .page-hero {max-width:1150px;padding:42px 0 45px}
html[data-site-design="modern-portal"] .page-hero h1 {font:700 clamp(30px,3.7vw,54px)/1.35 var(--font-sans)}
html[data-site-design="modern-portal"] .listing-filters {border:1px solid var(--line);padding:22px;background:var(--pale);border-radius:16px}
html[data-site-design="modern-portal"] .listing-grid {gap:22px}
html[data-site-design="modern-portal"] .listing-card {border-radius:14px;overflow:hidden;box-shadow:0 10px 30px #1d3a4a14}
html[data-site-design="modern-portal"] :is(.listing-card,.housing-card) a:focus-visible {outline-offset:-3px}

/* Minimal Corporate: typographic rhythm, rules instead of shadows. */
html[data-site-design="minimal-corporate"] .page-hero {max-width:100%;padding:90px 0 76px;border-bottom:1px solid var(--line)}
html[data-site-design="minimal-corporate"] .page-hero h1 {font:500 clamp(35px,4.5vw,66px)/1.42 var(--font-serif)}
html[data-site-design="minimal-corporate"] .page-lead {max-width:580px;margin-top:35px}
html[data-site-design="minimal-corporate"] :is(.listing-card,.housing-card) {box-shadow:none!important;border:1px solid var(--line);border-radius:0!important}
html[data-site-design="minimal-corporate"] .listing-grid {gap:16px}
html[data-site-design="minimal-corporate"] .page-button {border-radius:2px}
html[data-site-design="minimal-corporate"] .page-section {padding-block:85px}

/* Editorial Warm: warm paper and clear article flow; no invented prose. */
html[data-site-design="editorial-warm"] :is(.page-hero,.housing-detail-hero) {max-width:900px;padding:82px 0}
html[data-site-design="editorial-warm"] .page-hero h1 {font:500 clamp(38px,4.8vw,68px)/1.5 var(--font-serif)}
html[data-site-design="editorial-warm"] .page-section {border-color:#ddcbbc}
html[data-site-design="editorial-warm"] :is(.housing-card,.listing-card) {background:#fffaf4;border:1px solid #e5d8ca;box-shadow:none;border-radius:2px}
html[data-site-design="editorial-warm"] :is(.housing-card-image,.listing-card-photo) img {aspect-ratio:4/5}
html[data-site-design="editorial-warm"] .page-prose {line-height:2.12}
html[data-site-design="editorial-warm"] .page-button {border-radius:2px}

/* Lifestyle Gallery: picture-led cards and generous gallery. */
html[data-site-design="lifestyle-gallery"] .page-hero {max-width:1120px;padding:60px 0 42px}
html[data-site-design="lifestyle-gallery"] .page-hero h1 {font:500 clamp(39px,4.3vw,66px)/1.3 var(--font-serif)}
html[data-site-design="lifestyle-gallery"] .listing-grid {gap:12px}
html[data-site-design="lifestyle-gallery"] :is(.listing-card,.housing-card){border:0;box-shadow:none;border-radius:0}
html[data-site-design="lifestyle-gallery"] :is(.listing-card-photo,.housing-card-image) img {aspect-ratio:1/1}
html[data-site-design="lifestyle-gallery"] .listing-gallery {background:var(--brand-dark)}
html[data-site-design="lifestyle-gallery"] .page-button {border-radius:0}

/* Performance Tech: dense, scannable factual sections; never synthesize stats. */
html[data-site-design="performance-tech"] .page-hero {max-width:100%;padding:55px 0 56px;border-bottom:4px solid var(--brand)}
html[data-site-design="performance-tech"] .page-hero h1 {font:700 clamp(32px,4vw,60px)/1.28 var(--font-sans)}
html[data-site-design="performance-tech"] .page-kicker {font-family:var(--font-sans);font-weight:700}
html[data-site-design="performance-tech"] :is(.listing-card,.housing-card) {box-shadow:none;border:1px solid var(--line);border-top:4px solid var(--brand);border-radius:0}
html[data-site-design="performance-tech"] :is(.listing-spec,.housing-key-facts) {border:1px solid var(--line);background:var(--pale)}
html[data-site-design="performance-tech"] .page-button {border-radius:3px}

/* Trust Premium: considered luxury, typography and quiet consultation. */
html[data-site-design="trust-premium"] .page-hero {max-width:1100px;padding:100px 0 93px}
html[data-site-design="trust-premium"] .page-hero h1 {font:400 clamp(41px,5vw,74px)/1.48 var(--font-serif)}
html[data-site-design="trust-premium"] .page-kicker {letter-spacing:.27em;color:var(--brand)}
html[data-site-design="trust-premium"] :is(.listing-card,.housing-card) {border:1px solid var(--line);box-shadow:none;border-radius:0;background:#fffefa}
html[data-site-design="trust-premium"] :is(.listing-card-photo,.housing-card-image) img {aspect-ratio:5/4}
html[data-site-design="trust-premium"] .page-cta {background:var(--brand-dark);color:#fff}
html[data-site-design="trust-premium"] .page-cta .page-button {background:#fff;color:var(--brand-dark);border-color:#fff}
html[data-site-design="trust-premium"] .page-button {border-radius:0}
html[data-site-design="trust-premium"] .page-section {padding-block:90px}

@media(max-width:760px){
  html[data-site-design] .page-hero {padding:43px 0 38px}
  html[data-site-design] .page-hero h1 {font-size:clamp(29px,8vw,44px);line-height:1.42}
  html[data-site-design] .page-section {padding-block:44px}
  html[data-site-design="modern-portal"] .listing-filters {padding:12px}
  html[data-site-design="trust-premium"] .page-hero {padding-block:60px}
  html[data-site-design="minimal-corporate"] .page-hero {padding-block:54px}
  html[data-site-design="editorial-warm"] .page-hero {padding-block:54px}
}

/* A customer with no published property photos must not inherit O-LAND's
   static reference shots or be left with an empty 41%-wide gallery column. */
html[data-site-design="lifestyle-gallery"] .hero[data-gallery-empty="true"] {
  grid-template-columns:1fr;
}
html[data-site-design="lifestyle-gallery"] .hero[data-gallery-empty="true"] .hero-visual,
html[data-site-design="lifestyle-gallery"] .hero[data-gallery-empty="true"] .hero-copy-block {
  grid-column:1;
}
@media(max-width:760px){
  html[data-site-design="lifestyle-gallery"] .hero[data-gallery-empty="true"] .hero-visual,
  html[data-site-design="lifestyle-gallery"] .hero[data-gallery-empty="true"] .hero-copy-block{
    grid-column:1;
  }
}

/*
 * v2.1 — FULL-PAGE EDITORIAL POLISH.
 * An actual theme must remain recognisable after the hero has scrolled away.
 * These rules use existing public, masked-aware property/article cards; they
 * never manipulate source listing data or remove member gates.
 */
html[data-site-design] #property .property-item .property-title-link:focus-visible,
html[data-site-design] #journal a:focus-visible,
html[data-site-design] .nayuta-template-detail:focus-visible {
  outline:3px solid var(--action);
  outline-offset:3px;
}
html[data-site-design] #property .property-item .property-copy h3 {
  text-wrap:pretty;
}
html[data-site-design] #property .property-item figure img {
  width:100%;height:100%;object-fit:cover;
}
html[data-site-design] #property .section-intro {
  min-width:0;
}
html[data-site-design] #contact .contact-option,
html[data-site-design] .page-button,
html[data-site-design] .hero-actions .button {
  min-height:48px;
}
html[data-site-design] .hero .nayuta-template-detail strong {
  overflow-wrap:anywhere;
}
html[data-site-design] .hero .hero-search-panel {
  scroll-margin-top:var(--header-height,74px);
}

/* 01 Modern Portal: high-density, practical search/result hierarchy. */
html[data-site-design="modern-portal"] #property .section-heading h2{
  font-family:var(--font-sans);font-weight:800;letter-spacing:-.03em;
}
html[data-site-design="modern-portal"] #property .property-item .property-copy{
  padding:18px;
}
html[data-site-design="modern-portal"] #property .property-item .card-price{
  font-weight:800;color:var(--brand);
}
html[data-site-design="modern-portal"] #journal{
  background:#fff;
}
html[data-site-design="modern-portal"] #journal .journal-featured{
  border-radius:14px;overflow:hidden;
}

/* 02 Minimal Corporate: fewer, larger cards; breathing room and strict lines. */
html[data-site-design="minimal-corporate"] #property{
  background:#fff;
}
html[data-site-design="minimal-corporate"] #property .section-heading h2{
  font-family:var(--font-serif);font-weight:500;letter-spacing:.045em;
}
html[data-site-design="minimal-corporate"] #property .property-item figure{
  border-radius:0;
}
html[data-site-design="minimal-corporate"] #property .property-item .property-copy{
  padding:24px;
}
html[data-site-design="minimal-corporate"] #property .property-item .card-price{
  color:var(--brand);font-weight:600;
}
html[data-site-design="minimal-corporate"] #journal{
  background:#fff;
}
html[data-site-design="minimal-corporate"] #journal .journal-layout{
  gap:clamp(28px,4vw,60px);
}
html[data-site-design="minimal-corporate"] .site-footer .footer-top{
  border-bottom:1px solid var(--line);padding-bottom:26px;
}

/* 03 Editorial Warm: magazine-like card hierarchy, warm reading surface. */
html[data-site-design="editorial-warm"] #property .section-heading h2{
  font-family:var(--font-serif);font-weight:500;
}
html[data-site-design="editorial-warm"] #property .property-item{
  border-color:#e5d8ca;background:#fffaf5;
}
html[data-site-design="editorial-warm"] #property .property-item .property-copy{
  padding:22px 20px;
}
html[data-site-design="editorial-warm"] #property .property-item .property-copy h3{
  font-family:var(--font-serif);font-weight:500;
}
html[data-site-design="editorial-warm"] #journal .journal-copy h3{
  font-family:var(--font-serif);font-weight:500;
}
html[data-site-design="editorial-warm"] #journal .journal-featured figure{
  aspect-ratio:5/4;
}
html[data-site-design="editorial-warm"] #contact .contact-intro h2{
  font-family:var(--font-serif);font-weight:500;
}

/* 04 Lifestyle Gallery: photographic compositions, minimal card chrome. */
html[data-site-design="lifestyle-gallery"] #property .property-item{
  border:0;box-shadow:none!important;background:transparent;
}
html[data-site-design="lifestyle-gallery"] #property .property-item figure{
  border-radius:0;overflow:hidden;
}
html[data-site-design="lifestyle-gallery"] #property .property-item .property-copy{
  padding:16px 0 10px;
}
html[data-site-design="lifestyle-gallery"] #property .property-item .property-copy h3{
  font-family:var(--font-serif);font-weight:500;font-size:clamp(17px,1.6vw,23px);
}
html[data-site-design="lifestyle-gallery"] #property .property-item .card-price{
  color:var(--brand);font-size:24px;
}
html[data-site-design="lifestyle-gallery"] #journal{
  background:var(--pale);
}
html[data-site-design="lifestyle-gallery"] #journal .journal-featured figure{
  aspect-ratio:4/3;
}
html[data-site-design="lifestyle-gallery"] #about .about-photo{
  border-radius:0;
}

/* 05 Performance Tech: information-first cards and orderly index labels. */
html[data-site-design="performance-tech"] #property .property-grid{
  counter-reset:nayuta-property-index;
}
html[data-site-design="performance-tech"] #property .property-item{
  counter-increment:nayuta-property-index;
  border:1px solid var(--line);border-top:4px solid var(--brand)!important;
  box-shadow:none!important;background:#fff;
}
html[data-site-design="performance-tech"] #property .property-item .property-copy{
  padding:20px;
}
html[data-site-design="performance-tech"] #property .property-item .eyebrow::before{
  content:"0" counter(nayuta-property-index);
  display:inline-block;margin-right:8px;color:var(--brand);
  font:800 13px/1.4 var(--font-sans);letter-spacing:.04em;
}
html[data-site-design="performance-tech"] #property .property-item .property-copy h3{
  font:700 17px/1.5 var(--font-sans);
}
html[data-site-design="performance-tech"] #property .property-item .card-price{
  font-family:var(--font-sans);font-variant-numeric:tabular-nums;
}
html[data-site-design="performance-tech"] #journal{
  background:#fff;
}
html[data-site-design="performance-tech"] #journal .journal-featured{
  border-left:4px solid var(--brand);padding-left:18px;
}
html[data-site-design="performance-tech"] #faq .faq-list{
  border-top:3px solid var(--brand);
}

/* 06 Trust Premium: curated, calm composition and considered typography. */
html[data-site-design="trust-premium"] #property .section-heading h2{
  font:400 clamp(34px,4vw,64px)/1.3 var(--font-serif);
}
html[data-site-design="trust-premium"] #property .property-item{
  border:1px solid var(--line);border-radius:0;background:#fffefa;
}
html[data-site-design="trust-premium"] #property .property-item figure{
  border-radius:0;
}
html[data-site-design="trust-premium"] #property .property-item .property-copy{
  padding:28px;
}
html[data-site-design="trust-premium"] #property .property-item .property-copy h3{
  font:400 clamp(18px,2vw,28px)/1.48 var(--font-serif);
}
html[data-site-design="trust-premium"] #property .property-item .card-price{
  font-weight:500;color:var(--brand);
}
html[data-site-design="trust-premium"] #journal{
  background:#fbf8f3;
}
html[data-site-design="trust-premium"] #journal .journal-copy h3{
  font-family:var(--font-serif);font-weight:400;
}
html[data-site-design="trust-premium"] .site-footer .footer-top{
  border-bottom:1px solid #ffffff40;padding-bottom:45px;
}

@media (min-width:1025px) {
  html[data-site-design="modern-portal"] #property .property-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;
  }
  html[data-site-design="minimal-corporate"] #property .property-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));gap:38px;
  }
  html[data-site-design="minimal-corporate"] #property .property-item figure{
    aspect-ratio:16/10;
  }
  html[data-site-design="editorial-warm"] #property .property-grid{
    grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr));gap:22px;
  }
  html[data-site-design="editorial-warm"] #property .property-item:first-child figure{
    aspect-ratio:4/5;
  }
  html[data-site-design="lifestyle-gallery"] #property .property-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;
    align-items:start;
  }
  html[data-site-design="lifestyle-gallery"] #property .property-item:first-child{
    grid-column:span 2;
  }
  html[data-site-design="lifestyle-gallery"] #property .property-item:first-child figure{
    aspect-ratio:16/9;
  }
  html[data-site-design="lifestyle-gallery"] #property .property-item:nth-child(n+2) figure{
    aspect-ratio:3/4;
  }
  html[data-site-design="performance-tech"] #property .property-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
  }
  html[data-site-design="trust-premium"] #property .property-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));gap:42px;
  }
  html[data-site-design="trust-premium"] #property .property-item figure{
    aspect-ratio:5/4;
  }
}
/* Mobile retains original working horizontal rails and touch behavior:
   do not turn the listing carousel into an overflowing CSS grid. */
@media (max-width:760px) {
  html[data-site-design] #property .property-item .property-copy{
    padding:14px 13px;
  }
  html[data-site-design] #property .property-item .property-copy h3{
    font-size:16px;line-height:1.55;
  }
  html[data-site-design] #property .property-item .card-price{
    font-size:22px;
  }
  html[data-site-design] .hero .hero-quick-submit{
    min-height:52px;
  }
  html[data-site-design] .hero .nayuta-template-kicker{
    line-height:1.7;letter-spacing:.12em;
  }
  html[data-site-design] .site-header .brand{
    min-width:0;
  }
}

/* v2.1 phone editorial polish. Extra photo height is intentional: the heading
 * and two existing CTA buttons must not collide with the masthead. */
@media (max-width:620px) {
  html[data-site-design] .hero .hero-actions {
    gap:10px;
  }
  html[data-site-design] .hero .hero-actions .button {
    font-size:12px;line-height:1.35;
    min-height:48px;padding:10px 12px;
    justify-content:center;
    text-align:center;
  }
  html[data-site-design] .hero .hero-quick-field select {
    font-size:14px;
  }
  html[data-site-design] .hero .nayuta-template-details {
    min-width:0;
  }
  html[data-site-design="modern-portal"] .hero-visual {
    height:500px!important;
  }
  html[data-site-design="modern-portal"] .hero h1{
    font-size:clamp(33px,9vw,42px)!important;
    line-height:1.28!important;letter-spacing:-.035em!important;
  }
  html[data-site-design="editorial-warm"] .hero h1{
    line-height:1.38!important;letter-spacing:-.025em!important;
  }
  html[data-site-design="lifestyle-gallery"] .hero-visual{
    height:510px!important;
  }
  html[data-site-design="lifestyle-gallery"] .hero .hero-copy-block{
    padding:78px 22px 38px!important;
  }
  html[data-site-design="lifestyle-gallery"] .hero h1{
    font-size:clamp(33px,9vw,42px)!important;
    line-height:1.32!important;
    letter-spacing:-.025em!important;
  }
  html[data-site-design="lifestyle-gallery"] .hero-visual::after{
    background:linear-gradient(180deg,#112b2614 0%,#0e2c2970 32%,#0b2523d6 100%);
  }
  html[data-site-design="performance-tech"] .hero-visual{
    height:610px!important;
  }
  html[data-site-design="performance-tech"] .hero .hero-copy-block{
    padding:77px 22px 32px!important;
  }
  html[data-site-design="performance-tech"] .hero h1{
    font-size:clamp(33px,8.7vw,43px)!important;
    line-height:1.29!important;
  }
  html[data-site-design="trust-premium"] .hero-visual{
    height:600px!important;
  }
  html[data-site-design="trust-premium"] .hero .hero-copy-block{
    padding:84px 24px 55px!important;
  }
  html[data-site-design="trust-premium"] .hero h1{
    font-size:clamp(34px,8.7vw,45px)!important;
    line-height:1.38!important;letter-spacing:.005em!important;
  }
  html[data-site-design="minimal-corporate"] .hero h1{
    font-size:clamp(32px,8.6vw,43px)!important;
    line-height:1.37!important;
  }
}

/* v2.1 masthead/footer finish — design remains recognizable off the first fold. */
html[data-site-design="modern-portal"] .site-header.masthead {
  background:#fff;border-bottom:3px solid var(--brand);
}
html[data-site-design="modern-portal"] .site-header.masthead .header-phone {
  background:var(--brand);color:#fff;
}
html[data-site-design="modern-portal"] .site-header.masthead .header-phone-detail {
  color:#eaf7fd;
}
html[data-site-design="minimal-corporate"] .site-header.masthead {
  background:#fff;border-bottom:1px solid #cbd5dd;
}
html[data-site-design="minimal-corporate"] .site-header.masthead .brand {
  padding-inline:clamp(20px,4vw,70px);
}
html[data-site-design="minimal-corporate"] .site-header.masthead .menu-toggle {
  border-left:1px solid #cbd5dd;
}
html[data-site-design="editorial-warm"] .site-header.masthead {
  background:#f7f0e7;border-bottom:1px solid #d9c9b8;
}
html[data-site-design="editorial-warm"] .site-header.masthead .header-phone,
html[data-site-design="editorial-warm"] .site-header.masthead .header-member {
  border-left-color:#d9c9b8;
}
html[data-site-design="lifestyle-gallery"] .site-header.masthead {
  background:#ffffffed;
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
html[data-site-design="lifestyle-gallery"] .site-header.masthead .menu-toggle {
  border-left:2px solid var(--brand);
}
html[data-site-design="performance-tech"] .site-header.masthead {
  border-bottom:3px solid var(--brand);
}
html[data-site-design="performance-tech"] .site-header .header-phone-detail,
html[data-site-design="performance-tech"] .site-header.masthead .header-phone-detail{
  color:#e3f2f7!important;
}
html[data-site-design="trust-premium"] .site-header.masthead {
  border-bottom:1px solid #c9b07c;
}
html[data-site-design="trust-premium"] .site-header.masthead .header-phone-detail {
  color:#f0e7d5!important;
}
html[data-site-design="editorial-warm"] .site-footer .footer-top nav a,
html[data-site-design="performance-tech"] .site-footer .footer-top nav a,
html[data-site-design="trust-premium"] .site-footer .footer-top nav a{
  color:#f8f7f4!important;
}
html[data-site-design="editorial-warm"] .site-footer .footer-bottom,
html[data-site-design="performance-tech"] .site-footer .footer-bottom,
html[data-site-design="trust-premium"] .site-footer .footer-bottom{
  color:#f3eee9!important;
  border-color:#ffffff30;
}
html[data-site-design="editorial-warm"] .site-footer a:focus-visible,
html[data-site-design="performance-tech"] .site-footer a:focus-visible,
html[data-site-design="trust-premium"] .site-footer a:focus-visible{
  outline-color:#fff!important;
}
@media(max-width:620px){
  html[data-site-design="minimal-corporate"] .site-header.masthead .brand{
    padding-inline:14px;
  }
  html[data-site-design="modern-portal"] .site-header.masthead .header-phone {
    padding:0 9px;
  }
}
