/* =========================================================
   1. CSS VARIABLES
   ========================================================= */
:root {
  --color-background: #f7f4ef;
  --color-background-warm: #f1ece4;
  --color-surface: #ffffff;
  --color-text: #151515;
  --color-muted: #625f5a;
  --color-gold: #b77a24;
  --color-gold-light: #d7ab67;
  --color-gold-dark: #8f5d19;
  --color-border: #ded7cd;
  --color-border-dark: rgba(183, 122, 36, 0.35);
  --color-dark: #111416;
  --color-dark-secondary: #171a1c;
  --color-green: #34402c;
  --color-success: #507145;
  --color-danger: #914b45;
  --font-serif: "Playfair Display", Georgia, serif;
  --font-sans: "Inter", Arial, sans-serif;
  --font-script: "Caveat", cursive;
  --shadow-soft: 0 12px 36px rgba(44, 35, 24, 0.08);
  --shadow-card: 0 8px 24px rgba(44, 35, 24, 0.06);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --header-height: 78px;
  --container: 1180px;
  --container-wide: 1320px;
}

/* =========================================================
   2. RESET & BASE
   ========================================================= */
*, *::before, *::after { box-sizing: border-box; }
html { max-width: 100%; overflow-x: hidden; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 18px); }
body {
  margin: 0;
  max-width: 100%;
  overflow-x: hidden;
  min-width: 320px;
  background: var(--color-background);
  color: var(--color-text);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
ul, ol { margin: 0; padding: 0; }
li { list-style: none; }
svg { display: block; }
.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
:focus-visible { outline: 3px solid rgba(183, 122, 36, 0.52); outline-offset: 3px; }
::selection { background: rgba(183, 122, 36, 0.25); }

/* =========================================================
   3. TYPOGRAPHY
   ========================================================= */
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--font-serif); font-weight: 500; letter-spacing: -0.03em; line-height: 1.08; }
h1 { font-size: clamp(2.75rem, 5.2vw, 5.25rem); margin-bottom: 24px; }
h2 { font-size: clamp(2rem, 3.4vw, 3.65rem); margin-bottom: 20px; }
h3 { line-height: 1.25; }
p { color: var(--color-muted); margin-bottom: 18px; }
.eyebrow {
  margin-bottom: 14px;
  color: var(--color-gold);
  font-size: 0.83rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.script-accent {
  color: var(--color-gold-light);
  font-family: var(--font-script);
  font-size: clamp(1.55rem, 2.3vw, 2.35rem);
  line-height: 1.12;
}
.gold-text { color: var(--color-gold-dark); }
.gold-line { display: block; width: 58px; height: 2px; margin: 18px 0 28px; background: var(--color-gold); }
.section-heading { margin-bottom: 34px; }
.section-heading h2 { margin-bottom: 8px; }
.section-heading p { max-width: 760px; margin: 0; }
.section-heading--center { text-align: center; }
.section-heading--center p { margin-inline: auto; }

/* =========================================================
   4. UTILITIES
   ========================================================= */
.container { width: min(var(--container), calc(100% - 48px)); margin-inline: auto; }
.container-wide { width: min(var(--container-wide), calc(100% - 48px)); margin-inline: auto; }
.section { padding: 70px 0; }
.dark-section { background: var(--color-dark); color: #fff; }
.dark-section p { color: rgba(255,255,255,.74); }
.center { display: flex; justify-content: center; margin-top: 28px; }
.button-row { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.icon { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.skip-link { position: fixed; z-index: 9999; top: 10px; left: 10px; padding: 10px 14px; background: #fff; color: #111; transform: translateY(-160%); transition: transform .2s ease; }
.skip-link:focus { transform: translateY(0); }

/* =========================================================
   5. BUTTONS
   ========================================================= */
.button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 12px 20px;
  border: 1px solid transparent;
  border-radius: 4px;
  font-size: 0.79rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.button .icon { width: 18px; height: 18px; transition: transform .2s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 9px 20px rgba(0,0,0,.12); }
.button:hover .icon { transform: translateX(3px); }
.button--gold { color: #fff; background: linear-gradient(135deg, var(--color-gold), var(--color-gold-dark)); border-color: var(--color-gold); }
.button--gold:hover { background: linear-gradient(135deg, #c78a31, #9b651d); }
.button--outline { color: var(--color-gold-dark); background: transparent; border-color: rgba(143,93,25,.45); }
.button--outline:hover { color: #fff; background: var(--color-gold); border-color: var(--color-gold); }
.button--outline-light { color: #fff; background: rgba(17,20,22,.25); border-color: rgba(255,255,255,.62); }
.button--outline-light:hover { background: rgba(255,255,255,.12); }

/* =========================================================
   6. HEADER & NAVIGATION
   ========================================================= */
.site-header {
  position: sticky;
  z-index: 1000;
  top: 0;
  height: var(--header-height);
  background: rgba(255,255,255,.97);
  border-bottom: 1px solid rgba(0,0,0,.05);
  transition: height .25s ease, box-shadow .25s ease, background .25s ease;
}
.site-header.is-scrolled { height: 68px; box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.site-header--dark { background: rgba(5,6,6,.98); border-bottom-color: rgba(255,255,255,.06); color: #fff; }
.site-header__inner { height: 100%; display: flex; align-items: center; gap: 32px; }
.site-header__brand { flex: 0 0 auto; display: block; width: 236px; }
.site-header__brand img { width: 100%; }
.site-nav { flex: 1; display: flex; justify-content: flex-end; align-items: center; gap: 34px; }
.site-nav__links { display: flex; align-items: center; gap: clamp(18px, 2vw, 32px); }
.site-nav__link { position: relative; padding: 28px 0 24px; font-size: .86rem; font-weight: 600; white-space: nowrap; transition: color .2s ease; }
.site-nav__link::after { content: ""; position: absolute; left: 50%; bottom: 18px; width: 0; height: 2px; background: var(--color-gold); transform: translateX(-50%); transition: width .2s ease; }
.site-nav__link:hover, .site-nav__link[aria-current="page"] { color: var(--color-gold); }
.site-nav__link[aria-current="page"]::after { width: 30px; }
.site-nav__cta { min-height: 46px; padding-inline: 18px; }
.site-header__menu-button { display: none; width: 46px; height: 46px; padding: 10px; border: 0; background: transparent; }
.site-header__menu-button span { display: block; width: 100%; height: 2px; margin: 6px 0; background: currentColor; transition: transform .25s ease, opacity .25s ease; }
.site-header__menu-button[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.site-header__menu-button[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.site-header__menu-button[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* =========================================================
   7. FOOTER
   ========================================================= */
.site-footer { background: #121619; color: rgba(255,255,255,.82); padding: 58px 0 18px; }
.site-footer__grid { display: grid; grid-template-columns: 1.45fr .75fr 1fr .75fr 1.15fr; gap: 42px; }
.site-footer__brand img { width: 250px; margin-bottom: 16px; }
.site-footer__brand p { color: rgba(255,255,255,.64); }
.site-footer__title { margin-bottom: 15px; color: var(--color-gold-light); font-family: var(--font-sans); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }
.site-footer a, .site-footer span { display: flex; align-items: center; gap: 8px; margin-bottom: 7px; color: rgba(255,255,255,.7); font-size: .83rem; }
.site-footer a:hover { color: #fff; }
.site-footer .icon { width: 17px; height: 17px; color: var(--color-gold-light); }
.socials { display: flex; gap: 10px; }
.socials a { width: 38px; height: 38px; justify-content: center; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 40px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.08); }
.site-footer__bottom span { margin: 0; }
.site-footer__bottom span:last-child { flex-direction: row; }
.site-footer__bottom i { display: block; width: 1px; height: 15px; background: rgba(255,255,255,.2); }

/* =========================================================
   8. SHARED CARDS, LISTS & ICON BLOCKS
   ========================================================= */
.trust-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: rgba(255,255,255,.96);
  box-shadow: var(--shadow-soft);
}
.trust-item { position: relative; display: flex; min-width: 0; flex-direction: column; align-items: center; gap: 8px; padding: 22px 14px; text-align: center; }
.trust-item:not(:last-child)::after { content: ""; position: absolute; top: 20%; right: 0; width: 1px; height: 60%; background: var(--color-border); }
.trust-item__icon { width: 34px; height: 34px; fill: none; stroke: var(--color-gold); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.trust-item h3 { margin: 0 0 4px; font-size: .85rem; }
.trust-item p { margin: 0; font-size: .7rem; line-height: 1.45; }
.trust-grid--compact { box-shadow: none; border: 0; background: transparent; }
.trust-grid--compact .trust-item { padding: 18px 8px; }
.trust-grid--compact .trust-item__icon { width: 29px; height: 29px; }
.trust-grid--compact .trust-item h3 { font-size: .72rem; }
.trust-grid--compact .trust-item p { font-size: .62rem; }
.info-card { display: flex; align-items: center; gap: 18px; padding: 18px 22px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: rgba(255,255,255,.52); }
.info-card > .icon { flex: 0 0 auto; width: 34px; height: 34px; color: var(--color-gold); }
.info-card p { margin: 0; }
.section ul:not(.socials) li, .pricing-card li, .process-card li, .design-build li, .capacity li, .handover li { position: relative; margin-bottom: 7px; padding-left: 22px; color: var(--color-muted); font-size: .87rem; }
.section ul:not(.socials) li::before, .pricing-card li::before, .process-card li::before, .design-build li::before, .capacity li::before, .handover li::before { content: "✓"; position: absolute; left: 0; color: var(--color-gold); font-weight: 700; }
.dark-section li { color: rgba(255,255,255,.76); }
.dark-section li::before { color: var(--color-gold-light); }

/* =========================================================
   9. COMMON SPLIT HERO
   ========================================================= */
.split-hero { display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); min-height: 475px; background: #fff; }
.split-hero__content { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; padding: 46px max(36px, calc((100vw - var(--container-wide)) / 2)); padding-right: 34px; }
.split-hero__content h1 { font-size: clamp(2.8rem, 4.55vw, 4.85rem); }
.split-hero__content > p:not(.eyebrow):not(.secure-note) { max-width: 580px; }
.split-hero__content .trust-grid { margin: 18px 0 20px; }
.split-hero__media { position: relative; min-height: 420px; overflow: hidden; }
.split-hero__media::before { content: ""; position: absolute; z-index: 2; top: 0; bottom: 0; left: 0; width: 22%; background: linear-gradient(90deg, #fff, rgba(255,255,255,0)); }
.split-hero__media img { width: 100%; height: 100%; object-fit: cover; }

/* =========================================================
   10. HOME PAGE
   ========================================================= */
.home-hero { position: relative; min-height: clamp(410px, 31vw, 520px); overflow: hidden; background: #171717; color: #fff; }
.home-hero__image { position: absolute; inset: 0 0 0 auto; width: 78%; height: 100%; object-fit: cover; object-position: center; }
.home-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,10,10,.96) 0%, rgba(9,10,10,.82) 26%, rgba(9,10,10,.35) 52%, rgba(9,10,10,.03) 78%); }
.home-hero__content { position: relative; z-index: 2; padding-top: 60px; padding-bottom: 80px; }
.home-hero h1 { max-width: 600px; margin-bottom: 10px; font-size: clamp(3.2rem, 5vw, 5.3rem); }
.home-hero__content > p:not(.script-accent) { max-width: 520px; color: rgba(255,255,255,.84); }
.home-hero .script-accent { margin-bottom: 22px; }
.home-trust { position: relative; z-index: 4; margin-top: -34px; }
.pricing-preview { padding-top: 38px; }
.pricing-preview__layout { display: grid; grid-template-columns: 190px 1fr; gap: 28px; align-items: center; }
.pricing-preview__intro h2 { font-size: 2.05rem; }
.pricing-preview__intro p { font-size: .95rem; }
.curved-arrow { width: 145px; margin-top: 12px; fill: none; stroke: var(--color-gold); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pricing-cards { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.pricing-card { position: relative; display: flex; min-height: 330px; flex-direction: column; padding: 26px 24px 22px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: rgba(255,255,255,.56); transition: transform .2s ease, box-shadow .2s ease; }
.pricing-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-card); }
.pricing-card h3 { margin: 0 0 4px; font-family: var(--font-serif); font-size: 1.3rem; text-align: center; }
.pricing-card__subtitle { min-height: 40px; margin-bottom: 8px; text-align: center; font-size: .74rem; }
.pricing-card__price { color: var(--color-text); text-align: center; }
.pricing-card__price strong { font-size: 1.85rem; }
.pricing-card ul { flex: 1; margin: 8px 0 18px; }
.pricing-card .button { width: 100%; min-height: 40px; padding-block: 8px; font-size: .68rem; }
.pricing-card--featured { border-color: var(--color-gold); background: rgba(255,255,255,.88); box-shadow: 0 12px 25px rgba(183,122,36,.1); }
.pricing-card__badge { position: absolute; top: -13px; left: 50%; min-width: 150px; padding: 4px 14px; color: #fff; background: var(--color-gold); border-radius: 2px; font-size: .64rem; text-align: center; transform: translateX(-50%); }
.pricing-note { margin-top: 16px; text-align: center; font-size: .72rem; }
.manual-estimate { position: relative; display: grid; grid-template-columns: 64px 1.2fr 1fr auto; gap: 22px; align-items: center; padding: 30px 36px; border-radius: var(--radius-sm); background: linear-gradient(100deg,#191d20,#111416); color: #fff; overflow: hidden; }
.manual-estimate__icon { display: grid; width: 58px; height: 58px; place-items: center; border: 1px solid var(--color-gold); border-radius: 50%; color: var(--color-gold-light); }
.manual-estimate__icon .icon { width: 32px; height: 32px; }
.manual-estimate h2 { margin: 0; font-size: clamp(1.7rem,2.3vw,2.45rem); }
.manual-estimate p { margin: 0; color: rgba(255,255,255,.7); font-size: .78rem; }
.manual-estimate__plant { position: absolute; right: -22px; bottom: -10px; width: 100px; height: 110px; opacity: .65; background: radial-gradient(ellipse at 50% 100%,#315027 0 12%,transparent 13%), radial-gradient(ellipse at 40% 48%,#49633a 0 10%,transparent 11%), radial-gradient(ellipse at 60% 28%,#5c744a 0 10%,transparent 11%), radial-gradient(ellipse at 78% 55%,#415b35 0 10%,transparent 11%); }
.home-life { padding-bottom: 48px; }
.life-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.life-card { display: grid; min-height: 145px; grid-template-columns: 1fr 1fr; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: rgba(255,255,255,.55); }
.life-card > div { padding: 20px 18px; }
.life-card h3 { margin: 0 0 10px; font-family: var(--font-serif); font-size: 1.18rem; }
.life-card p { margin: 0; font-size: .76rem; }
.life-card img { width: 100%; height: 100%; object-fit: cover; }
.process-strip { padding-top: 12px; }
.process-steps { display: grid; }
.process-steps--six { grid-template-columns: repeat(6,minmax(0,1fr)); }
.process-steps--five { grid-template-columns: repeat(5,minmax(0,1fr)); }
.process-steps article { position: relative; padding: 0 16px; text-align: center; }
.process-steps article:not(:last-child)::after { content: "→"; position: absolute; top: 34px; right: -8px; color: var(--color-gold); font-size: 1.25rem; }
.process-steps article > span { display: inline-grid; width: 24px; height: 24px; margin-bottom: 10px; place-items: center; border-radius: 50%; color: #fff; background: var(--color-gold); font-size: .72rem; }
.process-steps .icon { width: 34px; height: 34px; margin: 0 auto 10px; color: var(--color-muted); }
.process-steps h3 { margin: 0 0 6px; font-size: .74rem; }
.process-steps p { margin: 0; font-size: .62rem; }
.plan-section { padding-top: 38px; }
.plan-section__grid { display: grid; grid-template-columns: 210px 1fr; gap: 26px; }
.plan-section__intro h2 { font-size: 2.15rem; }
.plan-section__intro p { font-size: .78rem; }
.plan-cards { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; }
.plan-cards article { overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: #fff; text-align: center; }
.plan-cards img { width: 100%; aspect-ratio: 1.25; object-fit: cover; }
.plan-cards h3 { margin: 12px 8px 5px; font-size: .7rem; }
.plan-cards p { margin: 0 10px 14px; font-size: .62rem; }
.home-os { padding: 54px 0; }
.home-os__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 42px; align-items: center; }
.home-os h2 { font-size: clamp(2.35rem,3.4vw,3.8rem); }
.os-mini-benefits { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; margin: 24px 0; }
.os-mini-benefits span { display: flex; flex-direction: column; gap: 8px; color: rgba(255,255,255,.72); font-size: .63rem; }
.os-mini-benefits .icon { color: var(--color-gold-light); }
.home-os__media { position: relative; min-height: 300px; }
.home-os__media img { position: relative; z-index: 2; width: 100%; }
.home-os__plant { position: absolute; z-index: 1; right: -5%; bottom: -10%; width: 130px; height: 290px; background: linear-gradient(90deg,transparent 48%,#2b3924 49% 51%,transparent 52%), radial-gradient(ellipse at 50% 20%,#405234 0 9%,transparent 10%), radial-gradient(ellipse at 35% 36%,#526742 0 9%,transparent 10%), radial-gradient(ellipse at 70% 46%,#405234 0 10%,transparent 11%); opacity: .85; }
.home-character { display: grid; grid-template-columns: 40% 60%; min-height: 330px; background: #f5f0e8; }
.home-character__media img { width: 100%; height: 100%; object-fit: cover; }
.home-character__content { display: flex; flex-direction: column; justify-content: center; padding: 44px 8vw 44px 34px; }
.home-character__content h2 { font-size: clamp(2.2rem,3.2vw,3.35rem); }
.home-faq { padding-top: 46px; }

/* =========================================================
   11. PRICES PAGE
   ========================================================= */
.split-hero--prices .split-hero__content h1 { font-size: clamp(2.75rem,4vw,4.2rem); }
.pricing-cards--detailed .pricing-card { min-height: 500px; }
.pricing-cards--detailed .pricing-card > p:not(.pricing-card__subtitle) { font-size: .76rem; text-align: center; }
.pricing-card__footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--color-border); }
.pricing-card__footer span { font-size: .9rem; }
.pricing-card__footer a { color: var(--color-gold-dark); font-size: .72rem; font-weight: 700; }
.editable-price { display: inline-block; min-width: 48px; font-size: 1.5rem; border-bottom: 1px dashed var(--color-border); }
.table-wrap { overflow-x: auto; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: rgba(255,255,255,.45); }
table { width: 100%; min-width: 850px; border-collapse: collapse; }
th, td { padding: 10px 14px; border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); font-size: .76rem; text-align: left; }
thead th { color: var(--color-gold-dark); background: var(--color-background-warm); font-weight: 700; text-align: center; }
thead th:first-child { text-align: left; }
tbody th { width: 23%; font-weight: 600; }
tbody td { text-align: center; color: var(--color-muted); }
.small-flat { padding-top: 28px; }
.small-flat__grid { display: grid; grid-template-columns: 270px 1fr; gap: 34px; align-items: center; }
.small-flat__grid h2 { font-size: 2.2rem; }
.small-flat__grid > div:first-child p { font-size: .78rem; }
.flat-comparison { display: grid; grid-template-columns: 1fr 1.2fr 1fr; align-items: center; gap: 18px; padding: 24px; border: 1px solid var(--color-border); background: rgba(255,255,255,.42); }
.flat-comparison > div { text-align: center; }
.flat-comparison strong { display: block; font-size: 1.6rem; }
.flat-comparison span { display: block; color: var(--color-muted); font-size: .72rem; }
.flat-comparison ul { position: relative; padding: 10px 22px; border-inline: 1px dashed var(--color-border); }
.flat-comparison li { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; padding: 0!important; font-size: .72rem!important; }
.flat-comparison li::before { display: none; }
.flat-comparison .icon { width: 17px; height: 17px; color: var(--color-gold); }
.floorplan { position: relative; width: 110px; height: 75px; margin: 12px auto 0; border: 2px solid #aca69d; background: linear-gradient(90deg,transparent 49%,#aca69d 50% 51%,transparent 52%), linear-gradient(transparent 49%,#aca69d 50% 51%,transparent 52%); }
.floorplan::before { content: ""; position: absolute; inset: 13px 16px; border: 1px solid #b9b2a8; }
.floorplan--large { width: 150px; }
.icon-benefits { display: grid; }
.icon-benefits--five { grid-template-columns: repeat(5,minmax(0,1fr)); }
.icon-benefits article { position: relative; padding: 0 24px; text-align: center; }
.icon-benefits article:not(:last-child)::after { content: ""; position: absolute; top: 0; right: 0; width: 1px; height: 100%; background: var(--color-border); }
.icon-benefits .icon { width: 35px; height: 35px; margin: 0 auto 12px; color: var(--color-gold); }
.icon-benefits h3 { margin: 0 0 4px; font-size: .84rem; }
.icon-benefits p { margin: 0; font-size: .68rem; }
.payment-security { padding: 38px 0 24px; }
.payment-security .trust-grid { background: transparent; box-shadow: none; }
.prices-cta { padding: 40px 0; }
.prices-cta__grid { display: grid; grid-template-columns: 1.2fr .8fr 1.2fr; align-items: center; gap: 26px; }
.prices-cta h2 { font-size: 2.15rem; }
.prices-cta img { width: 100%; height: 190px; object-fit: cover; border-radius: var(--radius-sm); }
.values { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.values span { display: flex; flex-direction: column; gap: 4px; color: rgba(255,255,255,.72); font-size: .65rem; text-align: center; }
.values .icon { width: 30px; height: 30px; margin: 0 auto 6px; color: var(--color-gold-light); }
.values strong { color: var(--color-gold-light); font-size: .7rem; }
.values small { line-height: 1.35; }

/* =========================================================
   12. PROCESS PAGE
   ========================================================= */
.process-overview { padding-bottom: 36px; }
.process-icons { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); }
.process-icons article { position: relative; padding: 0 16px; text-align: center; }
.process-icons article:not(:last-child)::after { content: "›"; position: absolute; top: 30px; right: -4px; color: var(--color-gold); font-size: 1.6rem; }
.process-icons .icon { width: 66px; height: 66px; margin: 0 auto 14px; padding: 16px; border: 1px solid var(--color-gold-light); border-radius: 50%; color: var(--color-gold); }
.process-icons h3 { margin-bottom: 6px; font-size: .78rem; }
.process-icons p { font-size: .65rem; }
.detail-process { padding-top: 22px; }
.process-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.process-card { position: relative; display: grid; grid-template-columns: 1fr .9fr; min-height: 340px; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: rgba(255,255,255,.62); }
.process-card--image-left { grid-template-columns: .78fr 1fr; }
.process-card__number { position: absolute; z-index: 3; top: 12px; left: 14px; color: var(--color-gold); font-family: var(--font-serif); font-size: 1.55rem; }
.process-card > div:not(.process-card__number) { padding: 42px 24px 24px; }
.process-card > img { width: 100%; height: 100%; object-fit: cover; }
.process-card h2 { margin-bottom: 12px; font-size: 1.72rem; }
.process-card p { font-size: .76rem; }
.process-card .button { margin-top: 8px; }
.process-card__callout { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; padding: 12px 14px; border-radius: 6px; background: var(--color-dark); color: #fff; }
.process-card__callout .icon { grid-row: 1 / 3; align-self: center; color: var(--color-gold-light); }
.process-card__callout strong { font-size: .78rem; }
.process-card__callout span { color: rgba(255,255,255,.62); font-size: .65rem; }
.process-card__note { display: flex; gap: 10px; align-items: flex-start; margin-top: 12px; padding: 10px 12px; background: #efe2cf; color: #6a5b48; font-size: .68rem; }
.process-card__note .icon { flex: 0 0 auto; color: var(--color-gold); }
.choice-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.choice-columns h3 { color: var(--color-gold-dark); font-size: .7rem; }
.phase-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-top: 18px; }
.phase-grid article { display: flex; flex-direction: column; }
.phase-grid span { color: var(--color-gold); font-size: .72rem; font-weight: 700; }
.phase-grid h3 { margin: 4px 0; font-size: .7rem; }
.phase-grid p { flex: 1; font-size: .58rem; line-height: 1.4; }
.phase-grid img { width: 100%; aspect-ratio: 1.25; object-fit: cover; border-radius: 5px; }
.process-card:last-child { grid-column: 2; grid-template-columns: 1fr; }
.process-os { padding: 46px 0; }
.process-os__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 42px; align-items: center; }
.process-os__grid > div:last-child { text-align: center; }
.process-os__grid img { width: 100%; max-height: 300px; object-fit: cover; border-radius: var(--radius-sm); }
.process-os__grid .button { margin-top: 20px; }
.os-benefit-three { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 24px; }
.os-benefit-three .icon { width: 34px; height: 34px; color: var(--color-gold-light); }
.os-benefit-three h3 { margin: 8px 0 4px; font-size: .78rem; }
.os-benefit-three p { font-size: .65rem; }
.handover__grid { display: grid; grid-template-columns: .9fr 1fr .65fr; gap: 28px; align-items: stretch; }
.handover__grid > img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius-sm); }
.handover aside { display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 28px; border: 1px solid var(--color-border); background: #fff8ef; text-align: center; }
.handover aside .icon { width: 54px; height: 54px; color: var(--color-gold); }
.handover aside h3 { color: var(--color-gold-dark); font-size: 1.4rem; }
.bottom-cta { position: relative; min-height: 210px; overflow: hidden; background: var(--color-dark); color: #fff; }
.bottom-cta > img { position: absolute; inset: 0 0 0 auto; width: 55%; height: 100%; object-fit: cover; opacity: .72; }
.bottom-cta::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#111416 0 48%,rgba(17,20,22,.25) 76%,rgba(17,20,22,.05)); }
.bottom-cta .container { position: relative; z-index: 2; padding-top: 42px; padding-bottom: 42px; }
.bottom-cta h2 { max-width: 620px; font-size: 2.2rem; }
.bottom-cta p { max-width: 480px; color: rgba(255,255,255,.72); }

/* =========================================================
   13. ABOUT PAGE
   ========================================================= */
.about-origin { background: #f8f5f0; }
.about-origin__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 34px; align-items: stretch; }
.about-origin__grid > div { padding: 44px 0; }
.about-origin__grid > img { width: 100%; height: 100%; object-fit: cover; }
.about-origin h2 { font-size: 2.4rem; }
.design-build__grid { display: grid; grid-template-columns: .8fr 1.2fr .8fr; gap: 24px; align-items: center; }
.design-build__grid > article { padding: 22px; border: 1px solid var(--color-border); background: rgba(255,255,255,.52); }
.design-build__grid h3 { color: var(--color-gold-dark); font-size: .78rem; }
.design-build__grid img { width: 100%; border-radius: var(--radius-sm); }
.design-build__grid > div p { margin: 12px 0 0; color: var(--color-text); text-align: center; font-family: var(--font-serif); font-size: 1rem; }
.about-dark { padding: 42px 0; }
.about-dark__grid { display: grid; grid-template-columns: repeat(3,1fr); }
.about-dark__grid > article { padding: 8px 30px; }
.about-dark__grid > article:not(:last-child) { border-right: 1px solid rgba(255,255,255,.14); }
.about-dark h2 { font-size: 2rem; }
.dark-note { display: flex; gap: 12px; margin-top: 20px; padding: 12px; border: 1px solid var(--color-border-dark); color: rgba(255,255,255,.72); font-size: .72rem; }
.dark-note .icon { flex: 0 0 auto; color: var(--color-gold-light); }
.about-dark .button { margin-top: 18px; }
.principles li { display: flex!important; gap: 10px; padding-left: 0!important; }
.principles li::before { display: none; }
.principles .icon { flex: 0 0 auto; color: var(--color-gold-light); }
.principles strong { display: block; color: #fff; }
.principles span { color: rgba(255,255,255,.68); font-size: .72rem; }
.capacity__grid { display: grid; grid-template-columns: .65fr .85fr 1.5fr; gap: 28px; align-items: center; }
.capacity__grid > img { width: 100%; height: 100%; min-height: 300px; object-fit: cover; }
.capacity h2 { font-size: 2rem; }
.fit-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.fit-columns article { padding: 16px; border: 1px solid var(--color-border); background: rgba(255,255,255,.45); }
.fit-columns h3 { font-size: .67rem; }
.fit-columns article:first-child h3 { color: var(--color-success); }
.fit-columns article:last-child h3 { color: var(--color-danger); }
.fit-columns article:last-child li::before { content: "×"; color: var(--color-danger); }
.about-system { padding: 40px 0; }
.about-system__grid { display: grid; grid-template-columns: .9fr 1fr .8fr; gap: 34px; align-items: center; }
.about-system__grid > img { width: 100%; }
.about-bottom { display: grid; grid-template-columns: 280px 1fr auto; align-items: center; background: #f3ede5; }
.about-bottom > img { width: 100%; height: 170px; object-fit: cover; }
.about-bottom > div { padding: 28px 34px; }
.about-bottom h2 { margin-bottom: 8px; font-size: 2.2rem; }
.about-bottom .button { margin-right: max(24px, calc((100vw - var(--container-wide))/2)); }

/* =========================================================
   14. CONTACT PAGE
   ========================================================= */
.split-hero--contact { min-height: 470px; }
.split-hero--contact .secure-note { margin-top: 14px; }
.secure-note { display: flex; align-items: center; gap: 8px; color: var(--color-muted); font-size: .72rem; }
.secure-note .icon { width: 17px; height: 17px; color: var(--color-gold); }
.contact-methods { padding-bottom: 42px; }
.contact-methods h2 { margin-bottom: 26px; font-size: 2.35rem; }
.contact-methods__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.contact-methods__grid article { display: grid; grid-template-columns: 58px 1fr; gap: 16px; padding: 0 24px; }
.contact-methods__grid article:not(:last-child) { border-right: 1px solid var(--color-border); }
.contact-methods__grid > article > .icon { width: 54px; height: 54px; padding: 12px; border: 1px solid var(--color-gold-light); border-radius: 50%; color: var(--color-gold); }
.contact-methods h3 { margin: 0 0 4px; color: var(--color-gold-dark); font-size: .7rem; }
.contact-methods a, .contact-methods strong { font-size: .88rem; font-weight: 700; }
.contact-methods p { margin: 8px 0 0; font-size: .68rem; }
.estimate-card { display: grid; grid-template-columns: 1fr 1fr; padding: 34px 44px; border-radius: var(--radius-sm); }
.estimate-card__intro { display: grid; grid-template-columns: 72px 1fr; gap: 20px; padding-right: 40px; border-right: 1px solid var(--color-border-dark); }
.estimate-card__intro > .icon { width: 64px; height: 64px; color: var(--color-gold-light); }
.estimate-card h2 { font-size: 2.5rem; }
.estimate-card__action { padding-left: 44px; }
.estimate-card__action ul { margin-bottom: 18px; }
.estimate-card__action li { margin-bottom: 10px; }
.estimate-card__action li::before { content: "✓"; color: var(--color-gold-light); }
.estimate-card .secure-note { color: rgba(255,255,255,.64); }
.after-inquiry__steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 36px; }
.after-inquiry__steps article { position: relative; display: grid; grid-template-columns: 78px 1fr; gap: 18px; padding-right: 28px; }
.after-inquiry__steps article:not(:last-child)::after { content: "→"; position: absolute; top: 42px; right: -12px; color: var(--color-gold); }
.after-inquiry__steps .icon { width: 78px; height: 78px; padding: 18px; border-radius: 50%; background: var(--color-background-warm); color: var(--color-gold); }
.after-inquiry__steps span { display: inline-grid; width: 24px; height: 24px; place-items: center; border: 1px solid var(--color-gold); border-radius: 50%; color: var(--color-gold-dark); font-size: .72rem; }
.after-inquiry__steps h3 { margin: 6px 0; font-family: var(--font-serif); font-size: 1.3rem; }
.after-inquiry__steps p { font-size: .75rem; }
.contact-info-card { position: relative; display: flex; gap: 20px; align-items: center; margin-top: 42px; padding: 24px 30px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); overflow: hidden; background: rgba(255,255,255,.45); }
.contact-info-card > .icon { flex: 0 0 auto; width: 32px; height: 32px; color: var(--color-gold); }
.contact-info-card p { position: relative; z-index: 2; margin: 0; }
.blueprint-decoration { position: absolute; right: -10px; top: -20px; width: 320px; height: 170px; opacity: .18; background: linear-gradient(90deg,transparent 48%,#b77a24 49% 50%,transparent 51%), linear-gradient(transparent 48%,#b77a24 49% 50%,transparent 51%); background-size: 44px 44px; transform: rotate(-8deg); }
.contact-final { position: relative; padding: 48px 0; overflow: hidden; background: #eee8df; }
.contact-final__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.contact-final__grid > div:last-child { text-align: center; }
.contact-final h2 { font-size: 2.55rem; }
.contact-final .script-accent { margin: 12px 0 0; color: var(--color-gold-dark); }
.contact-final__plant { position: absolute; right: 0; bottom: -10px; width: 210px; opacity: .42; }

/* =========================================================
   15. RENOMANIA OS PAGE
   ========================================================= */
.page-os { background: #050606; color: #fff; }
.os-hero { min-height: 620px; background: radial-gradient(circle at 70% 48%,rgba(100,96,81,.18),transparent 36%), #050606; }
.os-hero__grid { display: grid; grid-template-columns: .78fr 1.22fr; min-height: 620px; align-items: center; }
.os-hero h1 { font-size: clamp(4rem,6.2vw,6.8rem); }
.os-hero h1 span { color: var(--color-gold-light); }
.os-hero p:not(.eyebrow) { max-width: 480px; color: rgba(255,255,255,.78); font-size: 1.05rem; }
.os-hero__media { position: relative; align-self: stretch; }
.os-hero__media img { position: absolute; right: -2%; bottom: 0; width: 100%; max-height: 100%; object-fit: contain; object-position: bottom right; }
.os-hero__glow { position: absolute; inset: 15% 10% 0 0; border-radius: 50%; background: radial-gradient(circle,rgba(255,255,255,.13),transparent 63%); filter: blur(24px); }
.os-questions { padding: 30px 0 18px; background: var(--color-background); color: var(--color-text); }
.os-questions__grid { display: grid; grid-template-columns: repeat(6,1fr); margin-top: 30px; }
.os-questions__grid article { padding: 0 20px; text-align: center; }
.os-questions__grid article:not(:last-child) { border-right: 1px solid var(--color-border); }
.os-questions__grid .icon { width: 44px; height: 44px; margin: 0 auto 12px; color: var(--color-gold); }
.os-questions__grid p { margin: 0; color: var(--color-text); font-size: .72rem; font-weight: 600; line-height: 1.3; }
.os-pill { width: min(540px,100%); margin: 22px auto 0; padding: 8px 22px; border: 1px solid var(--color-border); border-radius: 999px; background: rgba(255,255,255,.5); font-family: var(--font-serif); font-size: 1.35rem; text-align: center; }
.os-pill span { color: var(--color-gold-dark); }
.os-features { background: #070808; }
.os-feature-grid { display: grid; grid-template-columns: repeat(4,1fr); max-width: 1536px; margin: 0 auto; }
.os-feature { min-height: 620px; padding: 26px 34px 0; border-right: 1px solid var(--color-border-dark); border-bottom: 1px solid var(--color-border-dark); overflow: hidden; }
.os-feature__number { color: var(--color-gold-light); font-size: .82rem; }
.os-feature h2 { margin: 6px 0 10px; font-size: 1.8rem; }
.os-feature p { min-height: 54px; color: rgba(255,255,255,.7); font-size: .75rem; }
.os-feature img { width: 100%; height: 360px; margin-top: 10px; object-fit: cover; object-position: top; border: 1px solid rgba(255,255,255,.25); border-radius: 18px 18px 0 0; }
.os-feature-aside { display: flex; min-height: 620px; flex-direction: column; justify-content: center; gap: 28px; padding: 34px; border-bottom: 1px solid var(--color-border-dark); }
.os-feature-aside article { display: grid; grid-template-columns: 46px 1fr; gap: 18px; }
.os-feature-aside .icon { width: 46px; height: 46px; color: var(--color-gold-light); }
.os-feature-aside h3 { margin: 0 0 4px; color: var(--color-gold-light); font-size: .88rem; }
.os-feature-aside p { margin: 0; color: rgba(255,255,255,.7); font-size: .72rem; }
.os-final { position: relative; min-height: 230px; overflow: hidden; }
.os-final > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .76; }
.os-final::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(5,6,6,.84),rgba(5,6,6,.5)); }
.os-final__grid { position: relative; z-index: 2; display: grid; min-height: 230px; grid-template-columns: 1fr auto; gap: 40px; align-items: center; }
.os-final h2 { margin-bottom: 4px; font-size: 2.6rem; }
.os-final p { margin-bottom: 2px; color: rgba(255,255,255,.78); }
.os-final .script-accent { font-size: 2.4rem; }
.os-final .button { min-width: 330px; min-height: 72px; }

/* =========================================================
   16. CHARACTER PAGE
   ========================================================= */
.page-character { background: #f1ede7; }
.character-hero { min-height: 410px; background: #eee8df; }
.character-hero__grid { display: grid; grid-template-columns: .55fr .45fr; min-height: 410px; align-items: center; }
.character-hero h1 { font-size: clamp(4rem,6.4vw,6.5rem); }
.character-hero p { max-width: 470px; font-size: 1.05rem; }
.character-hero img { width: 100%; height: 100%; min-height: 410px; object-fit: cover; }
.character-projects { padding: 20px 0; }
.character-project { display: grid; grid-template-columns: 250px 1fr; gap: 28px; padding: 20px 0; border-bottom: 1px solid #d7d0c7; }
.character-project__title { display: grid; grid-template-columns: 34px 1fr; gap: 0; }
.character-project__title > span { color: var(--color-gold); font-family: var(--font-serif); font-size: 1.35rem; }
.character-project h2 { font-size: 1.72rem; }
.character-project__copy > p { font-size: .76rem; }
.character-project__copy li { display: flex; gap: 8px; align-items: center; margin-bottom: 7px; color: var(--color-muted); font-size: .7rem; }
.character-project__copy li .icon { width: 15px; height: 15px; color: var(--color-gold); }
.character-project__images { display: grid; grid-template-columns: 1fr 1.12fr; gap: 14px; }
.character-project__images img { width: 100%; height: 250px; object-fit: cover; border-radius: var(--radius-sm); }
.character-cta { display: grid; grid-template-columns: 1.1fr .65fr .8fr; gap: 34px; align-items: center; margin-top: 30px; margin-bottom: 30px; padding: 28px 34px; border-radius: var(--radius-sm); background: linear-gradient(100deg,#202221,#121414); color: #fff; overflow: hidden; }
.character-cta h2 { color: var(--color-gold-light); font-size: 2.35rem; }
.character-cta p { color: rgba(255,255,255,.72); font-size: .76rem; }
.character-cta__benefits { display: flex; flex-direction: column; gap: 14px; }
.character-cta__benefits span { display: flex; gap: 12px; color: rgba(255,255,255,.78); font-size: .73rem; }
.character-cta__benefits .icon { flex: 0 0 auto; color: var(--color-gold-light); }
.character-cta img { width: 100%; height: 160px; object-fit: cover; border-radius: var(--radius-sm); }

/* =========================================================
   17. THANK YOU PAGE
   ========================================================= */
.thanks-hero { background: #fff; }
.thanks-hero__grid { display: grid; grid-template-columns: .72fr 1.28fr; min-height: 520px; }
.thanks-hero__grid > div:first-child { display: flex; flex-direction: column; justify-content: center; padding: 44px 24px 44px 0; }
.thanks-check { display: grid; width: 72px; height: 72px; margin-bottom: 20px; place-items: center; border: 2px solid var(--color-gold); border-radius: 50%; color: var(--color-gold); }
.thanks-check .icon { width: 42px; height: 42px; }
.thanks-hero h1 { font-size: clamp(3.1rem,4.7vw,5.25rem); }
.thanks-hero__media { position: relative; overflow: hidden; }
.thanks-hero__media::before { content: ""; position: absolute; z-index: 2; inset: 0 auto 0 0; width: 25%; background: linear-gradient(90deg,#fff,transparent); }
.thanks-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.thanks-hero .info-card { max-width: 440px; margin-top: 20px; }
.thanks-next__grid { display: grid; grid-template-columns: repeat(3,1fr); }
.thanks-next__grid article { display: grid; grid-template-columns: 80px 1fr; gap: 18px; padding: 0 34px; }
.thanks-next__grid article:not(:last-child) { border-right: 1px solid var(--color-border); }
.thanks-next__grid > article > .icon { width: 70px; height: 70px; padding: 16px; border-radius: 50%; background: var(--color-background-warm); color: var(--color-gold); }
.thanks-next__grid span { display: inline-grid; width: 24px; height: 24px; place-items: center; border: 1px solid var(--color-gold); border-radius: 50%; color: var(--color-gold-dark); font-size: .7rem; }
.thanks-next__grid h3 { margin: 8px 0 6px; font-family: var(--font-serif); font-size: 1.2rem; }
.thanks-next__grid p { font-size: .75rem; }
.thanks-learn { background: #eee8df; }
.thanks-learn__grid { display: grid; grid-template-columns: .85fr 1.15fr; min-height: 360px; align-items: center; }
.thanks-learn__grid > div { padding: 38px 34px 38px 0; }
.thanks-learn h2 { font-size: 2.65rem; }
.thanks-learn h2 span { color: var(--color-gold-dark); }
.thanks-learn img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; }
.thanks-capacity { padding-block: 24px; }

/* =========================================================
   18. FAQ
   ========================================================= */
.faq-grid { display: grid; gap: 0 18px; }
.faq-grid--2 { grid-template-columns: repeat(2,1fr); }
.faq-grid--3 { grid-template-columns: repeat(3,1fr); }
.faq-item { border-bottom: 1px solid var(--color-border); }
.faq-item h3 { margin: 0; }
.faq-button { display: flex; width: 100%; min-height: 46px; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 6px; border: 0; background: transparent; text-align: left; cursor: pointer; }
.faq-button span:first-child { font-size: .72rem; font-weight: 600; }
.faq-button__mark { color: var(--color-gold); font-size: 1.15rem; transition: transform .2s ease; }
.faq-button[aria-expanded="true"] .faq-button__mark { transform: rotate(45deg); }
.faq-panel { padding: 0 6px 14px; }
.faq-panel p { margin: 0; font-size: .72rem; }

/* =========================================================
   19. RESPONSIVE
   ========================================================= */
@media (max-width: 1180px) {
  :root { --header-height: 72px; }
  .site-header__brand { width: 200px; }
  .site-nav { gap: 18px; }
  .site-nav__links { gap: 18px; }
  .site-nav__link { font-size: .78rem; }
  .site-nav__cta { padding-inline: 14px; font-size: .68rem; }
  .manual-estimate { grid-template-columns: 56px 1.2fr 1fr; }
  .manual-estimate .button { grid-column: 2 / 4; justify-self: start; }
  .os-mini-benefits { grid-template-columns: repeat(3,1fr); }
  .contact-methods__grid article { grid-template-columns: 48px 1fr; padding: 0 16px; }
  .contact-methods__grid > article > .icon { width: 46px; height: 46px; }
  .character-project { grid-template-columns: 230px 1fr; }
}

@media (max-width: 1024px) {
  .site-header__menu-button { display: block; margin-left: auto; }
  .site-nav { position: fixed; top: var(--header-height); right: 0; width: min(390px,90vw); height: calc(100dvh - var(--header-height)); flex-direction: column; justify-content: flex-start; align-items: stretch; gap: 24px; padding: 30px; background: rgba(255,255,255,.99); box-shadow: -16px 18px 30px rgba(0,0,0,.12); transform: translateX(105%); opacity: 0; visibility: hidden; transition: transform .24s ease, opacity .24s ease, visibility .24s ease; overflow-y: auto; }
  .site-header--dark .site-nav { background: rgba(5,6,6,.99); }
  .site-nav.is-open { transform: translateX(0); opacity: 1; visibility: visible; }
  .site-nav__links { flex-direction: column; align-items: stretch; gap: 0; }
  .site-nav__link { display: block; padding: 14px 4px; border-bottom: 1px solid var(--color-border); font-size: .95rem; }
  .site-header--dark .site-nav__link { border-bottom-color: rgba(255,255,255,.1); }
  .site-nav__link::after { display: none; }
  .site-nav__cta { width: 100%; }
  .split-hero { grid-template-columns: 1fr 1fr; }
  .split-hero__content { padding-left: 28px; }
  .trust-grid--compact { grid-template-columns: repeat(3,1fr); }
  .trust-grid--compact .trust-item:nth-child(3)::after { display: none; }
  .pricing-preview__layout { grid-template-columns: 1fr; }
  .pricing-preview__intro { display: grid; grid-template-columns: auto 1fr; gap: 20px; align-items: end; }
  .curved-arrow { display: none; }
  .life-grid { grid-template-columns: repeat(2,1fr); }
  .process-steps--six { grid-template-columns: repeat(3,1fr); gap: 28px 0; }
  .process-steps--six article:nth-child(3)::after { display: none; }
  .plan-section__grid { grid-template-columns: 1fr; }
  .home-os__grid { gap: 20px; }
  .home-character { grid-template-columns: 44% 56%; }
  .pricing-cards--detailed { gap: 12px; }
  .pricing-cards--detailed .pricing-card { padding-inline: 18px; }
  .small-flat__grid { grid-template-columns: 1fr; }
  .prices-cta__grid { grid-template-columns: 1fr 1fr; }
  .prices-cta .values { grid-column: 1 / -1; }
  .process-card { grid-template-columns: 1fr; }
  .process-card > img { max-height: 250px; }
  .process-card--image-left > img { order: 2; }
  .process-card:last-child { grid-column: auto; }
  .phase-grid { grid-template-columns: repeat(2,1fr); }
  .capacity__grid { grid-template-columns: .7fr 1.3fr; }
  .capacity__grid > div:last-child { grid-column: 1 / -1; }
  .about-system__grid { grid-template-columns: 1fr 1fr; }
  .about-system__grid > img { grid-column: 2; grid-row: 1 / 3; }
  .about-bottom { grid-template-columns: 230px 1fr; }
  .about-bottom .button { grid-column: 1 / -1; width: fit-content; margin: 0 auto 28px; }
  .contact-methods__grid { grid-template-columns: repeat(2,1fr); gap: 28px 0; }
  .contact-methods__grid article:nth-child(2) { border-right: 0; }
  .estimate-card { grid-template-columns: 1fr; gap: 28px; }
  .estimate-card__intro { border-right: 0; border-bottom: 1px solid var(--color-border-dark); padding: 0 0 28px; }
  .estimate-card__action { padding-left: 0; }
  .os-hero__grid { grid-template-columns: .7fr 1.3fr; }
  .os-feature-grid { grid-template-columns: repeat(2,1fr); }
  .character-project { grid-template-columns: 1fr; }
  .character-project__copy { display: grid; grid-template-columns: 230px 1fr; gap: 20px; }
  .character-project__copy ul { grid-column: 2; }
  .character-cta { grid-template-columns: 1fr 1fr; }
  .character-cta img { grid-column: 1 / -1; height: 210px; }
  .thanks-hero__grid { grid-template-columns: .85fr 1.15fr; }
}

@media (max-width: 768px) {
  .container, .container-wide { width: min(100% - 32px, var(--container)); }
  .section { padding: 52px 0; }
  h1 { font-size: clamp(2.55rem,11vw,4rem); }
  h2 { font-size: clamp(1.9rem,8vw,3rem); }
  .site-header__brand { width: 180px; }
  .home-hero { min-height: 610px; }
  .home-hero__image { width: 100%; }
  .home-hero__shade { background: linear-gradient(180deg,rgba(9,10,10,.88) 0 54%,rgba(9,10,10,.42)); }
  .home-hero__content { padding-top: 54px; }
  .home-hero .button-row { align-items: stretch; flex-direction: column; max-width: 350px; }
  .home-hero .button { width: 100%; }
  .home-trust { margin-top: -28px; }
  .trust-grid { grid-template-columns: repeat(2,1fr); }
  .trust-item:nth-child(2n)::after { display: none; }
  .trust-item:last-child { grid-column: 1 / -1; }
  .pricing-cards { grid-template-columns: 1fr; }
  .pricing-card { min-height: auto; }
  .manual-estimate { grid-template-columns: 50px 1fr; padding: 26px 24px; }
  .manual-estimate p, .manual-estimate .button { grid-column: 1 / -1; }
  .manual-estimate .button { width: 100%; }
  .life-grid { grid-template-columns: 1fr; }
  .process-steps--six, .process-steps--five { grid-template-columns: 1fr; gap: 0; }
  .process-steps article { padding: 16px 20px 24px 82px; text-align: left; }
  .process-steps article > span { position: absolute; left: 22px; top: 12px; }
  .process-steps article .icon { position: absolute; left: 18px; top: 44px; margin: 0; }
  .process-steps article:not(:last-child)::after { content: ""; top: 80px; bottom: -10px; left: 34px; right: auto; width: 1px; height: auto; background: var(--color-gold-light); }
  .plan-cards { grid-template-columns: repeat(2,1fr); }
  .plan-cards article:last-child { grid-column: 1 / -1; }
  .home-os__grid { grid-template-columns: 1fr; }
  .home-os__media { order: 2; }
  .os-mini-benefits { grid-template-columns: repeat(2,1fr); }
  .home-character { grid-template-columns: 1fr; }
  .home-character__media { height: 320px; }
  .home-character__content { padding: 36px 24px; }
  .faq-grid--2, .faq-grid--3 { grid-template-columns: 1fr; }
  .site-footer__grid { grid-template-columns: repeat(2,1fr); }
  .site-footer__brand { grid-column: 1 / -1; }
  .site-footer__bottom { flex-direction: column; }
  .split-hero { grid-template-columns: 1fr; }
  .split-hero__content { padding: 48px 24px 30px; }
  .split-hero__media { min-height: 330px; }
  .split-hero__media::before { top: 0; right: 0; bottom: auto; width: 100%; height: 24%; background: linear-gradient(180deg,#fff,transparent); }
  .split-hero__content .button { width: 100%; }
  .pricing-cards--detailed .pricing-card { min-height: auto; }
  .flat-comparison { grid-template-columns: 1fr; }
  .flat-comparison ul { border-inline: 0; border-block: 1px dashed var(--color-border); }
  .icon-benefits--five { grid-template-columns: repeat(2,1fr); gap: 28px 0; }
  .icon-benefits article:nth-child(2n)::after { display: none; }
  .icon-benefits article:last-child { grid-column: 1 / -1; }
  .prices-cta__grid { grid-template-columns: 1fr; }
  .prices-cta .values { grid-column: auto; grid-template-columns: repeat(2,1fr); }
  .process-icons { grid-template-columns: repeat(2,1fr); gap: 28px 0; }
  .process-icons article:nth-child(2n)::after { display: none; }
  .process-card-grid { grid-template-columns: 1fr; }
  .process-os__grid { grid-template-columns: 1fr; }
  .handover__grid { grid-template-columns: 1fr; }
  .handover__grid > img { max-height: 300px; }
  .bottom-cta > img { width: 100%; opacity: .45; }
  .bottom-cta::after { background: rgba(17,20,22,.72); }
  .about-origin__grid { grid-template-columns: 1fr; }
  .about-origin__grid > img { max-height: 340px; }
  .design-build__grid { grid-template-columns: 1fr; }
  .design-build__grid > div { order: -1; }
  .about-dark__grid { grid-template-columns: 1fr; }
  .about-dark__grid > article { padding: 24px 0; }
  .about-dark__grid > article:not(:last-child) { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .capacity__grid { grid-template-columns: 1fr; }
  .capacity__grid > div:last-child { grid-column: auto; }
  .fit-columns { grid-template-columns: 1fr; }
  .about-system__grid { grid-template-columns: 1fr; }
  .about-system__grid > img { grid-column: auto; grid-row: auto; }
  .about-bottom { grid-template-columns: 1fr; }
  .about-bottom > img { height: 260px; }
  .contact-methods__grid { grid-template-columns: 1fr; gap: 0; }
  .contact-methods__grid article { padding: 22px 0; border-right: 0!important; border-bottom: 1px solid var(--color-border); }
  .estimate-card { width: min(100% - 32px,var(--container)); padding: 28px 22px; }
  .estimate-card__intro { grid-template-columns: 50px 1fr; }
  .estimate-card__intro > .icon { width: 48px; height: 48px; }
  .estimate-card h2 { font-size: 2rem; }
  .estimate-card .button { width: 100%; }
  .after-inquiry__steps { grid-template-columns: 1fr; }
  .after-inquiry__steps article:not(:last-child)::after { content: "↓"; top: auto; right: 50%; bottom: -28px; }
  .contact-final__grid { grid-template-columns: 1fr; }
  .contact-final__grid > div:last-child { text-align: left; }
  .contact-final__plant { width: 150px; opacity: .22; }
  .os-hero { min-height: auto; }
  .os-hero__grid { grid-template-columns: 1fr; padding-top: 50px; }
  .os-hero h1 { font-size: clamp(3.6rem,14vw,5.2rem); }
  .os-hero__media { min-height: 420px; }
  .os-questions__grid { grid-template-columns: repeat(2,1fr); gap: 24px 0; }
  .os-questions__grid article:nth-child(2n) { border-right: 0; }
  .os-feature-grid { grid-template-columns: 1fr; }
  .os-feature { min-height: 580px; border-right: 0; }
  .os-feature-aside { min-height: auto; }
  .os-final__grid { grid-template-columns: 1fr; padding-block: 30px; }
  .os-final .button { min-width: 0; width: 100%; }
  .character-hero__grid { grid-template-columns: 1fr; padding-top: 38px; }
  .character-hero img { min-height: 280px; }
  .character-project__copy { grid-template-columns: 1fr; }
  .character-project__copy ul { grid-column: auto; }
  .character-project__images { grid-template-columns: 1fr; }
  .character-project__images img { height: auto; aspect-ratio: 1.55; }
  .character-cta { grid-template-columns: 1fr; }
  .character-cta img { grid-column: auto; }
  .thanks-hero__grid { grid-template-columns: 1fr; }
  .thanks-hero__grid > div:first-child { padding: 42px 0; }
  .thanks-hero__media { min-height: 330px; }
  .thanks-hero__media::before { width: 100%; height: 25%; background: linear-gradient(180deg,#fff,transparent); }
  .thanks-next__grid { grid-template-columns: 1fr; gap: 28px; }
  .thanks-next__grid article { padding: 0; border-right: 0!important; }
  .thanks-learn__grid { grid-template-columns: 1fr; }
  .thanks-learn__grid > div { padding-right: 0; }
  .thanks-learn img { min-height: 280px; }
}

@media (max-width: 480px) {
  .container, .container-wide { width: min(100% - 24px, var(--container)); }
  body { font-size: 15px; }
  .site-header__brand { width: 158px; }
  .site-nav { width: 100%; }
  .button { width: 100%; }
  .home-hero { min-height: 650px; }
  .home-hero__content { padding-top: 46px; }
  .home-hero h1 { font-size: 3rem; }
  .trust-item { padding: 18px 10px; }
  .pricing-preview__intro { grid-template-columns: 1fr; }
  .manual-estimate { grid-template-columns: 1fr; text-align: left; }
  .manual-estimate__icon { width: 50px; height: 50px; }
  .life-card { grid-template-columns: 1fr; }
  .life-card img { height: 180px; order: -1; }
  .plan-cards { grid-template-columns: 1fr; }
  .plan-cards article:last-child { grid-column: auto; }
  .os-mini-benefits { grid-template-columns: 1fr; }
  .home-character__media { height: 260px; }
  .site-footer__grid { grid-template-columns: 1fr; }
  .site-footer__brand { grid-column: auto; }
  .split-hero__content { padding-inline: 16px; }
  .trust-grid--compact { grid-template-columns: repeat(2,1fr); }
  .trust-grid--compact .trust-item:nth-child(3)::after { display: block; }
  .trust-grid--compact .trust-item:nth-child(2n)::after { display: none; }
  .process-icons { grid-template-columns: 1fr; }
  .process-icons article::after { display: none; }
  .phase-grid { grid-template-columns: 1fr; }
  .os-benefit-three { grid-template-columns: 1fr; }
  .fit-columns { grid-template-columns: 1fr; }
  .about-bottom > div { padding-inline: 18px; }
  .estimate-card__intro { grid-template-columns: 1fr; }
  .after-inquiry__steps article { grid-template-columns: 64px 1fr; padding-right: 0; }
  .after-inquiry__steps .icon { width: 64px; height: 64px; }
  .contact-info-card { align-items: flex-start; padding: 20px; }
  .os-questions__grid { grid-template-columns: 1fr; }
  .os-questions__grid article { padding: 18px 0; border-right: 0!important; border-bottom: 1px solid var(--color-border); }
  .os-feature { padding-inline: 20px; }
  .character-hero h1 { font-size: 3.5rem; }
  .character-cta { padding-inline: 22px; }
  .thanks-next__grid article { grid-template-columns: 62px 1fr; }
  .thanks-next__grid > article > .icon { width: 58px; height: 58px; }
  .thanks-learn .button-row { flex-direction: column; }
}

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

/* Final production refinements */
.site-header__phone-mobile{display:none;font-size:1.4rem;margin-left:auto;padding:8px;color:inherit}.site-nav__phone{min-height:46px;padding-inline:18px}.site-footer__grid{grid-template-columns:1.45fr .8fr 1fr}.site-footer__brand img,.site-header__brand img{object-fit:contain}.site-footer__brand img{width:230px;filter:none}.contact-methods__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.pricing-card__note{font-size:.78rem;color:var(--color-muted)}.legal-page,.error-page{min-height:65vh;padding-top:130px}.container--narrow{max-width:850px}.legal-page h2{margin-top:32px}.cookie-banner{position:fixed;z-index:1000;left:18px;right:18px;bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;background:#15191c;color:#fff;border:1px solid rgba(255,255,255,.15);box-shadow:0 16px 50px rgba(0,0,0,.3)}.cookie-banner p{margin:0;font-size:.78rem;color:rgba(255,255,255,.78)}.cookie-banner__actions{display:flex;gap:10px}.cookie-banner[hidden]{display:none}@media(max-width:980px){.site-header__phone-mobile{display:inline-flex}.site-nav__phone{width:100%;margin-top:8px}.contact-methods__grid,.plan-cards{grid-template-columns:1fr 1fr}.site-footer__grid{grid-template-columns:1fr 1fr}.after-inquiry__steps article{min-height:auto;padding:28px 20px}.after-inquiry__steps{align-items:stretch}}@media(max-width:640px){.contact-methods__grid,.plan-cards,.site-footer__grid{grid-template-columns:1fr}.after-inquiry__steps{grid-template-columns:1fr}.after-inquiry__steps article{display:block;margin-bottom:18px}.cookie-banner{flex-direction:column;align-items:flex-start}.cookie-banner__actions{width:100%}.cookie-banner__actions .button{flex:1}}


/* Revision after full visual QA */
.site-header__brand img{display:block;width:auto;max-width:170px;height:72px;object-fit:contain}
.site-footer__brand img{display:block;width:230px;height:auto;max-height:150px;object-fit:contain;background:#f7f3ed;padding:10px 14px;border-radius:2px}
.handover-note{background:var(--gold-soft,#efe0c5)!important;color:var(--ink,#171714)!important;border:1px solid rgba(181,124,31,.28)!important}
.handover-note *{color:inherit!important}

.small-apartment-price{background:#f7f3ed}
.small-apartment-price__grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(540px,1.6fr);gap:48px;align-items:center}
.small-apartment-price__copy h2{font-size:clamp(2.3rem,4vw,4.4rem);line-height:.98;margin:.25em 0 .4em}
.small-apartment-price__copy p{color:var(--muted);font-size:1.02rem;line-height:1.75}
.small-apartment-price__comparison{border:1px solid var(--line);background:#fff;display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:center;gap:22px;padding:38px}
.small-apartment-price__comparison article{text-align:center;display:flex;flex-direction:column;gap:5px;align-items:center}
.small-apartment-price__comparison article strong{font-size:2.2rem}
.small-apartment-price__comparison article span,.small-apartment-price__comparison article b{font-weight:400;color:var(--muted)}
.small-apartment-price__comparison ul{list-style:none;padding:0;margin:0;border-left:1px dashed var(--line);border-right:1px dashed var(--line);padding-inline:30px;display:grid;gap:10px;color:var(--muted)}
.small-apartment-price__comparison li:before{content:'✓';color:var(--gold);font-weight:700;margin-right:9px}
.plan-icon{position:relative;margin-top:20px;border:3px solid #b9b2a8;height:85px;width:125px}
.plan-icon--large{width:175px}
.plan-icon i{position:absolute;background:#b9b2a8}
.plan-icon i:nth-child(1){left:50%;top:0;width:2px;height:100%}
.plan-icon i:nth-child(2){left:0;top:50%;height:2px;width:100%}
.plan-icon i:nth-child(3){left:20%;top:25%;height:2px;width:60%}
.plan-icon i:nth-child(4){left:24%;top:25%;width:2px;height:50%}

.contact-methods__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.after-inquiry__steps article{display:grid;grid-template-columns:auto auto minmax(0,1fr);grid-template-rows:auto;column-gap:18px;align-items:start}
.after-inquiry__steps article>span{grid-column:1}
.after-inquiry__steps article>svg{grid-column:2}
.after-inquiry__copy{grid-column:3;min-width:0}
.after-inquiry__copy h3,.after-inquiry__copy p{margin-left:0!important;position:static!important}

@media(max-width:900px){
 .site-header__brand img{height:58px;max-width:140px}
 .small-apartment-price__grid{grid-template-columns:1fr}
 .small-apartment-price__comparison{grid-template-columns:1fr;gap:28px}
 .small-apartment-price__comparison ul{border-left:0;border-right:0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:24px 0}
 .contact-methods__grid{grid-template-columns:1fr}
 .after-inquiry__steps article{grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;row-gap:12px}
 .after-inquiry__steps article>span{grid-column:1;grid-row:1}
 .after-inquiry__steps article>svg{grid-column:1;grid-row:2}
 .after-inquiry__copy{grid-column:2;grid-row:1/3}
}


/* =========================================================
   20. ADAPTACIJA POTKROVLJA
   ========================================================= */
.page-attic .site-header { background: rgba(255,255,255,.97); }
.attic-hero { position: relative; min-height: clamp(520px,47vw,720px); overflow: hidden; color:#151515; background:#eee8df; }
.attic-hero__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.attic-hero__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(247,244,239,.99) 0%,rgba(247,244,239,.96) 22%,rgba(247,244,239,.7) 38%,rgba(247,244,239,.12) 62%,transparent 80%); }
.attic-hero__content { position:relative; z-index:2; padding-top:clamp(76px,8vw,120px); padding-bottom:90px; }
.attic-hero h1 { max-width:590px; margin:0 0 20px; font-size:clamp(3.25rem,5.5vw,6rem); line-height:.9; letter-spacing:-.055em; text-transform:uppercase; }
.attic-hero h1 span { color:var(--color-gold-dark); font-family:var(--font-serif); font-size:.7em; font-weight:500; text-transform:none; letter-spacing:-.03em; }
.attic-hero__content>p:not(.eyebrow) { max-width:500px; color:#313131; font-size:1.03rem; }
.attic-hero__actions { display:flex; align-items:center; gap:18px; margin-top:28px; }
.attic-hero__actions strong { font-size:.92rem; }
.attic-trust { position:relative; z-index:3; margin-top:-28px; }
.attic-trust .trust-grid { background:#fff; border:1px solid var(--color-border); box-shadow:var(--shadow-card); }
.attic-specifics { padding-top:76px; }
.attic-icon-grid { display:grid; grid-template-columns:repeat(6,1fr); margin-top:36px; border:1px solid var(--color-border); background:#fff; }
.attic-icon-grid article { position:relative; padding:30px 18px; text-align:center; }
.attic-icon-grid article:not(:last-child)::after { content:""; position:absolute; right:0; top:28px; bottom:28px; width:1px; background:var(--color-border); }
.attic-icon-grid .icon { width:43px; height:43px; margin-bottom:16px; color:var(--color-gold-dark); }
.attic-icon-grid h3 { min-height:40px; margin:0 0 8px; font-family:var(--font-sans); font-size:.86rem; }
.attic-icon-grid p { margin:0; font-size:.72rem; }
.attic-two-cards { display:grid; grid-template-columns:.82fr 1.18fr; gap:20px; }
.attic-card { padding:38px; border:1px solid var(--color-border); background:#fff; }
.attic-card h2 { font-size:clamp(2rem,3vw,3.2rem); }
.check-list { display:grid; gap:13px; margin:26px 0; }
.check-list li { display:flex; align-items:flex-start; gap:10px; color:var(--color-text); font-size:.87rem; }
.check-list .icon { flex:0 0 auto; width:20px; height:20px; color:#79965f; }
.check-list--small { gap:9px; margin-bottom:0; }
.attic-note { padding:18px; border-left:3px solid var(--color-gold); background:var(--color-background-warm); font-size:.78rem; }
.attic-isolation-card { display:grid; grid-template-columns:.84fr 1.16fr; align-items:center; gap:10px; }
.attic-isolation-card img { width:100%; max-height:430px; object-fit:contain; }
.attic-price__grid { display:grid; grid-template-columns:1.15fr .85fr; gap:44px; }
.attic-price__figure { display:flex; width:fit-content; flex-direction:column; margin-top:26px; padding:20px 30px; border-left:4px solid var(--color-gold); background:var(--color-background-warm); }
.attic-price__figure span,.attic-price__figure small { color:var(--color-muted); font-size:.76rem; }
.attic-price__figure strong { font-family:var(--font-serif); font-size:clamp(2rem,3.4vw,3.7rem); line-height:1.1; }
.attic-price__factors { padding:30px; border:1px solid var(--color-border); }
.attic-price__factors h3 { font-family:var(--font-serif); font-size:1.6rem; }
.attic-price__factors li { position:relative; margin:12px 0; padding-left:22px; color:var(--color-muted); font-size:.84rem; }
.attic-price__factors li::before { content:""; position:absolute; left:0; top:.55em; width:7px; height:7px; border-radius:50%; background:var(--color-gold); }
.attic-boundary { grid-column:1/-1; display:grid; grid-template-columns:32px 1fr; gap:14px; align-items:start; padding:20px 24px; border:1px solid #ddcdaF; background:#fffaf2; }
.attic-boundary .icon { color:var(--color-gold-dark); }
.attic-boundary p { margin:0; font-size:.8rem; }
.attic-process { display:grid; grid-template-columns:repeat(6,1fr); margin-top:34px; }
.attic-process article { position:relative; padding:16px 14px 26px; text-align:center; }
.attic-process article:not(:last-child)::after { content:"→"; position:absolute; right:-8px; top:56px; color:var(--color-gold); font-size:1.5rem; }
.attic-process span { display:grid; width:28px; height:28px; margin:0 auto 12px; place-items:center; border:1px solid var(--color-gold); border-radius:50%; color:var(--color-gold-dark); font-size:.67rem; }
.attic-process .icon { width:40px; height:40px; color:#303436; }
.attic-process h3 { margin:10px 0 0; font-family:var(--font-sans); font-size:.78rem; }
.attic-responsibilities__grid { display:grid; grid-template-columns:1.03fr .97fr; gap:34px; align-items:stretch; }
.attic-responsibilities__copy { padding:18px 0; }
.attic-responsibilities__grid>img { width:100%; height:100%; min-height:500px; object-fit:cover; border-radius:var(--radius-sm); }
.responsibility-columns { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:28px; }
.responsibility-columns article { padding:24px; border:1px solid var(--color-border); }
.responsibility-columns article:last-child { border-color:var(--color-gold); background:#fbf6ee; }
.responsibility-columns h3 { font-family:var(--font-serif); font-size:1.55rem; }
.responsibility-columns li { position:relative; margin:11px 0; padding-left:18px; color:var(--color-muted); font-size:.78rem; }
.responsibility-columns li::before { content:"✓"; position:absolute; left:0; color:var(--color-gold-dark); }
.attic-transform { background:#15191b; }
.section-heading--light h2 { color:#fff; }
.section-heading--light p { color:rgba(255,255,255,.7); }
.before-after { --position:50%; position:relative; width:100%; aspect-ratio:16/8.5; margin-top:36px; overflow:hidden; border-radius:var(--radius-sm); box-shadow:0 22px 60px rgba(0,0,0,.35); }
.before-after img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.before-after__before { position:absolute; inset:0 auto 0 0; width:var(--position); overflow:hidden; border-right:2px solid #fff; }
.before-after__before img { width:calc(100vw - max(0px,(100vw - var(--container))/2)*2); max-width:var(--container); }
.before-after__range { position:absolute; z-index:5; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:ew-resize; }
.before-after__handle { position:absolute; z-index:4; left:var(--position); top:50%; display:flex; width:58px; height:58px; justify-content:center; align-items:center; gap:8px; border:3px solid #fff; border-radius:50%; background:var(--color-gold); color:#fff; transform:translate(-50%,-50%); box-shadow:0 8px 25px rgba(0,0,0,.28); }
.before-after__label { position:absolute; z-index:3; top:20px; padding:7px 13px; background:rgba(16,18,19,.78); color:#fff; font-size:.72rem; font-weight:700; }
.before-after__label--before { left:20px; }.before-after__label--after { right:20px; }
.attic-challenge-grid,.attic-why-grid { display:grid; grid-template-columns:repeat(5,1fr); margin-top:34px; }
.attic-challenge-grid article,.attic-why-grid article { position:relative; padding:26px 20px; text-align:center; }
.attic-challenge-grid article:not(:last-child)::after,.attic-why-grid article:not(:last-child)::after { content:""; position:absolute; top:24px; right:0; bottom:24px; width:1px; background:var(--color-border); }
.attic-challenge-grid .icon,.attic-why-grid .icon { width:36px; height:36px; color:var(--color-gold-dark); }
.attic-challenge-grid h3,.attic-why-grid h3 { margin:12px 0 7px; font-family:var(--font-sans); font-size:.84rem; }
.attic-challenge-grid p,.attic-why-grid p { margin:0; font-size:.72rem; }
.attic-os { padding-top:54px; padding-bottom:54px; }
.attic-cta { position:relative; overflow:hidden; color:#fff; }
.attic-cta__bg { position:absolute; inset:0; background:url('images/hero-adaptacija-potkrovlja.webp') center 56%/cover; }
.attic-cta__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,12,13,.94),rgba(10,12,13,.72)); }
.attic-cta__content { position:relative; z-index:2; display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; padding-top:52px; padding-bottom:52px; }
.attic-cta h2 { max-width:760px; color:#fff; }
.attic-cta p { color:rgba(255,255,255,.75); }
.attic-cta__content>div:last-child { display:flex; flex-direction:column; align-items:center; gap:10px; }

@media(max-width:1180px){.page-attic .site-nav__links{gap:12px}.page-attic .site-nav{gap:14px}.page-attic .site-nav__link{font-size:.7rem}.attic-icon-grid{grid-template-columns:repeat(3,1fr)}.attic-icon-grid article:nth-child(3)::after{display:none}.attic-process{grid-template-columns:repeat(3,1fr)}.attic-process article:nth-child(3)::after{display:none}.attic-challenge-grid,.attic-why-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.attic-hero__shade{background:linear-gradient(180deg,rgba(247,244,239,.97) 0%,rgba(247,244,239,.9) 45%,rgba(247,244,239,.1) 78%)}.attic-hero{min-height:720px}.attic-hero__image{object-position:62% center}.attic-two-cards,.attic-price__grid,.attic-responsibilities__grid{grid-template-columns:1fr}.attic-isolation-card{grid-template-columns:1fr 1fr}.attic-responsibilities__grid>img{min-height:380px}.attic-boundary{grid-column:auto}.attic-challenge-grid,.attic-why-grid{grid-template-columns:repeat(2,1fr)}.attic-cta__content{grid-template-columns:1fr}.attic-cta__content>div:last-child{align-items:flex-start}}
@media(max-width:640px){.attic-hero{min-height:680px}.attic-hero__image{object-position:70% center}.attic-hero__shade{background:linear-gradient(180deg,rgba(247,244,239,.99) 0%,rgba(247,244,239,.9) 52%,rgba(247,244,239,.15) 82%)}.attic-hero__content{padding-top:52px}.attic-hero h1{font-size:3.25rem}.attic-hero__content>p:not(.eyebrow){font-size:.92rem}.attic-hero__actions{align-items:flex-start;flex-direction:column}.attic-trust{margin-top:-18px}.attic-icon-grid{grid-template-columns:1fr 1fr}.attic-icon-grid article:nth-child(3)::after{display:block}.attic-icon-grid article:nth-child(2n)::after{display:none}.attic-card{padding:26px 22px}.attic-isolation-card{grid-template-columns:1fr}.attic-isolation-card img{order:-1}.attic-process{grid-template-columns:1fr}.attic-process article{text-align:left;padding-left:82px}.attic-process span{position:absolute;left:20px;top:16px}.attic-process .icon{position:absolute;left:20px;top:55px}.attic-process article:not(:last-child)::after{content:"";left:34px;right:auto;top:96px;bottom:-12px;width:1px;height:auto;background:var(--color-gold-light)}.responsibility-columns{grid-template-columns:1fr}.before-after{aspect-ratio:4/5}.before-after__before img{width:calc(100vw - 32px);max-width:none}.attic-challenge-grid,.attic-why-grid{grid-template-columns:1fr}.attic-challenge-grid article:not(:last-child)::after,.attic-why-grid article:not(:last-child)::after{top:auto;left:24px;right:24px;bottom:0;width:auto;height:1px}.attic-cta__content{padding-top:42px;padding-bottom:42px}}
