@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500;1,600&family=Inter:wght@400;500;600;700;800;900&display=swap');

:root {
  --gd-obsidian: #100d0a;
  --gd-obsidian-2: #19120d;
  --gd-bronze: #b98a4d;
  --gd-bronze-2: #d4aa69;
  --gd-clay: #9f5b42;
  --gd-bone: #f4efe7;
  --gd-bone-2: #e5dbc9;
  --gd-stone: #928779;
  --gd-line: rgba(244, 239, 231, 0.15);
  --gd-line-dark: rgba(25, 18, 13, 0.12);
  --gd-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --gd-font-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
}

/* Plano multi-page layer */
:root {
  --gw-bg: #070b0e;
  --gw-panel: #0e1418;
  --gw-panel-2: #12191e;
  --gw-line: rgba(230,190,126,.18);
  --gw-gold: #d9a552;
  --gw-gold-light: #efc779;
  --gw-text: #f4f0e9;
  --gw-muted: #b5b3ae;
}
body:has(.gw-page) { margin: 0; background: var(--gw-bg); }
.gw-header.is-scrolled { min-height: 66px; background: rgba(5,8,10,.97); box-shadow: 0 14px 40px rgba(0,0,0,.28); }
.gw-header, .gw-footer { color: var(--gw-text); font-family: var(--gd-font-sans, Inter, system-ui, sans-serif); }
.gw-home { overflow: clip; }
.gw-hero--studio { min-height: calc(100svh - 78px); grid-template-columns: minmax(450px,.96fr) minmax(480px,1.04fr); }
.gw-hero--studio h1 { max-width: 760px; font-size: clamp(55px,5.3vw,86px); }
.gw-device--hero::before { content:""; position:absolute; inset:8% 0 0 12%; z-index:-1; border:1px solid rgba(239,199,121,.16); border-radius:50%; filter:blur(.2px); transform:rotate(-12deg); }
.gw-device__tag { display:block; width:max-content; margin:22px 0 0 auto; padding:8px 12px; border-left:1px solid var(--gw-gold); color:#948d82; font:700 9px/1 monospace; letter-spacing:.14em; }
.gw-proofbar { display:flex; justify-content:center; border-bottom:1px solid rgba(255,255,255,.07); background:#090e11; overflow:hidden; }
.gw-proofbar span { padding:19px clamp(20px,3.4vw,58px); color:#c7c3bb; font-size:11px; letter-spacing:.04em; white-space:nowrap; }
.gw-proofbar span + span { border-left:1px solid rgba(255,255,255,.08); }
.gw-editorial { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(50px,9vw,130px); max-width:1220px; margin:auto; padding:130px 28px; }
.gw-editorial h2, .gw-capabilities h2, .gw-founder h2, .gw-closing h2, .gw-pagehero h1, .gw-contact-page h1, .gw-studio-story h2 { margin:0; font-size:clamp(40px,5vw,72px); line-height:1.02; letter-spacing:-.055em; }
.gw-editorial > div:last-child { padding-top:55px; }
.gw-editorial p, .gw-capabilities__intro p, .gw-founder p, .gw-pagehero > p:not(.gw-kicker), .gw-studio-story p, .gw-contact-page__copy > p { color:var(--gw-muted); font-size:16px; line-height:1.8; }
.gw-text-link { display:inline-flex; gap:14px; margin-top:20px; padding-bottom:5px; border-bottom:1px solid rgba(239,199,121,.5); color:var(--gw-gold-light)!important; font-weight:800; }
.gw-featured { padding:110px max(28px,calc((100vw - 1220px)/2)); border-block:1px solid rgba(255,255,255,.07); background:linear-gradient(145deg,#0b1115,#070a0d); }
.gw-featured .gw-section__head p:last-child { color:var(--gw-muted); line-height:1.7; }
.gw-featured__grid { display:grid; grid-template-columns:1.15fr .85fr; gap:18px; }
.gw-project { display:block; overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:8px; background:#0e1418; transform-style:preserve-3d; transition:border-color .25s ease,transform .25s ease; }
.gw-project--large { grid-row:span 2; }
.gw-project__image { display:block; overflow:hidden; aspect-ratio:16/9; background:#141a1e; }
.gw-project--large .gw-project__image { height:calc(100% - 110px); aspect-ratio:auto; }
.gw-project__image img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .4s ease; }
.gw-project:hover { border-color:rgba(239,199,121,.42); }
.gw-project:hover .gw-project__image img { transform:scale(1.035); }
.gw-project__meta { display:grid; min-height:110px; align-content:center; padding:18px 22px; }
.gw-project__meta i { color:var(--gw-gold); font-size:9px; font-style:normal; letter-spacing:.14em; }
.gw-project__meta strong { margin:7px 0; color:var(--gw-text); font-size:20px; }
.gw-project__meta small { color:var(--gw-muted); }
.gw-project__meta b { float:right; color:var(--gw-gold-light); }
.gw-centered { margin:32px auto 0; width:max-content; }
.gw-capabilities { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(60px,9vw,130px); max-width:1220px; margin:auto; padding:130px 28px; }
.gw-capabilities__intro { position:sticky; top:130px; align-self:start; }
.gw-capabilities__list { border-top:1px solid rgba(255,255,255,.11); }
.gw-capabilities__list article { display:grid; grid-template-columns:54px 1fr 1.2fr; gap:24px; padding:30px 0; border-bottom:1px solid rgba(255,255,255,.11); }
.gw-capabilities__list span, .gw-process-compact article span, .gw-values article span { color:var(--gw-gold); font-size:10px; font-weight:900; letter-spacing:.14em; }
.gw-capabilities__list h3 { margin:0; font-size:19px; }
.gw-capabilities__list p { margin:0; color:var(--gw-muted); font-size:13px; line-height:1.7; }
.gw-offer { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(50px,8vw,120px); max-width:1164px; margin:0 auto 120px; padding:clamp(38px,6vw,78px); border:1px solid rgba(239,199,121,.26); border-radius:8px; background:radial-gradient(circle at 18% 40%,rgba(217,165,82,.1),transparent 32%),#10171b; box-shadow:0 30px 90px rgba(0,0,0,.32); }
.gw-offer__price > p:not(.gw-kicker) { color:var(--gw-muted); }
.gw-offer__price del { color:#d3a86c; font-size:18px; }
.gw-offer__price h2 { margin:14px 0 8px; color:var(--gw-gold-light); font-size:clamp(74px,8vw,112px); line-height:.85; letter-spacing:-.07em; }
.gw-offer__price h2 small { color:var(--gw-text); font-size:13px; letter-spacing:0; }
.gw-offer__price > span { color:var(--gw-muted); font-size:12px; line-height:1.6; }
.gw-offer__content h2 { margin:0; font-size:clamp(32px,3.5vw,48px); line-height:1.1; letter-spacing:-.04em; }
.gw-offer__content > p { color:var(--gw-muted); line-height:1.75; }
.gw-offer__content ul { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:24px 0 30px; padding:0; list-style:none; }
.gw-offer__content li::before { content:"✓"; margin-right:10px; color:var(--gw-gold-light); }
.gw-founder, .gw-studio-story { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(50px,9vw,130px); align-items:center; max-width:1100px; margin:auto; padding:120px 28px; border-top:1px solid rgba(255,255,255,.08); }
.gw-founder__mark { display:grid; aspect-ratio:1; place-items:center; border:1px solid rgba(239,199,121,.2); border-radius:50%; background:radial-gradient(circle,rgba(217,165,82,.14),transparent 65%); }
.gw-founder__mark img { width:72%; filter:none; }
.gw-founder strong { color:#e8e1d5; }
.gw-process-compact { padding:110px max(28px,calc((100vw - 1164px)/2)); background:#090e11; }
.gw-process-compact > div:last-child { display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid rgba(255,255,255,.1); }
.gw-process-compact article { padding:34px; }
.gw-process-compact article + article { border-left:1px solid rgba(255,255,255,.1); }
.gw-process-compact h3 { margin:13px 0; font-size:18px; }
.gw-process-compact p { color:var(--gw-muted); font-size:13px; line-height:1.7; }
.gw-closing { display:grid; grid-template-columns:1fr auto; gap:60px; align-items:center; max-width:1164px; margin:80px auto; padding:55px; border:1px solid rgba(255,255,255,.1); border-radius:8px; background:linear-gradient(135deg,#12191e,#080d10); }
.gw-closing h2 { max-width:800px; font-size:clamp(34px,4vw,56px); }
.gw-closing > div:last-child p { color:var(--gw-muted); font-size:11px; text-align:center; }
.gw-inner { min-height:70vh; }
.gw-pagehero { max-width:1164px; margin:auto; padding:130px 28px 100px; }
.gw-pagehero h1, .gw-contact-page h1 { max-width:980px; }
.gw-pagehero > p:not(.gw-kicker) { max-width:760px; }
.gw-pagehero .gw-button { margin-top:20px; }
.gw-service-index { max-width:1164px; margin:auto; border-top:1px solid rgba(255,255,255,.11); }
.gw-service-index article { display:grid; grid-template-columns:80px 1fr; padding:60px 28px; border-bottom:1px solid rgba(255,255,255,.11); }
.gw-service-index article > span { color:var(--gw-gold); font-size:11px; }
.gw-service-index article > div { display:grid; grid-template-columns:.9fr 1fr; gap:60px; }
.gw-service-index h2 { margin:0; font-size:clamp(28px,3vw,42px); }
.gw-service-index p, .gw-service-index li { color:var(--gw-muted); line-height:1.7; }
.gw-service-index ul { margin:0; }
.gw-archive { display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:1164px; margin:auto; padding:0 28px 60px; }
.gw-project--concept .gw-project__image { position:relative; }
.gw-project--concept .gw-project__image::after { content:"CONCEPT"; position:absolute; top:14px; right:14px; padding:7px 9px; background:#090d10; color:var(--gw-gold-light); font-size:9px; letter-spacing:.12em; }
.gw-values { display:grid; grid-template-columns:repeat(3,1fr); max-width:1100px; margin:auto; padding:20px 28px 100px; }
.gw-values article { padding:34px; border-block:1px solid rgba(255,255,255,.1); }
.gw-values article + article { border-left:1px solid rgba(255,255,255,.1); }
.gw-values p { color:var(--gw-muted); line-height:1.7; }
.gw-contact-page { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(50px,8vw,110px); max-width:1164px; margin:auto; padding:120px 28px; }
.gw-contact-methods { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:35px 0; }
.gw-contact-methods a { display:grid; gap:8px; padding:20px; border:1px solid rgba(239,199,121,.28); border-radius:6px; }
.gw-contact-methods small { color:var(--gw-gold); font-size:9px; letter-spacing:.13em; }
.gw-contact-page ol { display:grid; gap:12px; padding-left:22px; color:var(--gw-muted); }
.gw-form--panel { align-self:start; padding:34px; border:1px solid rgba(255,255,255,.1); border-radius:8px; background:#10171b; box-shadow:0 28px 70px rgba(0,0,0,.28); }
.gw-footer { grid-template-columns:1fr auto 1fr; }
.gw-footer > div:first-child p { max-width:350px; color:#777; font-size:11px; line-height:1.6; }
.gw-footer__contact { display:grid; justify-items:end; gap:5px; }
.gw-footer__contact > a { color:var(--gw-gold-light); font-size:12px; }
.gw-footer__contact small { color:#666; margin-top:5px; }
.gw-js [data-reveal] { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .8s cubic-bezier(.2,.75,.2,1); }
.gw-js [data-reveal].is-visible { opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion:reduce) { .gw-js [data-reveal] { opacity:1; transform:none; transition:none; } }
@media (max-width:900px) {
  .gw-hero--studio,.gw-editorial,.gw-capabilities,.gw-offer,.gw-founder,.gw-studio-story,.gw-contact-page { grid-template-columns:1fr; }
  .gw-proofbar { justify-content:flex-start; overflow-x:auto; }
  .gw-featured__grid { grid-template-columns:1fr; }
  .gw-project--large { grid-row:auto; }
  .gw-project--large .gw-project__image { height:auto; aspect-ratio:16/9; }
  .gw-capabilities__intro { position:static; }
  .gw-capabilities__list article { grid-template-columns:50px 1fr; }
  .gw-capabilities__list article p { grid-column:2; }
  .gw-offer__content ul { grid-template-columns:1fr; }
  .gw-closing { grid-template-columns:1fr; }
  .gw-service-index article > div { grid-template-columns:1fr; gap:18px; }
  .gw-footer { grid-template-columns:1fr auto; }
  .gw-footer > div:first-child { grid-column:1/-1; }
}
@media (max-width:700px) {
  .gw-hero--studio { min-height:auto; grid-template-columns:1fr; }
  .gw-hero--studio h1 { font-size:clamp(44px,12vw,60px); }
  .gw-editorial,.gw-capabilities,.gw-founder,.gw-studio-story { padding:80px 20px; }
  .gw-editorial > div:last-child { padding-top:0; }
  .gw-featured { padding:75px 20px; }
  .gw-offer { margin:0 20px 80px; padding:34px 24px; }
  .gw-process-compact { padding:80px 20px; }
  .gw-process-compact > div:last-child,.gw-values { grid-template-columns:1fr; }
  .gw-process-compact article + article,.gw-values article + article { border-left:0; }
  .gw-closing { margin:50px 20px; padding:35px 24px; }
  .gw-pagehero { padding:90px 20px 65px; }
  .gw-pagehero h1,.gw-contact-page h1 { font-size:clamp(44px,12vw,62px); }
  .gw-service-index article { grid-template-columns:40px 1fr; padding:40px 20px; }
  .gw-archive { grid-template-columns:1fr; padding-inline:20px; }
  .gw-contact-page { padding:80px 20px; }
  .gw-contact-methods { grid-template-columns:1fr; }
  .gw-form--panel { padding:24px; }
  .gw-footer { grid-template-columns:1fr; justify-items:center; }
  .gw-footer > div:first-child,.gw-footer__contact { justify-items:center; text-align:center; }
}

/* Giorgaras Web conversion homepage — 2026-07 */
.gw-page {
  --gw-bg: #070b0e;
  --gw-panel: #0e1418;
  --gw-panel-2: #12191e;
  --gw-line: rgba(230, 190, 126, .18);
  --gw-gold: #d9a552;
  --gw-gold-light: #efc779;
  --gw-text: #f4f0e9;
  --gw-muted: #b5b3ae;
  min-height: 100vh;
  overflow: clip;
  background: var(--gw-bg);
  color: var(--gw-text);
  font-family: var(--gd-font-sans, Inter, system-ui, sans-serif);
  color-scheme: dark;
}
.gw-page *, .gw-page *::before, .gw-page *::after { box-sizing: border-box; }
.gw-page a { color: inherit; text-decoration: none; }
.gw-page img { display: block; max-width: 100%; }
.gw-page :focus-visible { outline: 3px solid var(--gw-gold-light); outline-offset: 4px; }
.gw-header {
  position: sticky;
  top: 0;
  z-index: 100;
  display: grid;
  grid-template-columns: 210px 1fr auto;
  align-items: center;
  gap: 32px;
  min-height: 78px;
  padding: 10px max(28px, calc((100vw - 1220px) / 2));
  border-bottom: 1px solid rgba(255,255,255,.09);
  background: rgba(7,11,14,.91);
  backdrop-filter: blur(16px);
}
.gw-brand { display: inline-flex; width: 190px; flex-direction: column; align-items: flex-start; }
.gw-brand img { width: 190px; height: auto; object-fit: contain; }
.gw-brand > span { align-self:center; margin:2px 0 0; color:var(--gw-gold-light); font-size:7px; font-weight:800; letter-spacing:.12em; white-space:nowrap; }
.gw-nav { display: flex; justify-content: center; gap: clamp(24px, 3vw, 48px); }
.gw-nav a, .gw-footer nav a { color: #ddd9d2; font-size: 13px; font-weight: 750; transition: color .2s ease; }
.gw-nav a:hover, .gw-footer nav a:hover { color: var(--gw-gold-light); }
.gw-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 0 24px;
  border: 1px solid var(--gw-gold);
  border-radius: 5px;
  background: linear-gradient(135deg, var(--gw-gold), var(--gw-gold-light));
  color: #16110a !important;
  font-size: 13px;
  font-weight: 850;
  box-shadow: 0 12px 32px rgba(202,148,70,.12);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.gw-button:hover { transform: translateY(-2px); filter: brightness(1.06); box-shadow: 0 16px 34px rgba(202,148,70,.2); }
.gw-button--large { min-height: 58px; padding-inline: 28px; font-size: 14px; }
.gw-button--outline { border-color: rgba(225,175,93,.58); background: transparent; color: var(--gw-text) !important; box-shadow: none; }
.gw-button--outline:hover { background: rgba(218,165,82,.08); }
.gw-menu { display: none; }
.gw-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(420px, .92fr) minmax(500px, 1.08fr);
  align-items: center;
  gap: clamp(40px, 6vw, 90px);
  min-height: 650px;
  padding: 72px max(28px, calc((100vw - 1220px) / 2)) 48px;
  border-bottom: 1px solid rgba(255,255,255,.07);
  background: radial-gradient(circle at 72% 38%, rgba(186,132,54,.08), transparent 29%), linear-gradient(115deg, #080d11, #06090c);
}
.gw-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .15; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size: 46px 46px; }
.gw-hero__copy, .gw-device { position: relative; z-index: 1; }
.gw-kicker { margin: 0 0 18px; color: var(--gw-gold-light); font-size: 10px; font-weight: 900; letter-spacing: .18em; }
.gw-hero h1 { margin: 0; font-size: clamp(52px, 5vw, 78px); line-height: .98; letter-spacing: -.055em; }
.gw-hero h1 em { color: var(--gw-gold); font-style: normal; }
.gw-lead { max-width: 650px; margin: 26px 0 0; color: #c5c3be; font-size: clamp(16px, 1.25vw, 18px); line-height: 1.72; }
.gw-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.gw-offerline { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 0; color: #d3cec4; font-size: 12px; }
.gw-offerline i { color: var(--gw-gold); font-style: normal; }
.gw-device { min-width: 0; padding: 18px 28px 26px 0; }
.gw-device__laptop { position: relative; width: min(630px, 100%); margin-left: auto; filter: drop-shadow(0 30px 38px rgba(0,0,0,.48)); }
.gw-device__screen { overflow: hidden; aspect-ratio: 16/9.65; border: 7px solid #27292b; border-radius: 16px 16px 6px 6px; background: #17191b; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
.gw-device__base { height: 15px; margin-inline: -5%; border-radius: 2px 2px 16px 16px; background: linear-gradient(#777b7f,#35383b 48%,#151719); box-shadow: 0 8px 12px rgba(0,0,0,.4); }
.gw-demo-nav { display: flex; align-items: center; gap: 7px; height: 12%; padding: 0 5%; background: #f7f4ec; color: #1a1713; }
.gw-demo-nav b { font-family: Georgia, serif; font-size: clamp(10px, 1.3vw, 18px); }
.gw-demo-nav span { font-size: 8px; }
.gw-demo-nav small { margin-left: auto; font-size: 7px; }
.gw-demo-hero { position: relative; height: 88%; overflow: hidden; }
.gw-demo-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,7,7,.72), rgba(6,7,7,.06)); }
.gw-demo-hero > img { width: 100%; height: 100%; object-fit: cover; }
.gw-demo-hero > div { position: absolute; z-index: 1; top: 22%; left: 7%; display: grid; justify-items: start; color: white; }
.gw-demo-hero small { color: #e7c489; font-size: 7px; letter-spacing: .16em; }
.gw-demo-hero strong { margin: 10px 0 17px; font: 700 clamp(18px, 2.4vw, 34px)/1.02 Georgia, serif; }
.gw-demo-hero span, .gw-phone-view span, .gw-mini-visual i { padding: 8px 12px; border-radius: 3px; background: var(--gw-gold); color: #17110b; font-size: 8px; font-weight: 800; font-style: normal; }
.gw-device__phone { position: absolute; right: -2px; bottom: 4px; width: 24%; min-width: 116px; overflow: hidden; aspect-ratio: 9/18.5; border: 6px solid #2e3033; border-radius: 23px; background: #0b0d0e; box-shadow: 0 18px 35px rgba(0,0,0,.48); }
.gw-device__notch { position: absolute; z-index: 3; top: 5px; left: 50%; width: 38%; height: 9px; transform: translateX(-50%); border-radius: 0 0 8px 8px; background: #141516; }
.gw-phone-view { display: flex; height: 100%; flex-direction: column; gap: 9px; align-items: flex-start; padding: 22px 10px 10px; color: white; }
.gw-phone-view b { font-size: 9px; }
.gw-phone-view img { width: calc(100% + 20px); height: 48%; margin-inline: -10px; object-fit: cover; }
.gw-phone-view strong { font: 700 14px/1.12 Georgia, serif; }
.gw-outcomes { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; max-width: 1220px; margin: 0 auto; padding: 36px 28px 80px; }
.gw-outcomes article { display: grid; grid-template-columns: 54px 1fr; gap: 18px; min-height: 150px; padding: 28px; border: 1px solid rgba(255,255,255,.08); border-radius: 8px; background: linear-gradient(140deg, rgba(255,255,255,.045), rgba(255,255,255,.018)); }
.gw-icon { display: grid; width: 52px; height: 52px; place-items: center; border: 1px solid rgba(231,183,105,.42); border-radius: 50%; color: var(--gw-gold-light); font-size: 29px; }
.gw-outcomes h2 { margin: 3px 0 10px; font-size: 17px; }
.gw-outcomes p { margin: 0; color: var(--gw-muted); font-size: 13px; line-height: 1.62; }
.gw-section { max-width: 1220px; margin: 0 auto; padding: 74px 28px; }
.gw-section__head { max-width: 760px; margin: 0 auto 36px; text-align: center; }
.gw-section__head h2, .gw-preview h2 { margin: 0; font-size: clamp(30px, 3.2vw, 45px); line-height: 1.12; letter-spacing: -.035em; }
.gw-portfolio { max-width: none; border-block: 1px solid rgba(255,255,255,.07); background: #080d10; }
.gw-portfolio > * { max-width: 1164px; margin-inline: auto; }
.gw-portfolio__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.gw-work-card { padding: 18px; border: 1px solid rgba(255,255,255,.1); border-radius: 8px; background: #0e1418; transition: transform .25s ease, border-color .25s ease; }
.gw-work-card:hover { transform: translateY(-5px); border-color: rgba(218,165,82,.45); }
.gw-work-preview { overflow: hidden; aspect-ratio: 1.48; border-radius: 5px; background: #eee; color: #181818; }
.gw-mini-bar { display: flex; height: 17%; align-items: center; justify-content: space-between; padding: 0 7%; background: #faf8f3; font-size: 7px; }
.gw-mini-visual { position: relative; display: flex; height: 83%; flex-direction: column; align-items: flex-start; justify-content: center; padding: 8%; color: white; background: linear-gradient(90deg,rgba(10,10,10,.68),rgba(10,10,10,.04)), url('/wp-content/themes/giorgaras-development/assets/img/mockup-rhodes-hospitality.webp') center/cover; }
.gw-work-card--villa .gw-mini-visual { background-position: 17% center; filter: saturate(.8) hue-rotate(-8deg); }
.gw-work-card--professional .gw-mini-visual { background: radial-gradient(circle at 75% 40%,#7b6752,transparent 28%), linear-gradient(135deg,#1e2b32,#0b1013 68%); }
.gw-mini-visual small { color: #f1cf97; font-size: 7px; letter-spacing: .15em; }
.gw-mini-visual strong { margin: 8px 0 14px; font: 700 clamp(17px,1.7vw,25px)/1.05 Georgia,serif; }
.gw-work-card h3 { margin: 18px 0 14px; text-align: center; font-size: 16px; }
.gw-work-card > a { display: flex; width: fit-content; margin: auto; gap: 10px; align-items: center; color: var(--gw-gold-light); font-size: 11px; font-weight: 800; }
.gw-pricing { display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(40px,8vw,110px); align-items: center; max-width: 1164px; margin-top: 70px; border: 1px solid rgba(255,255,255,.09); border-radius: 8px; background: linear-gradient(135deg,#11181c,#0a0f12); box-shadow: 0 24px 70px rgba(0,0,0,.24); }
.gw-pricing__offer { padding-left: clamp(0px,3vw,38px); }
.gw-normal { display: flex; gap: 20px; color: var(--gw-muted); }
.gw-normal del { color: #d2aa70; font-size: 20px; }
.gw-pricing__offer > span { color: #f1eee7; font-weight: 750; }
.gw-pricing h2 { margin: 7px 0; color: var(--gw-gold-light); font-size: clamp(66px,8vw,104px); line-height: .95; letter-spacing: -.06em; }
.gw-pricing h2 small { color: var(--gw-text); font-size: 14px; letter-spacing: 0; }
.gw-monthly { margin: 16px 0 28px; color: var(--gw-text); font-size: 16px; line-height: 1.55; }
.gw-monthly small { color: var(--gw-muted); }
.gw-pricing__features { padding: 18px 0 18px clamp(32px,5vw,70px); border-left: 1px solid rgba(255,255,255,.09); }
.gw-pricing ul { display: grid; gap: 19px; margin: 0; padding: 0; list-style: none; }
.gw-pricing li { position: relative; padding-left: 30px; color: #ddd9d2; font-size: 14px; }
.gw-pricing li::before { content: "✓"; position: absolute; left: 0; color: var(--gw-gold-light); font-size: 18px; }
.gw-process { padding-top: 100px; }
.gw-process__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; }
.gw-process article { position: relative; padding: 30px 38px; border-top: 1px solid rgba(255,255,255,.1); }
.gw-process article + article { border-left: 1px solid rgba(255,255,255,.1); }
.gw-process article:not(:last-child)::after { content: "→"; position: absolute; z-index: 1; top: 50%; right: -12px; color: var(--gw-gold); font-size: 23px; }
.gw-process article > span { color: var(--gw-gold); font-size: 11px; font-weight: 900; letter-spacing: .15em; }
.gw-process h3 { margin: 13px 0 10px; font-size: 18px; line-height: 1.35; }
.gw-process p { margin: 0; color: var(--gw-muted); font-size: 13px; line-height: 1.65; }
.gw-faq { max-width: 1164px; border-top: 1px solid rgba(255,255,255,.08); }
.gw-faq__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; }
.gw-faq details { border: 1px solid rgba(255,255,255,.08); border-radius: 6px; background: #0e1418; }
.gw-faq summary { position: relative; padding: 20px 48px 20px 20px; cursor: pointer; list-style: none; font-size: 14px; font-weight: 750; }
.gw-faq summary::-webkit-details-marker { display: none; }
.gw-faq summary::after { content: "+"; position: absolute; right: 20px; color: var(--gw-gold-light); font-size: 22px; font-weight: 400; }
.gw-faq details[open] summary::after { content: "−"; }
.gw-faq details p { margin: 0; padding: 0 20px 20px; color: var(--gw-muted); font-size: 13px; line-height: 1.65; }
.gw-preview { display: grid; grid-template-columns: 1fr .85fr; gap: clamp(40px,8vw,110px); align-items: center; max-width: 1164px; margin-bottom: 70px; border: 1px solid rgba(218,165,82,.22); border-radius: 8px; background: linear-gradient(135deg,#12191e,#090e11); }
.gw-preview__copy > p:not(.gw-kicker) { max-width: 620px; color: var(--gw-muted); line-height: 1.7; }
.gw-direct-contact { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px; }
.gw-direct-contact a { padding: 12px 16px; border: 1px solid rgba(218,165,82,.4); border-radius: 5px; color: var(--gw-gold-light); font-size: 13px; font-weight: 750; }
.gw-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.gw-form label { display: grid; gap: 7px; color: #d8d4cc; font-size: 12px; }
.gw-form label:last-of-type, .gw-form .gw-button, .gw-form [data-gd-form-note] { grid-column: 1/-1; }
.gw-form input { width: 100%; min-height: 50px; padding: 0 14px; border: 1px solid rgba(255,255,255,.13); border-radius: 5px; background: #070b0e; color: white; font: inherit; }
.gw-form input::placeholder { color: #777; }
.gw-form [data-gd-form-note] { margin: 0; color: var(--gw-muted); font-size: 11px; text-align: center; }
.gw-footer { display: grid; grid-template-columns: 210px 1fr auto; align-items: center; gap: 30px; min-height: 110px; padding: 22px max(28px,calc((100vw - 1220px)/2)); border-top: 1px solid rgba(255,255,255,.08); background: #05080a; }
.gw-footer nav { display: flex; justify-content: center; gap: 32px; }
.gw-footer small { color: #777; font-size: 11px; }
@media (prefers-reduced-motion: no-preference) {
  .gw-hero__copy, .gw-device, .gw-outcomes article, .gw-work-card, .gw-pricing, .gw-process article, .gw-faq details, .gw-preview { animation: gw-rise .65s both; }
  .gw-device { animation-delay: .08s; }
  @keyframes gw-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
}
@media (max-width: 980px) {
  .gw-header { grid-template-columns: 190px 1fr auto; }
  .gw-nav { display: none; }
  .gw-menu { position: relative; display: block; }
  .gw-menu summary { display: grid; width: 44px; height: 44px; place-content: center; gap: 5px; cursor: pointer; list-style: none; border: 1px solid rgba(255,255,255,.15); border-radius: 5px; }
  .gw-menu summary::-webkit-details-marker { display: none; }
  .gw-menu summary span { width: 19px; height: 2px; background: white; }
  .gw-menu nav { position: absolute; top: 54px; right: 0; display: grid; width: min(310px,calc(100vw - 40px)); gap: 4px; padding: 14px; border: 1px solid rgba(255,255,255,.11); border-radius: 8px; background: #11171b; box-shadow: 0 22px 60px rgba(0,0,0,.45); }
  .gw-menu nav > a:not(.gw-button) { padding: 12px; }
  .gw-hero { grid-template-columns: 1fr; padding-top: 70px; }
  .gw-hero__copy { max-width: 760px; }
  .gw-device { width: min(760px,100%); margin: 0 auto; }
  .gw-outcomes { padding-top: 22px; }
  .gw-outcomes article { grid-template-columns: 1fr; }
  .gw-pricing, .gw-preview { grid-template-columns: 1fr; }
  .gw-pricing__offer { padding-left: 0; }
  .gw-pricing__features { padding: 34px 0 0; border-top: 1px solid rgba(255,255,255,.09); border-left: 0; }
  .gw-footer { grid-template-columns: 1fr auto; }
  .gw-footer nav { display: none; }
}
@media (max-width: 700px) {
  .gw-header { grid-template-columns: 1fr auto; min-height: 68px; padding-inline: 18px; }
  .gw-brand, .gw-brand img { width: 150px; }
  .gw-brand > span { margin-left:0; font-size:6px; }
  .gw-button--header { display: none; }
  .gw-hero { min-height: auto; gap: 42px; padding: 58px 20px 38px; }
  .gw-hero h1 { font-size: clamp(43px,13vw,62px); }
  .gw-lead { font-size: 16px; line-height: 1.6; }
  .gw-actions { display: grid; }
  .gw-actions .gw-button { width: 100%; }
  .gw-offerline { display: grid; gap: 5px; }
  .gw-offerline i { display: none; }
  .gw-device { padding: 0 12px 18px 0; }
  .gw-device__phone { min-width: 86px; border-width: 4px; border-radius: 17px; }
  .gw-phone-view { gap: 5px; padding: 18px 7px 7px; }
  .gw-phone-view strong { font-size: 10px; }
  .gw-phone-view span { padding: 5px 7px; font-size: 6px; }
  .gw-outcomes, .gw-portfolio__grid, .gw-process__grid, .gw-faq__grid { grid-template-columns: 1fr; }
  .gw-outcomes { padding: 20px 20px 58px; }
  .gw-outcomes article { grid-template-columns: 52px 1fr; min-height: 0; padding: 22px; }
  .gw-section { padding: 58px 20px; }
  .gw-work-card { padding: 14px; }
  .gw-pricing { margin: 30px 20px 0; padding: 42px 24px; }
  .gw-pricing h2 { font-size: 76px; }
  .gw-process article { padding: 26px 8px; }
  .gw-process article + article { border-left: 0; }
  .gw-process article:not(:last-child)::after { content: "↓"; top: auto; right: 12px; bottom: -14px; }
  .gw-preview { margin: 0 20px 50px; padding: 42px 24px; }
  .gw-form { grid-template-columns: 1fr; }
  .gw-form label { grid-column: 1/-1; }
  .gw-footer { grid-template-columns: 1fr; justify-items: center; text-align: center; }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--gd-obsidian);
  color: var(--gd-bone);
  font-family: var(--gd-font-sans);
  overflow-x: hidden;
  text-rendering: geometricPrecision;
}

body.gd-menu-open {
  overflow: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

.gd-nav {
  position: fixed;
  top: 20px;
  left: 50%;
  z-index: 50;
  display: grid;
  grid-template-columns: 270px 1fr 270px;
  align-items: center;
  width: min(1720px, calc(100% - 80px));
  min-height: 68px;
  padding: 0 22px;
  transform: translateX(-50%);
  border: 1px solid rgba(244, 239, 231, 0.1);
  border-radius: 8px;
  background: rgba(16, 13, 10, 0.66);
  backdrop-filter: blur(18px);
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.22);
  transition: background 0.24s ease, border-color 0.24s ease, top 0.24s ease;
}

.gd-nav.is-scrolled {
  top: 10px;
  background: rgba(16, 13, 10, 0.88);
  border-color: rgba(212, 170, 105, 0.22);
  backdrop-filter: none;
}

.gd-nav__brand img {
  width: 232px;
  height: auto;
}

.gd-nav__links {
  display: flex;
  justify-content: center;
  gap: clamp(18px, 1.8vw, 34px);
}

.gd-nav__links a + a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(clamp(18px, 1.8vw, 34px) / -2);
  width: 1px;
  height: 14px;
  transform: translateY(-50%);
  background: rgba(244, 239, 231, 0.16);
}

.gd-nav__links a,
.gd-lang {
  color: rgba(244, 239, 231, 0.72);
  font-size: 13px;
  font-weight: 700;
}

.gd-nav__links a {
  position: relative;
  padding: 23px 0;
}

.gd-nav__links a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 17px;
  left: 0;
  height: 1px;
  transform: scaleX(0);
  transform-origin: center;
  background: var(--gd-bronze-2);
  transition: transform 0.24s ease;
}

.gd-nav__links a:hover::after {
  transform: scaleX(1);
}

.gd-nav__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 24px;
}

.gd-mobile-cta {
  display: none;
}

.gd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 6px;
  font-size: 15px;
  font-weight: 750;
  white-space: nowrap;
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.gd-btn span {
  transform: translateY(-1px);
  transition: transform 0.2s ease;
}

.gd-btn:hover {
  transform: translateY(-2px);
}

.gd-btn:hover span {
  transform: translate(4px, -1px);
}

.gd-btn--light {
  background: var(--gd-bone);
  color: #201914;
}

.gd-btn--ghost {
  border-color: rgba(244, 239, 231, 0.18);
  background: rgba(244, 239, 231, 0.04);
  color: var(--gd-bone);
}

.gd-btn--bronze {
  background: linear-gradient(135deg, var(--gd-bronze), var(--gd-clay));
  color: #120d09;
}

.gd-btn--xl {
  min-height: 62px;
  padding: 0 34px;
  font-size: 18px;
}

.gd-site {
  background: var(--gd-obsidian);
}

.gd-hero {
  position: relative;
  min-height: calc(100svh - 40px);
  overflow: hidden;
  isolation: isolate;
  border-bottom: 1px solid rgba(244, 239, 231, 0.1);
  background:
    linear-gradient(90deg, rgba(16, 13, 10, 0.98), rgba(16, 13, 10, 0.7) 48%, rgba(16, 13, 10, 0.95)),
    #120e0b;
}

.gd-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.2;
  background-image:
    linear-gradient(rgba(244, 239, 231, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(244, 239, 231, 0.08) 1px, transparent 1px);
  background-size: 96px 96px;
  mask-image: linear-gradient(90deg, transparent 0%, #000 20%, #000 80%, transparent 100%);
}

.gd-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.22;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");
  mix-blend-mode: overlay;
}

.gd-hero__motion,
.gd-gradient,
.gd-cursor-glow,
.gd-geo,
.gd-particles,
.gd-plan-lines {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.gd-gradient {
  z-index: -3;
  opacity: 0.68;
  filter: blur(28px);
  transform: translate3d(0, 0, 0);
}

.gd-gradient--gold {
  background:
    conic-gradient(from 118deg at 27% 45%, rgba(185, 138, 77, 0.72), rgba(16, 13, 10, 0), rgba(159, 91, 66, 0.34), rgba(16, 13, 10, 0), rgba(185, 138, 77, 0.72));
  animation: gdFlowOne 18s ease-in-out infinite alternate;
}

.gd-gradient--clay {
  background:
    linear-gradient(120deg, transparent 0%, rgba(159, 91, 66, 0.18) 40%, rgba(212, 170, 105, 0.3) 62%, transparent 100%);
  animation: gdFlowTwo 14s ease-in-out infinite alternate;
}

.gd-cursor-glow {
  z-index: -2;
  opacity: 0.42;
  background: radial-gradient(circle at var(--gd-x, 72%) var(--gd-y, 62%), rgba(212, 170, 105, 0.32), transparent 25%);
  transition: background 0.08s linear;
}

.gd-geo {
  z-index: -1;
  width: min(820px, 58vw);
  height: auto;
  inset: auto 11vw 2vh auto;
  fill: none;
  stroke: rgba(244, 239, 231, 0.08);
  stroke-width: 22;
  stroke-linejoin: bevel;
  transform-origin: center;
}

.gd-geo path {
  stroke-dasharray: 1400;
  stroke-dashoffset: 1400;
  animation: gdTrace 8s cubic-bezier(0.7, 0, 0.2, 1) infinite;
}

.gd-geo--back {
  opacity: 0.72;
  animation: gdFloatGeo 16s ease-in-out infinite alternate;
}

.gd-geo--front {
  opacity: 0.42;
  stroke: rgba(212, 170, 105, 0.14);
  animation: gdFloatGeoFront 12s ease-in-out infinite alternate;
}

.gd-geo--front path {
  animation-delay: 1.4s;
}

.gd-plan-lines {
  z-index: -2;
  opacity: 0.28;
  background:
    linear-gradient(116deg, transparent 0 48%, rgba(244, 239, 231, 0.12) 48% 48.2%, transparent 48.2%),
    linear-gradient(64deg, transparent 0 56%, rgba(212, 170, 105, 0.11) 56% 56.2%, transparent 56.2%);
  background-size: 720px 720px;
  animation: gdPlanDrift 20s linear infinite;
}

.gd-particles span {
  position: absolute;
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 1px;
  background: var(--gd-bronze-2);
  transform: rotate(45deg);
  opacity: 0.74;
  animation: gdParticle 9s ease-in-out infinite alternate;
}

.gd-particles span:nth-child(1) { left: 18%; top: 29%; animation-duration: 7s; }
.gd-particles span:nth-child(2) { left: 44%; top: 18%; animation-duration: 10s; }
.gd-particles span:nth-child(3) { left: 68%; top: 36%; animation-duration: 8s; }
.gd-particles span:nth-child(4) { left: 78%; top: 62%; animation-duration: 12s; }
.gd-particles span:nth-child(5) { left: 31%; top: 70%; animation-duration: 11s; }
.gd-particles span:nth-child(6) { left: 56%; top: 82%; animation-duration: 9s; }

.gd-hero__side {
  position: absolute;
  top: 50%;
  z-index: 2;
  color: rgba(244, 239, 231, 0.42);
  font-size: 13px;
  font-weight: 800;
  writing-mode: vertical-rl;
  text-transform: uppercase;
}

.gd-hero__side--left {
  left: 76px;
  transform: translateY(-50%) rotate(180deg);
}

.gd-hero__side--right {
  right: 76px;
  transform: translateY(-50%);
}

.gd-hero__content {
  position: relative;
  z-index: 2;
  width: min(1500px, calc(100% - 240px));
  margin: 0 auto;
  padding-top: 250px;
  padding-bottom: 86px;
}

.gd-kicker {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  margin: 0 0 56px;
  padding: 13px 24px;
  border: 1px solid rgba(244, 239, 231, 0.16);
  border-radius: 999px;
  color: rgba(244, 239, 231, 0.72);
  font-size: 13px;
  font-weight: 850;
  text-transform: uppercase;
}

.gd-kicker span {
  width: 10px;
  height: 10px;
  border-radius: 1px;
  background: var(--gd-bronze-2);
  transform: rotate(45deg);
}

.gd-hero h1 {
  max-width: 1380px;
  margin: 0;
  color: var(--gd-bone);
  font-family: var(--gd-font-serif);
  font-size: 116px;
  font-weight: 500;
  line-height: 0.96;
}

.gd-hero h1 em {
  color: var(--gd-bronze-2);
  font-style: italic;
  text-shadow: 0 0 46px rgba(212, 170, 105, 0.22);
}

.gd-hero__lead {
  max-width: 720px;
  margin: 42px 0 0;
  color: rgba(244, 239, 231, 0.74);
  font-size: 23px;
  line-height: 1.55;
}

.gd-hero__quick {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 720px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.gd-hero__quick li {
  padding: 10px 14px;
  border: 1px solid rgba(244, 239, 231, 0.15);
  border-radius: 999px;
  background: rgba(244, 239, 231, 0.055);
  color: rgba(244, 239, 231, 0.8);
  font-size: 14px;
  font-weight: 800;
}

.gd-hero__actions {
  display: flex;
  gap: 18px;
  margin-top: 54px;
  flex-wrap: wrap;
}

.gd-hero__metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  width: min(760px, 100%);
  margin-top: 70px;
  border: 1px solid rgba(244, 239, 231, 0.12);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(244, 239, 231, 0.06);
}

.gd-hero__metrics div {
  padding: 22px 24px;
  background: rgba(16, 13, 10, 0.42);
}

.gd-hero__metrics strong {
  display: block;
  color: var(--gd-bronze-2);
  font-family: var(--gd-font-serif);
  font-size: 42px;
  line-height: 1;
}

.gd-hero__metrics span {
  display: block;
  margin-top: 6px;
  color: rgba(244, 239, 231, 0.58);
  font-size: 13px;
}

.gd-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid var(--gd-line-dark);
  background: var(--gd-bone);
  color: #1f1711;
}

.gd-strip div {
  min-height: 112px;
  padding: 28px 34px;
  border-right: 1px solid var(--gd-line-dark);
}

.gd-strip strong,
.gd-strip span {
  display: block;
}

.gd-strip strong {
  font-family: var(--gd-font-serif);
  font-size: 28px;
  font-weight: 600;
}

.gd-strip span {
  margin-top: 6px;
  color: #6d6257;
  font-size: 14px;
  line-height: 1.45;
}

.gd-section {
  padding: 116px 72px;
}

.gd-section--bone {
  background: var(--gd-bone);
  color: #1f1711;
}

.gd-section--dark {
  background: #11100f;
  color: var(--gd-bone);
}

.gd-section--bronze {
  background: linear-gradient(135deg, #ba8d53, #8f4d37);
  color: #170f09;
}

.gd-section__head {
  width: min(1180px, 100%);
  margin: 0 auto 54px;
}

.gd-section__head--split {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 64px;
  align-items: end;
}

.gd-section__head h2,
.gd-airbnb h2,
.gd-contact h2 {
  margin: 0;
  font-family: var(--gd-font-serif);
  font-size: 68px;
  font-weight: 550;
  line-height: 1;
}

.gd-section__head p:not(.gd-label),
.gd-airbnb p,
.gd-contact p {
  color: inherit;
  opacity: 0.72;
  font-size: 18px;
  line-height: 1.65;
}

.gd-label {
  display: inline-flex;
  margin: 0 0 18px;
  color: var(--gd-bronze);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.gd-service-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  width: min(1380px, 100%);
  margin: 0 auto;
}

.gd-service-card,
.gd-process div {
  min-height: 330px;
  padding: 34px;
  border: 1px solid var(--gd-line-dark);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.48);
  transition: transform 0.24s ease, border-color 0.24s ease, background 0.24s ease;
}

.gd-service-card:hover,
.gd-process div:hover {
  transform: translateY(-6px);
  border-color: rgba(185, 138, 77, 0.54);
  background: rgba(255, 255, 255, 0.74);
}

.gd-service-card--dark {
  background: #17110c;
  color: var(--gd-bone);
}

.gd-service-card--dark:hover {
  background: #1f1711;
}

.gd-service-card span,
.gd-process span {
  color: var(--gd-bronze);
  font-weight: 900;
}

.gd-service-card h3,
.gd-process h3 {
  margin: 54px 0 16px;
  font-family: var(--gd-font-serif);
  font-size: 34px;
  font-weight: 600;
  line-height: 1.05;
}

.gd-service-card p,
.gd-process p {
  margin: 0;
  color: inherit;
  opacity: 0.72;
  font-size: 15px;
  line-height: 1.7;
}

.gd-work-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr 0.9fr;
  gap: 14px;
  width: min(1380px, 100%);
  margin: 0 auto;
}

.gd-work-card {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  border: 1px solid rgba(244, 239, 231, 0.12);
  border-radius: 8px;
  background: #1b1510;
}

.gd-work-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.72) 100%),
    var(--gd-work-bg);
  background-size: cover;
  background-position: center;
  transition: transform 0.9s ease, filter 0.9s ease;
}

.gd-work-card:hover::before {
  transform: scale(1.06);
  filter: saturate(1.12);
}

.gd-work-card--suite {
  --gd-work-bg:
    linear-gradient(135deg, rgba(244, 239, 231, 0.12), transparent 45%),
    repeating-linear-gradient(90deg, rgba(244, 239, 231, 0.08) 0 1px, transparent 1px 42px),
    linear-gradient(135deg, #362419, #c59a5f);
}

.gd-work-card--airbnb {
  --gd-work-bg:
    linear-gradient(135deg, rgba(255, 255, 255, 0.14), transparent 48%),
    repeating-linear-gradient(0deg, rgba(244, 239, 231, 0.08) 0 1px, transparent 1px 38px),
    linear-gradient(135deg, #1d1713, #8c4e38);
}

.gd-work-card--hotel {
  --gd-work-bg:
    linear-gradient(135deg, rgba(244, 239, 231, 0.12), transparent 48%),
    repeating-linear-gradient(45deg, rgba(244, 239, 231, 0.08) 0 1px, transparent 1px 34px),
    linear-gradient(135deg, #171513, #6c5a43);
}

.gd-work-card div {
  position: absolute;
  right: 28px;
  bottom: 28px;
  left: 28px;
  z-index: 1;
}

.gd-work-card span {
  display: block;
  margin-bottom: 12px;
  color: var(--gd-bronze-2);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.gd-work-card h3 {
  margin: 0;
  font-family: var(--gd-font-serif);
  font-size: 42px;
  font-weight: 600;
  line-height: 1.02;
}

.gd-airbnb,
.gd-contact {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  width: min(1180px, 100%);
  margin: 0 auto;
  align-items: start;
}

.gd-airbnb ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.gd-airbnb li {
  display: grid;
  gap: 4px;
  min-height: 112px;
  padding: 28px;
  border: 1px solid rgba(16, 13, 10, 0.18);
  border-radius: 8px;
  background: rgba(244, 239, 231, 0.16);
}

.gd-airbnb strong {
  font-family: var(--gd-font-serif);
  font-size: 28px;
}

.gd-airbnb span {
  opacity: 0.72;
}

.gd-process {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  width: min(1380px, 100%);
  margin: 0 auto;
}

.gd-quote {
  position: relative;
  overflow: hidden;
  padding: 118px 72px;
  background: #100d0a;
  color: var(--gd-bone);
  text-align: center;
}

.gd-quote::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.36;
  background:
    linear-gradient(120deg, transparent, rgba(185, 138, 77, 0.16), transparent),
    repeating-linear-gradient(90deg, transparent 0 120px, rgba(244, 239, 231, 0.05) 120px 121px);
  animation: gdPlanDrift 24s linear infinite;
}

.gd-quote blockquote {
  position: relative;
  max-width: 1120px;
  margin: 0 auto;
  font-family: var(--gd-font-serif);
  font-size: 72px;
  font-weight: 550;
  line-height: 1.05;
}

.gd-quote span {
  position: relative;
  display: block;
  margin-top: 28px;
  color: var(--gd-bronze-2);
  font-size: 12px;
  font-weight: 900;
}

.gd-section--contact {
  background: var(--gd-bone);
  color: #1f1711;
}

.gd-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--gd-line-dark);
  border-radius: 8px;
  background: #fffaf2;
  box-shadow: 0 24px 80px rgba(64, 39, 19, 0.12);
}

.gd-form label {
  display: grid;
  gap: 8px;
}

.gd-form label span {
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.gd-form input,
.gd-form select,
.gd-form textarea {
  width: 100%;
  border: 1px solid rgba(31, 23, 17, 0.16);
  border-radius: 6px;
  background: #f8f1e8;
  color: #1f1711;
  font: inherit;
  font-size: 15px;
  outline: none;
}

.gd-form input,
.gd-form select {
  height: 52px;
  padding: 0 14px;
}

.gd-form textarea {
  min-height: 138px;
  padding: 14px;
  resize: vertical;
}

.gd-form input:focus,
.gd-form select:focus,
.gd-form textarea:focus {
  border-color: var(--gd-bronze);
  box-shadow: 0 0 0 4px rgba(185, 138, 77, 0.14);
}

.gd-form__wide {
  grid-column: 1 / -1;
}

.gd-form__note {
  grid-column: 1 / -1;
  margin: 0;
  color: #766a5e;
  font-size: 13px;
}

.gd-footer {
  background: #0b0907;
  color: rgba(244, 239, 231, 0.66);
  border-top: 1px solid rgba(244, 239, 231, 0.1);
}

.gd-footer__inner {
  display: grid;
  grid-template-columns: 1.2fr 0.7fr 0.9fr 0.6fr;
  gap: 60px;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 64px 0;
}

.gd-footer__logo {
  width: 270px;
  margin-bottom: 22px;
}

.gd-footer strong,
.gd-footer a,
.gd-footer span {
  display: block;
}

.gd-footer strong {
  margin-bottom: 18px;
  color: var(--gd-bone);
}

.gd-footer a,
.gd-footer span,
.gd-footer p {
  margin: 8px 0;
  color: rgba(244, 239, 231, 0.62);
  line-height: 1.6;
}

@keyframes gdFlowOne {
  0% { transform: translateX(-3%) translateY(-2%) rotate(0deg) scale(1); }
  100% { transform: translateX(4%) translateY(3%) rotate(7deg) scale(1.06); }
}

@keyframes gdFlowTwo {
  0% { transform: translateX(7%) translateY(2%) skewX(0deg); opacity: 0.38; }
  100% { transform: translateX(-4%) translateY(-3%) skewX(-8deg); opacity: 0.72; }
}

@keyframes gdTrace {
  0% { stroke-dashoffset: 1400; opacity: 0; }
  18% { opacity: 1; }
  56% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: -1400; opacity: 0.24; }
}

@keyframes gdFloatGeo {
  0% { transform: translate3d(0, 0, 0) rotate(-7deg); }
  100% { transform: translate3d(-22px, 18px, 0) rotate(-3deg); }
}

@keyframes gdFloatGeoFront {
  0% { transform: translate3d(22px, 0, 0) rotate(-7deg); }
  100% { transform: translate3d(-12px, 28px, 0) rotate(-11deg); }
}

@keyframes gdPlanDrift {
  0% { background-position: 0 0; }
  100% { background-position: 720px 720px; }
}

@keyframes gdParticle {
  0% { transform: translate3d(0, 0, 0) rotate(45deg) scale(1); opacity: 0.25; }
  100% { transform: translate3d(18px, -28px, 0) rotate(45deg) scale(1.45); opacity: 0.82; }
}

@media (max-width: 1600px) {
  .gd-nav {
    grid-template-columns: 240px minmax(0, 1fr) 210px;
  }

  .gd-nav__links {
    gap: clamp(16px, 1.7vw, 28px);
  }

  .gd-nav__actions {
    gap: 12px;
  }

  .gd-lang {
    display: none;
  }

  .gd-nav__actions .gd-btn {
    padding-inline: 18px;
    font-size: 13px;
  }
}

@media (max-width: 1280px) {
  .gd-nav {
    grid-template-columns: 190px 1fr;
    width: calc(100% - 32px);
  }

  .gd-nav__links {
    gap: 24px;
  }

  .gd-nav__actions { display: none; }

  .gd-nav__brand img {
    width: 206px;
  }

  .gd-hero__content {
    width: calc(100% - 128px);
  }

  .gd-hero h1 {
    font-size: 92px;
  }

  .gd-section__head h2,
  .gd-airbnb h2,
  .gd-contact h2 {
    font-size: 56px;
  }

  .gd-service-grid,
  .gd-process {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 980px) {
  .gd-nav {
    grid-template-columns: 1fr auto;
    min-height: 62px;
  }

  .gd-nav__links {
    position: absolute;
    top: 68px;
    right: 0;
    left: 0;
    display: flex;
    justify-content: flex-start;
    gap: 24px;
    padding: 0 18px;
    overflow-x: auto;
    border: 1px solid rgba(244, 239, 231, 0.1);
    border-radius: 8px;
    background: rgba(16, 13, 10, 0.94);
    scrollbar-width: none;
  }

  .gd-nav__links::-webkit-scrollbar { display: none; }
  .gd-nav__links a { flex: 0 0 auto; padding: 15px 0; }
  .gd-nav__links a + a::before { left: -12px; }
  .gd-nav__links a::after { bottom: 10px; }
  .gd-lang { display: none; }

  .gd-nav__actions {
    gap: 0;
  }

  .gd-nav__actions .gd-btn {
    display: none;
  }

  .gd-mobile-cta {
    position: fixed;
    right: 16px;
    bottom: 16px;
    left: 16px;
    z-index: 60;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 56px;
    border-radius: 8px;
    background: var(--gd-bone);
    color: #201914;
    font-size: 15px;
    font-weight: 850;
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.32);
  }

  .gd-nav .gd-btn {
    min-height: 42px;
    padding: 0 16px;
    font-size: 13px;
  }

  .gd-nav__brand img {
    width: 194px;
  }

  .gd-hero__content {
    width: calc(100% - 48px);
    padding-top: 176px;
  }

  .gd-hero h1 {
    font-size: 68px;
  }

  .gd-hero__lead {
    font-size: 19px;
  }

  .gd-hero__side {
    display: none;
  }

  .gd-geo {
    width: 720px;
    right: -260px;
    bottom: 40px;
  }

  .gd-strip,
  .gd-work-grid,
  .gd-airbnb,
  .gd-contact,
  .gd-section__head--split,
  .gd-footer__inner {
    grid-template-columns: 1fr;
  }

  .gd-strip {
    grid-template-columns: 1fr 1fr;
  }

  .gd-section {
    padding: 82px 24px;
  }

  .gd-work-card {
    min-height: 380px;
  }
}

@media (max-width: 640px) {
  .gd-nav {
    top: 10px;
    width: calc(100% - 20px);
    grid-template-columns: 1fr;
    min-height: 58px;
    padding: 0 12px;
  }

  .gd-nav__brand img {
    width: 168px;
    margin: 0 auto;
  }

  .gd-hero {
    min-height: auto;
  }

  .gd-hero__content {
    width: calc(100% - 32px);
    padding-top: 118px;
    padding-bottom: 42px;
  }

  .gd-kicker {
    max-width: 100%;
    margin-bottom: 26px;
    padding: 10px 12px;
    font-size: 10px;
    line-height: 1.35;
    white-space: normal;
  }

  .gd-hero h1 {
    font-size: 43px;
    line-height: 1;
  }

  .gd-hero__lead {
    max-width: 340px;
    margin-top: 22px;
    font-size: 18px;
    line-height: 1.42;
  }

  .gd-hero__quick {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 18px;
  }

  .gd-hero__quick li {
    min-height: 42px;
    padding: 10px 11px;
    border-radius: 7px;
    font-size: 12px;
    text-align: center;
  }

  .gd-hero__actions {
    gap: 10px;
    margin-top: 28px;
  }

  .gd-btn--xl {
    width: 100%;
    min-height: 52px;
    padding: 0 18px;
    font-size: 15px;
  }

  .gd-hero__metrics,
  .gd-strip,
  .gd-service-grid,
  .gd-process,
  .gd-form {
    grid-template-columns: 1fr;
  }

  .gd-hero__metrics {
    grid-template-columns: repeat(3, 1fr);
    margin-top: 30px;
  }

  .gd-hero__metrics div {
    padding: 14px 10px;
    text-align: center;
  }

  .gd-hero__metrics strong {
    font-size: 30px;
  }

  .gd-hero__metrics span {
    font-size: 11px;
    line-height: 1.25;
  }

  .gd-strip div {
    min-height: auto;
    padding: 22px 20px;
  }

  .gd-strip strong {
    font-size: 24px;
  }

  .gd-section {
    padding: 58px 16px;
  }

  .gd-section__head h2,
  .gd-airbnb h2,
  .gd-contact h2 {
    font-size: 36px;
    line-height: 1.04;
  }

  .gd-service-card,
  .gd-process div {
    min-height: auto;
    padding: 22px;
  }

  .gd-service-card h3,
  .gd-process h3 {
    margin: 18px 0 10px;
    font-size: 28px;
  }

  .gd-service-card p,
  .gd-process p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  .gd-work-card {
    min-height: 255px;
  }

  .gd-work-card h3 {
    font-size: 30px;
  }

  .gd-airbnb,
  .gd-contact {
    gap: 28px;
  }

  .gd-airbnb li {
    min-height: auto;
    padding: 20px;
  }

  .gd-quote {
    padding: 62px 20px;
  }

  .gd-quote blockquote {
    font-size: 34px;
  }

  .gd-footer {
    padding-bottom: 76px;
  }
}

/* Scroll-linked architectural story */
.gd-story {
  --gd-turn: -34deg;
  --gd-tilt: 62deg;
  --gd-roll: -8deg;
  --gd-lift: 0px;
  --gd-slide: 0px;
  --gd-spread: 0px;
  position: relative;
  isolation: isolate;
  background: #0c0b0a;
}

.gd-kinetic {
  position: sticky;
  top: 0;
  z-index: 0;
  height: 100svh;
  margin-bottom: -100svh;
  overflow: hidden;
  pointer-events: none;
  background:
    radial-gradient(circle at 76% 48%, rgba(185, 138, 77, 0.16), transparent 26%),
    linear-gradient(90deg, transparent 0 55%, rgba(16, 13, 10, 0.96) 76%);
}

.gd-kinetic::before,
.gd-kinetic::after {
  content: "";
  position: absolute;
  inset: 0;
}

.gd-kinetic::before {
  opacity: 0.22;
  background-image:
    linear-gradient(rgba(212, 170, 105, 0.14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(212, 170, 105, 0.14) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(90deg, transparent 48%, #000 68%);
}

.gd-kinetic::after {
  border: 1px solid rgba(212, 170, 105, 0.12);
  clip-path: polygon(60% 12%, 92% 12%, 92% 88%, 60% 88%, 60% 87.8%, 91.8% 87.8%, 91.8% 12.2%, 60% 12.2%);
}

.gd-kinetic__viewport {
  position: absolute;
  top: 50%;
  left: 75%;
  width: 420px;
  height: 520px;
  transform: translate(-50%, -50%);
  perspective: 1450px;
  perspective-origin: 50% 45%;
}

.gd-building {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 280px;
  height: 380px;
  transform-style: preserve-3d;
  transform:
    translate3d(calc(-50% + var(--gd-slide)), calc(-50% + var(--gd-lift)), 0)
    rotateX(var(--gd-tilt))
    rotateY(var(--gd-turn))
    rotateZ(var(--gd-roll));
  will-change: transform;
}

.gd-building__face,
.gd-building__slab,
.gd-building__core {
  position: absolute;
  display: block;
  border: 1px solid rgba(255, 225, 173, 0.42);
  transform-style: preserve-3d;
  backface-visibility: visible;
}

.gd-building__face {
  background:
    linear-gradient(115deg, rgba(255,255,255,0.14), transparent 34%),
    repeating-linear-gradient(90deg, transparent 0 44px, rgba(255, 229, 182, 0.16) 44px 45px),
    linear-gradient(145deg, rgba(190, 139, 74, 0.82), rgba(42, 28, 18, 0.86));
  box-shadow: inset 0 0 45px rgba(255, 225, 173, 0.05);
}

.gd-building__face--front,
.gd-building__face--back {
  inset: 0;
}

.gd-building__face--front { transform: translateZ(110px); }
.gd-building__face--back { transform: rotateY(180deg) translateZ(110px); }

.gd-building__face--left,
.gd-building__face--right {
  top: 0;
  left: 30px;
  width: 220px;
  height: 380px;
}

.gd-building__face--left { transform: rotateY(-90deg) translateZ(140px); }
.gd-building__face--right { transform: rotateY(90deg) translateZ(140px); }

.gd-building__face--top,
.gd-building__face--bottom {
  top: 80px;
  left: 0;
  width: 280px;
  height: 220px;
}

.gd-building__face--top { transform: rotateX(90deg) translateZ(190px); }
.gd-building__face--bottom { transform: rotateX(-90deg) translateZ(190px); }

.gd-building__slab {
  left: -38px;
  width: 356px;
  height: 270px;
  background: rgba(208, 159, 94, 0.14);
  box-shadow: 0 0 36px rgba(185, 138, 77, 0.12);
}

.gd-building__slab--one {
  top: 40px;
  transform: rotateX(90deg) translateZ(calc(94px + var(--gd-spread)));
}

.gd-building__slab--two {
  top: 52px;
  transform: rotateX(90deg) translateZ(calc(-24px - var(--gd-spread)));
}

.gd-building__slab--three {
  top: 66px;
  transform: rotateX(90deg) translateZ(calc(-146px - var(--gd-spread)));
}

.gd-building__core {
  inset: 54px 64px;
  transform: translateZ(132px);
  border-width: 2px;
  background: rgba(16, 13, 10, 0.42);
  box-shadow: 0 0 60px rgba(255, 194, 104, 0.22);
}

.gd-kinetic__orbit {
  position: absolute;
  top: 50%;
  left: 75%;
  width: min(44vw, 660px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%) rotate(calc(var(--gd-turn) * 0.18));
  border: 1px solid rgba(212, 170, 105, 0.18);
  border-radius: 50%;
}

.gd-kinetic__orbit::before,
.gd-kinetic__orbit::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(212, 170, 105, 0.12);
  border-radius: 50%;
}

.gd-kinetic__orbit::before { inset: 12%; }
.gd-kinetic__orbit::after { inset: 28%; }

.gd-kinetic__readout {
  position: absolute;
  right: 5vw;
  bottom: 5vh;
  display: flex;
  align-items: end;
  gap: 18px;
  color: rgba(244, 239, 231, 0.48);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.18em;
}

.gd-kinetic__readout b {
  color: var(--gd-bronze-2);
  font-family: var(--gd-font-serif);
  font-size: 70px;
  font-weight: 500;
  line-height: 0.8;
  letter-spacing: -0.05em;
}

@supports (animation-timeline: view()) {
  .gd-story {
    view-timeline-name: --gd-story;
    view-timeline-axis: block;
  }

  .gd-building,
  .gd-building__slab,
  .gd-kinetic__orbit {
    animation-duration: 1ms;
    animation-timing-function: linear;
    animation-fill-mode: both;
    animation-timeline: --gd-story;
    animation-range: contain 0% contain 100%;
  }

  .gd-building { animation-name: gdBuildingScrub; }
  .gd-building__slab--one { animation-name: gdSlabOneScrub; }
  .gd-building__slab--two { animation-name: gdSlabTwoScrub; }
  .gd-building__slab--three { animation-name: gdSlabThreeScrub; }
  .gd-kinetic__orbit { animation-name: gdOrbitScrub; }
}

@keyframes gdBuildingScrub {
  0% {
    transform: translate3d(calc(-50% - 55px), -50%, 0) rotateX(58deg) rotateY(-28deg) rotateZ(-6deg);
  }
  25% {
    transform: translate3d(calc(-50% - 28px), calc(-50% - 28px), 0) rotateX(48deg) rotateY(32deg) rotateZ(-2deg);
  }
  50% {
    transform: translate3d(-50%, calc(-50% + 24px), 0) rotateX(36deg) rotateY(91deg) rotateZ(4deg);
  }
  75% {
    transform: translate3d(calc(-50% + 28px), calc(-50% - 18px), 0) rotateX(24deg) rotateY(151deg) rotateZ(-3deg);
  }
  100% {
    transform: translate3d(calc(-50% + 55px), -50%, 0) rotateX(12deg) rotateY(210deg) rotateZ(0deg);
  }
}

@keyframes gdSlabOneScrub {
  0%, 100% { transform: rotateX(90deg) translateZ(94px); }
  50% { transform: rotateX(90deg) translateZ(122px); }
}

@keyframes gdSlabTwoScrub {
  0%, 100% { transform: rotateX(90deg) translateZ(-24px); }
  50% { transform: rotateX(90deg) translateZ(-52px); }
}

@keyframes gdSlabThreeScrub {
  0%, 100% { transform: rotateX(90deg) translateZ(-146px); }
  50% { transform: rotateX(90deg) translateZ(-174px); }
}

@keyframes gdOrbitScrub {
  from { transform: translate(-50%, -50%) rotate(-5deg); }
  to { transform: translate(-50%, -50%) rotate(32deg); }
}

.gd-story > .gd-section,
.gd-story > .gd-quote {
  position: relative;
  z-index: 1;
  min-height: 100svh;
  scroll-margin-top: 96px;
}

.gd-story > .gd-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 11vh 45vw 11vh 6vw;
  border-bottom: 1px solid rgba(212, 170, 105, 0.14);
}

.gd-story .gd-section--bone {
  background: linear-gradient(90deg, #f4efe7 0 51%, rgba(244, 239, 231, 0.97) 58%, rgba(244, 239, 231, 0.06) 78%);
}

.gd-story .gd-section--dark {
  background: linear-gradient(90deg, #11100f 0 51%, rgba(17, 16, 15, 0.97) 58%, rgba(17, 16, 15, 0.08) 78%);
}

.gd-story .gd-section--bronze {
  background: linear-gradient(90deg, #b98a4d 0 49%, rgba(143, 77, 55, 0.96) 58%, rgba(143, 77, 55, 0.08) 78%);
}

.gd-story .gd-section__head,
.gd-story .gd-service-grid,
.gd-story .gd-work-grid,
.gd-story .gd-airbnb,
.gd-story .gd-process {
  width: 100%;
  max-width: 850px;
  margin-right: 0;
  margin-left: 0;
}

.gd-story .gd-section__head {
  margin-bottom: 5vh;
}

.gd-story .gd-section__head h2,
.gd-story .gd-airbnb h2 {
  max-width: 760px;
  font-size: clamp(48px, 5.2vw, 86px);
  line-height: 0.92;
  letter-spacing: -0.035em;
}

.gd-story [data-gd-chapter]::before {
  content: attr(data-gd-chapter) " / 05";
  position: absolute;
  top: 7vh;
  left: 6vw;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.2em;
  opacity: 0.5;
}

.gd-service-grid {
  display: block;
  border-top: 1px solid var(--gd-line-dark);
}

.gd-service-card,
.gd-process div {
  position: relative;
  min-height: 0;
  padding: 22px 0 22px 84px;
  border: 0;
  border-bottom: 1px solid var(--gd-line-dark);
  border-radius: 0;
  background: transparent;
  transition: padding-left 0.25s ease;
}

.gd-service-card--dark,
.gd-service-card--dark:hover,
.gd-service-card:hover,
.gd-process div:hover {
  transform: none;
  background: transparent;
}

.gd-service-card:hover,
.gd-process div:hover {
  padding-left: 96px;
}

.gd-service-card > span,
.gd-process div > span {
  position: absolute;
  top: 27px;
  left: 0;
  font-size: 11px;
  letter-spacing: 0.12em;
}

.gd-service-card h3,
.gd-process h3 {
  margin: 0 0 8px;
  font-family: var(--gd-font-serif);
  font-size: clamp(25px, 2vw, 34px);
  font-weight: 600;
}

.gd-service-card p,
.gd-process p {
  max-width: 680px;
}

.gd-service-card--dark {
  color: #1f1711;
}

.gd-work-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid rgba(244, 239, 231, 0.16);
}

.gd-work-card {
  min-height: 170px;
  border: 0;
  border-bottom: 1px solid rgba(244, 239, 231, 0.16);
  border-radius: 0;
  background: transparent;
}

.gd-work-card::before {
  opacity: 0.52;
  filter: saturate(0.5);
  clip-path: polygon(60% 0, 100% 0, 100% 100%, 42% 100%);
}

.gd-work-card:hover::before {
  transform: translateX(2%) scale(1.04);
  filter: saturate(0.85);
}

.gd-work-card div {
  inset: auto 20px 24px 0;
  max-width: 560px;
}

.gd-work-card h3 {
  font-size: clamp(30px, 3vw, 48px);
}

.gd-airbnb {
  display: block;
}

.gd-airbnb > div > p:last-child {
  max-width: 700px;
  margin-bottom: 42px;
}

.gd-airbnb ul {
  gap: 0;
  border-top: 1px solid rgba(16, 13, 10, 0.25);
}

.gd-airbnb li {
  display: grid;
  grid-template-columns: 0.8fr 1fr;
  align-items: baseline;
  min-height: 0;
  padding: 22px 0;
  border: 0;
  border-bottom: 1px solid rgba(16, 13, 10, 0.25);
  border-radius: 0;
  background: transparent;
}

.gd-airbnb strong { font-size: 26px; }

.gd-process {
  display: block;
  border-top: 1px solid var(--gd-line-dark);
}

.gd-quote {
  display: grid;
  place-content: center;
  min-height: 100svh;
  padding: 12vh 14vw;
  background: linear-gradient(90deg, rgba(16, 13, 10, 0.98) 0 55%, rgba(16, 13, 10, 0.7));
  text-align: left;
}

.gd-quote::before {
  animation: none;
  opacity: 0.18;
}

.gd-quote blockquote {
  max-width: 1200px;
  font-size: clamp(54px, 7vw, 112px);
  line-height: 0.92;
  letter-spacing: -0.04em;
}

.gd-section--contact {
  padding: 130px 7vw;
  background: #15100c;
  color: var(--gd-bone);
  border-top: 1px solid rgba(212, 170, 105, 0.2);
}

.gd-contact {
  width: min(1380px, 100%);
  grid-template-columns: 0.8fr 1.2fr;
  gap: 9vw;
  align-items: center;
}

.gd-contact h2 {
  font-size: clamp(52px, 6vw, 92px);
  line-height: 0.92;
}

.gd-form {
  gap: 26px 20px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.gd-form input,
.gd-form select,
.gd-form textarea {
  border: 0;
  border-bottom: 1px solid rgba(244, 239, 231, 0.24);
  border-radius: 0;
  background: transparent;
  color: var(--gd-bone);
}

.gd-form select option { color: #17110c; }
.gd-form label span { color: var(--gd-bronze-2); }
.gd-form__note { color: rgba(244, 239, 231, 0.56); }

.gd-form input:focus,
.gd-form select:focus,
.gd-form textarea:focus {
  border-color: var(--gd-bronze-2);
  box-shadow: none;
}

@media (max-width: 980px) {
  .gd-kinetic {
    opacity: 0.48;
    background: linear-gradient(90deg, transparent, rgba(16, 13, 10, 0.82));
  }

  .gd-kinetic__viewport,
  .gd-kinetic__orbit {
    left: 82%;
  }

  .gd-story > .gd-section {
    padding: 10vh 25vw 10vh 5vw;
  }

  .gd-story .gd-section--bone,
  .gd-story .gd-section--dark,
  .gd-story .gd-section--bronze {
    background: linear-gradient(90deg, var(--gd-obsidian) 0 68%, rgba(16, 13, 10, 0.42));
    color: var(--gd-bone);
  }

  .gd-service-card,
  .gd-service-card--dark,
  .gd-process div { color: var(--gd-bone); border-color: rgba(244,239,231,.16); }
  .gd-service-grid,
  .gd-process { border-color: rgba(244,239,231,.16); }
  .gd-airbnb ul,
  .gd-airbnb li { border-color: rgba(244,239,231,.18); }
}

@media (max-width: 640px) {
  .gd-kinetic {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0.24;
  }

  .gd-kinetic__viewport {
    position: sticky;
    top: 26vh;
    left: 76%;
    width: 290px;
    height: 360px;
    transform: translate(-50%, 0) scale(0.68);
    transform-origin: top center;
  }

  .gd-kinetic__orbit,
  .gd-kinetic__readout { display: none; }

  .gd-story > .gd-section {
    min-height: auto;
    padding: 88px 18px;
    background: rgba(16, 13, 10, 0.92) !important;
    color: var(--gd-bone) !important;
  }

  .gd-story [data-gd-chapter]::before {
    top: 40px;
    left: 18px;
  }

  .gd-story .gd-section__head h2,
  .gd-story .gd-airbnb h2 {
    font-size: 43px;
  }

  .gd-service-card,
  .gd-process div {
    padding-left: 58px;
  }

  .gd-service-card:hover,
  .gd-process div:hover { padding-left: 58px; }

  .gd-service-card p,
  .gd-process p {
    display: block;
    overflow: visible;
  }

  .gd-airbnb li {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .gd-quote {
    min-height: 82svh;
    padding: 90px 20px;
  }

  .gd-section--contact { padding: 86px 18px; }
  .gd-contact { grid-template-columns: 1fr; gap: 48px; }
  .gd-form { grid-template-columns: 1fr; }
  .gd-form__wide { grid-column: auto; }
}

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

/* Websites reference redesign: dark, bronze, direct and readable. */
.gd-web-site,
.gd-web-nav,
.gd-web-footer {
  --web-black: #050a0f;
  --web-panel: #0d1318;
  --web-panel-2: #13191e;
  --web-gold: #d09a48;
  --web-gold-light: #ebb75f;
  --web-text: #f5f4f1;
  --web-muted: #a8afb5;
  --web-line: rgba(255, 255, 255, 0.12);
}

.gd-web-site {
  background: var(--web-black);
  color: var(--web-text);
}

.gd-web-nav {
  top: 0;
  left: 0;
  grid-template-columns: 250px minmax(0, 1fr) 296px;
  width: 100%;
  min-height: 92px;
  padding: 0 38px;
  transform: none;
  border: 0;
  border-bottom: 1px solid var(--web-line);
  border-radius: 0;
  background: rgba(5, 10, 15, 0.95);
  color: var(--web-text);
  box-shadow: none;
  backdrop-filter: blur(16px);
}

.gd-web-nav__brand {
  width: 205px;
  padding-bottom: 11px;
}

.gd-web-nav__brand img {
  width: 205px;
  filter: brightness(1.5) contrast(1.08);
}

.gd-web-nav__brand small {
  right: 6px;
  bottom: -1px;
  color: var(--web-gold-light);
  font-size: 9px;
}

.gd-web-nav nav {
  gap: clamp(18px, 2vw, 36px);
  color: #e9e9e6;
  font-size: 13px;
  font-weight: 650;
}

.gd-web-nav nav a { transition: color .2s ease; }
.gd-web-nav nav a:hover { color: var(--web-gold-light); }
.gd-web-nav > .gd-web-button { justify-self: end; min-height: 52px; }

.gd-web-button--nav {
  width: 100%;
  max-width: 296px;
  justify-content: space-between;
  padding: 0 20px;
}

.gd-web-button--nav svg {
  width: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gd-web-button--nav b { font-size: 20px; font-weight: 500; }
.gd-web-button__mobile { display: none; }

.gd-web-menu { display: none; }

.gd-web-button {
  gap: 18px;
  white-space: nowrap;
  border-radius: 7px;
  background: linear-gradient(135deg, var(--web-gold), var(--web-gold-light));
  color: #0a0c0e;
  box-shadow: 0 14px 40px rgba(208, 154, 72, 0.2);
}

.gd-web-hero {
  display: grid;
  grid-template-columns: minmax(480px, 1fr) minmax(500px, .95fr) minmax(245px, .43fr);
  grid-template-rows: auto auto;
  gap: 24px 20px;
  min-height: 730px;
  padding: 128px 3vw 42px;
  background:
    radial-gradient(circle at 61% 42%, rgba(36, 69, 93, 0.28), transparent 28%),
    radial-gradient(circle at 17% 42%, rgba(208, 154, 72, 0.06), transparent 30%),
    linear-gradient(135deg, #061019 0%, #04080c 68%);
}

.gd-web-hero::before {
  opacity: .12;
  background-size: 64px 64px;
}

.gd-web-hero::after { display: none; }

.gd-web-hero__copy {
  grid-column: 1;
  grid-row: 1;
  align-self: end;
  max-width: 620px;
}

.gd-web-eyebrow {
  margin: 0;
  color: var(--web-gold-light);
  font-size: 12px;
  letter-spacing: .16em;
}

.gd-web-hero h1 {
  max-width: 620px;
  margin: 22px 0 18px;
  font-size: clamp(56px, 4.15vw, 72px);
  line-height: .96;
}

.gd-web-hero h1 em { color: var(--web-gold); }

.gd-web-rule {
  display: block;
  width: 58px;
  height: 2px;
  margin: 26px 0;
  background: var(--web-gold);
}

.gd-web-lead {
  max-width: 570px;
  margin: 0;
  color: #c5c8ca;
  font-size: clamp(16px, 1.1vw, 19px);
  line-height: 1.62;
}

.gd-web-cta-note {
  margin: 16px 0 0;
  color: var(--web-gold-light);
  font-size: 14px;
  font-weight: 700;
}

.gd-web-actions { margin-top: 28px; }
.gd-web-urgency {
  margin: 14px 0 0;
  color: #f0dfb9;
  font-size: 13px;
  font-weight: 600;
}
.gd-web-button--large { min-height: 60px; padding: 0 28px; }

.gd-web-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  min-height: 60px;
  padding: 0 28px;
  border: 1px solid var(--web-gold);
  border-radius: 7px;
  color: var(--web-text);
  font-weight: 800;
}

.gd-web-outline span { color: var(--web-gold-light); }

.gd-web-facts {
  position: relative;
  z-index: 3;
  grid-column: 1;
  grid-row: 2;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-self: start;
  border: 1px solid var(--web-line);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.025);
}

.gd-web-facts div {
  display: grid;
  grid-template-columns: 30px 1fr;
  align-items: center;
  gap: 10px;
  min-height: 76px;
  padding: 14px;
  border-right: 1px solid var(--web-line);
}

.gd-web-facts div:last-child { border-right: 0; }
.gd-web-facts svg { width: 24px; fill: none; stroke: var(--web-gold-light); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.gd-web-facts span { color: #d4d5d4; font-size: 11px; line-height: 1.45; }

.gd-web-visual {
  position: relative;
  z-index: 2;
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  height: 560px;
  perspective: 1500px;
}

.gd-web-visual__glow {
  position: absolute;
  inset: 12% 5%;
  border-radius: 50%;
  background: rgba(37, 86, 122, .2);
  filter: blur(80px);
}

.gd-web-laptop {
  position: absolute;
  top: 47%;
  left: 50%;
  width: 590px;
  max-width: 40vw;
  transform: translate(-50%, -50%) rotateX(calc(3deg + var(--gd-ty, 0deg))) rotateY(calc(-5deg + var(--gd-tx, 0deg))) rotateZ(-.5deg);
  transform-style: preserve-3d;
  transition: transform .3s ease-out;
}

.gd-web-laptop__screen {
  aspect-ratio: 1.56;
  overflow: hidden;
  border: 11px solid #15191c;
  border-radius: 18px 18px 8px 8px;
  background: #f7f5f0;
  box-shadow: 0 40px 90px rgba(0, 0, 0, .58), 0 0 0 1px rgba(255, 255, 255, .2);
}

.gd-web-demo-screen {
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
}

.gd-web-demo-screen--desktop {
  padding: 26px 28px;
  background:
    radial-gradient(circle at top right, rgba(235,183,95,.26), transparent 28%),
    linear-gradient(160deg, #fbf2df 0%, #fff8ec 45%, #f0e3c8 100%);
  color: #181512;
}

.gd-web-demo-top {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #5c4a28;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
}

.gd-web-demo-top b {
  color: #17120d;
  font-size: 19px;
  letter-spacing: .04em;
}

.gd-web-demo-top i {
  margin-left: auto;
  padding: 7px 12px;
  border-radius: 999px;
  background: #17120d;
  color: #f8edd6;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0;
}

.gd-web-demo-photo {
  position: relative;
  margin-top: 18px;
  overflow: hidden;
  border-radius: 18px;
  box-shadow: 0 18px 34px rgba(19, 15, 10, .18);
}

.gd-web-demo-photo img {
  display: block;
  width: 100%;
  height: 160px;
  object-fit: cover;
}

.gd-web-demo-chip {
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
  background: rgba(14, 17, 21, .72);
  color: #fff6e5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  backdrop-filter: blur(10px);
}

.gd-web-demo-screen--desktop h3 {
  margin: 22px 0 12px;
  max-width: 360px;
  font-size: 42px;
  line-height: .95;
  letter-spacing: -.05em;
}

.gd-web-demo-screen--desktop p {
  max-width: 410px;
  margin: 0;
  color: #473f33;
  font-size: 16px;
  line-height: 1.55;
}

.gd-web-demo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: auto;
  padding-top: 28px;
}

.gd-web-demo-grid span {
  padding: 16px 12px;
  border: 1px solid rgba(75, 61, 34, .18);
  border-radius: 14px;
  background: rgba(255,255,255,.58);
  color: #271f16;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

.gd-web-demo-screen--mobile {
  position: relative;
  justify-content: flex-end;
  padding: 20px 14px 18px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(12,15,20,.04), rgba(12,15,20,.88));
  color: #fff7e8;
}

.gd-web-demo-mobile-photo {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(12,15,20,.04), rgba(12,15,20,.88)),
    url('/wordpress-theme/giorgaras-development/assets/img/mockup-rhodes-hospitality.webp') center/cover no-repeat;
}

.gd-web-demo-screen--mobile b {
  position: relative;
  font-size: 15px;
  letter-spacing: .02em;
}

.gd-web-demo-screen--mobile h3 {
  position: relative;
  margin: 8px 0 6px;
  font-size: 24px;
  line-height: 1;
  letter-spacing: -.04em;
}

.gd-web-demo-screen--mobile p {
  position: relative;
  margin: 0;
  color: rgba(255,247,232,.9);
  font-size: 11px;
  line-height: 1.4;
}

.gd-web-demo-screen--mobile span {
  position: relative;
  margin-top: 12px;
  color: #f3cb82;
  font-size: 11px;
  font-weight: 800;
}

.gd-web-laptop__base {
  width: 112%;
  height: 20px;
  margin-left: -6%;
  transform: perspective(160px) rotateX(48deg);
  transform-origin: top;
  border-radius: 0 0 50% 50%;
  background: linear-gradient(#5e6265, #22272a);
  box-shadow: 0 16px 30px rgba(0, 0, 0, .42);
}

.gd-web-phone {
  position: absolute;
  right: -1%;
  bottom: 4%;
  z-index: 4;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 148px;
  height: 320px;
  padding: 0;
  overflow: hidden;
  border: 7px solid #171a1d;
  border-radius: 25px;
  background: #fff;
  box-shadow: 0 35px 55px rgba(0, 0, 0, .5);
  transform: rotateY(calc(-7deg - var(--gd-tx, 0deg))) rotateX(calc(var(--gd-ty, 0deg) * -1)) rotateZ(2deg);
  transition: transform .3s ease-out;
}

.gd-web-phone__top { position: absolute; top: 8px; left: 50%; z-index: 2; width: 42px; height: 7px; transform: translateX(-50%); border-radius: 10px; background: #050607; box-shadow: 0 0 0 1px rgba(255,255,255,.12); }

.gd-web-package {
  position: relative;
  z-index: 5;
  grid-column: 3;
  grid-row: 1 / 3;
  align-self: center;
  min-height: 585px;
  padding: 24px 22px;
  border: 1px solid rgba(208, 154, 72, .36);
  border-radius: 14px;
  isolation: isolate;
  background: linear-gradient(155deg, #171a1c, #0b0e10 72%);
  box-shadow: 0 30px 70px rgba(0, 0, 0, .48), inset 0 1px rgba(255,255,255,.04);
}

.gd-web-package > small { display: inline-block; padding: 5px 9px; border-radius: 20px; background: rgba(255, 255, 255, .08); font-size: 9px; }
.gd-web-package h2 { margin: 22px 0 5px; font-size: 25px; }
.gd-web-package > span { color: var(--web-muted); font-size: 10px; }
.gd-web-package hr { height: 1px; margin: 24px 0; border: 0; background: var(--web-line); }
.gd-web-package p { margin: 0 0 4px; color: #c9ccce; font-size: 12px; }
.gd-web-package > strong { display: block; color: var(--web-gold-light); font-size: 48px; letter-spacing: -.05em; }
.gd-web-package > strong i { color: #d8dadb; font-size: 11px; font-style: normal; font-weight: 500; letter-spacing: 0; }
.gd-web-package del { color: #8f9498; text-decoration-color: rgba(235,183,95,.65); }
.gd-web-package .gd-web-package__monthly { margin-top: 3px; color: #eee; font-size: 14px; line-height: 1.55; }
.gd-web-package__monthly b { font-size: 15px; }
.gd-web-package__monthly span { color: #c9ccce; font-size: 12px; }
.gd-web-package__scarcity {
  display: grid;
  gap: 6px;
  margin-top: 14px !important;
  padding: 12px 14px;
  border: 1px solid rgba(235,183,95,.22);
  border-radius: 12px;
  background: rgba(255,255,255,.035);
}
.gd-web-package__scarcity b {
  color: #fff4dc;
  font-size: 13px;
  letter-spacing: .02em;
}
.gd-web-package__scarcity span {
  color: #a9afb5;
  font-size: 11px;
  line-height: 1.45;
}
.gd-web-package ul { display: grid; gap: 10px; margin: 19px 0 22px; padding: 0; list-style: none; }
.gd-web-package li { color: #e2e3e2; font-size: 11px; line-height: 1.35; }
.gd-web-package li::before { content: "✓"; margin-right: 10px; color: var(--web-gold-light); }
.gd-web-package .gd-web-button { width: 100%; min-height: 48px; padding: 0 14px; font-size: 11px; }

.gd-web-clients {
  padding: 26px 5vw 34px;
  border-top: 1px solid var(--web-line);
  border-bottom: 1px solid var(--web-line);
  background: #060b10;
  text-align: center;
}

.gd-web-clients > p { margin: 0 0 22px; color: var(--web-gold-light); font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.gd-web-clients > div { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 22px clamp(34px, 6vw, 84px); }
.gd-web-logo { display: inline-flex; align-items: center; }
.gd-web-logo--text {
  flex-direction: column;
  gap: 6px;
  color: #f2f0eb;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(22px, 2.3vw, 42px);
  font-weight: 600;
  letter-spacing: .03em;
  line-height: .95;
  opacity: .9;
}
.gd-web-logo--text small {
  color: #a4aaaf;
  font-family: "Inter", sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .18em;
}
.gd-web-logo img { width: auto; opacity: .72; transition: opacity .2s; }
a.gd-web-logo:hover img { opacity: 1; }
.gd-web-logo--media img { height: 40px; }
.gd-web-logo--giorgaras img { height: 26px; }
.gd-web-logo--epipla img { height: 38px; }
.gd-web-logo--dromeas img { height: 30px; }
.gd-web-logo--golden img { height: 34px; }

.gd-web-quicklead {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: 30px;
  align-items: center;
  padding: 48px 7vw 56px;
  background: linear-gradient(180deg, #060b10, #0d141a);
}

.gd-web-quicklead__copy > span {
  color: var(--web-gold-light);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
}

.gd-web-quicklead__copy h2 {
  max-width: 620px;
  margin: 16px 0 16px;
  font-size: clamp(36px, 4vw, 58px);
  line-height: .98;
  letter-spacing: -.05em;
}

.gd-web-quicklead__copy p {
  max-width: 560px;
  margin: 0;
  color: var(--web-muted);
  font-size: 16px;
  line-height: 1.65;
}

.gd-web-quicklead__links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.gd-web-quicklead__links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 999px;
  color: #0b1116;
  font-size: 14px;
  font-weight: 700;
}

.gd-web-quicklead__links a:first-child {
  background: linear-gradient(135deg, #f4d9a0, #ebb75f);
}

.gd-web-quicklead__links a:last-child {
  background: linear-gradient(135deg, #43d17f, #1fa855);
  color: #f6fff8;
}

.gd-web-quicklead__form {
  display: grid;
  gap: 14px;
  padding: 28px;
  border-radius: 16px;
}

.gd-web-quicklead__form .gd-web-button {
  width: 100%;
  justify-content: space-between;
}

.gd-web-sticky-leads {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 80;
  display: grid;
  gap: 10px;
}

.gd-web-sticky-leads :is(a, summary) {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 52px;
  min-width: 208px;
  padding: 0 16px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  box-shadow: 0 20px 44px rgba(0,0,0,.35);
  backdrop-filter: blur(14px);
  cursor: pointer;
  list-style: none;
}

.gd-web-sticky-leads summary::-webkit-details-marker { display: none; }

.gd-web-sticky-leads span {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  font-size: 14px;
}

.gd-web-sticky-leads b {
  flex: 1;
  font-size: 14px;
  font-weight: 800;
}

.gd-web-sticky-leads__call,
.gd-web-sticky-leads__wa,
.gd-web-ai-widget summary {
  color: #071018;
}

.gd-web-sticky-leads__call {
  background: linear-gradient(135deg, #ffe0a6, #ebb75f);
}

.gd-web-sticky-leads__wa {
  background: linear-gradient(135deg, #47d982, #1aa751);
  color: #f7fff9;
}

.gd-web-ai-widget { position: relative; }

.gd-web-ai-widget summary {
  background: linear-gradient(135deg, #7ee7d2, #29b6a3);
}

.gd-web-ai-widget[open] summary {
  box-shadow: 0 0 0 2px rgba(126,231,210,.28), 0 20px 44px rgba(0,0,0,.35);
}

.gd-web-ai-panel {
  position: absolute;
  right: 0;
  bottom: calc(100% + 12px);
  display: grid;
  gap: 14px;
  width: min(370px, calc(100vw - 36px));
  padding: 18px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(12,17,22,.98), rgba(8,12,16,.98));
  color: var(--web-text);
  box-shadow: 0 28px 80px rgba(0,0,0,.55);
}

.gd-web-ai-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.gd-web-ai-panel__head strong,
.gd-web-ai-panel__head small {
  display: block;
}

.gd-web-ai-panel__head strong {
  color: #fff;
  font-size: 16px;
}

.gd-web-ai-panel__head small {
  margin-top: 3px;
  color: #8fe9d8;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.gd-web-ai-panel__body {
  display: grid;
  gap: 10px;
}

.gd-web-ai-panel__msg {
  max-width: 92%;
  margin: 0;
  padding: 12px 14px;
  border-radius: 16px;
  font-size: 13px;
  line-height: 1.45;
}

.gd-web-ai-panel__msg--bot {
  background: rgba(255,255,255,.065);
  color: #eef2f4;
}

.gd-web-ai-panel__msg--user {
  justify-self: end;
  background: linear-gradient(135deg, rgba(126,231,210,.25), rgba(41,182,163,.16));
  color: #dffbf5;
}

.gd-web-ai-panel__suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gd-web-ai-panel__suggestions button {
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid rgba(126,231,210,.24);
  border-radius: 999px;
  background: rgba(126,231,210,.08);
  color: #dffbf5;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
}

.gd-web-ai-panel__input {
  display: grid;
  grid-template-columns: 1fr 44px;
  gap: 10px;
}

.gd-web-ai-panel__input input,
.gd-web-ai-panel__input button {
  min-height: 46px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
}

.gd-web-ai-panel__input input {
  min-width: 0;
  padding: 0 13px;
  background: rgba(255,255,255,.045);
  color: #fff;
  font: inherit;
}

.gd-web-ai-panel__input button {
  background: linear-gradient(135deg, #7ee7d2, #29b6a3);
  color: #071018;
  font: inherit;
  font-weight: 900;
}

.gd-web-sticky-leads__preview {
  background: linear-gradient(135deg, var(--web-gold), var(--web-gold-light));
  color: #081018;
}

.gd-web-next {
  display: grid;
  gap: 12px;
  margin-top: 30px;
}

.gd-web-next > div {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
  box-shadow: inset 0 1px rgba(255,255,255,.06);
}

.gd-web-next b {
  display: grid;
  place-items: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(208,154,72,.16);
  color: var(--web-gold-light);
  font-size: 14px;
}

.gd-web-next strong {
  display: block;
  margin-bottom: 4px;
  color: #eff2f4;
  font-size: 14.5px;
}

.gd-web-next span {
  color: var(--web-muted);
  font-size: 12.5px;
  line-height: 1.55;
}

.gd-web-benefits {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  padding: 0 2vw;
  background: linear-gradient(180deg, #141a1f, #0e1419);
}

.gd-web-benefits article { min-height: 220px; padding: 42px 25px; border-right: 1px solid var(--web-line); text-align: center; }
.gd-web-benefits article:last-child { border-right: 0; }
.gd-web-benefits b { display: inline-flex; color: var(--web-gold-light); }
.gd-web-benefits b svg { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.gd-web-benefits h3 { margin: 23px 0 12px; color: var(--web-gold-light); font-size: 13px; }
.gd-web-benefits p { margin: 0; color: var(--web-muted); font-size: 12px; line-height: 1.6; }

.gd-web-mobile-results { display: none; }

.gd-web-portfolio { padding: 120px 7vw; background: #080d11; color: var(--web-text); }
.gd-web-portfolio__head span { color: var(--web-gold-light); }
.gd-web-portfolio__head h2 { max-width: 800px; }
.gd-web-portfolio__grid { border-color: var(--web-line); }
.gd-web-portfolio__grid a { border-color: var(--web-line); }
.gd-web-portfolio__grid a:hover { background: rgba(255, 255, 255, .045); }
.gd-web-portfolio__grid span, .gd-web-portfolio__grid small { color: var(--web-muted); }
.gd-web-portfolio__grid i { color: var(--web-gold-light); }

.gd-web-process-wrap { padding: 110px 7vw; background: #11171c; }
.gd-web-section-head { display: grid; grid-template-columns: .4fr 1fr; gap: 7vw; align-items: end; margin-bottom: 60px; }
.gd-web-section-head > span { color: var(--web-gold-light); font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.gd-web-section-head h2 { margin: 0; font-size: clamp(50px, 6vw, 88px); line-height: .92; letter-spacing: -.055em; }
.gd-web-process { background: var(--web-line); }
.gd-web-process div { background: #0b1014; }
.gd-web-process span { background: rgba(208, 154, 72, .12); color: var(--web-gold-light); }
.gd-web-process h3 { color: var(--web-text); }
.gd-web-process p { color: var(--web-muted); }

.gd-web-faq { display: grid; grid-template-columns: .85fr 1.15fr; gap: 8vw; padding: 110px 7vw; background: #080d11; }
.gd-web-faq .gd-web-section-head { display: block; margin: 0; }
.gd-web-faq .gd-web-section-head h2 { margin-top: 18px; }
.gd-web-faq details { border-top: 1px solid var(--web-line); }
.gd-web-faq details:last-child { border-bottom: 1px solid var(--web-line); }
.gd-web-faq summary { position: relative; padding: 28px 42px 28px 0; cursor: pointer; font-size: 18px; font-weight: 750; list-style: none; }
.gd-web-faq summary::-webkit-details-marker { display: none; }
.gd-web-faq summary::after { content: "+"; position: absolute; right: 4px; color: var(--web-gold-light); font-size: 25px; }
.gd-web-faq details[open] summary::after { content: "−"; }
.gd-web-faq details p { max-width: 680px; margin: 0 0 28px; color: var(--web-muted); line-height: 1.7; }

.gd-web-demo { background: linear-gradient(135deg, #111a21, #060b10); color: var(--web-text); }
.gd-web-demo > div > p:last-child { color: var(--web-muted); }
.gd-web-form { border: 1px solid var(--web-line); background: rgba(255, 255, 255, .04); box-shadow: 0 25px 80px rgba(0, 0, 0, .26); }
.gd-web-form label span, .gd-web-form p { color: var(--web-muted); }
.gd-web-form input { border-color: rgba(255, 255, 255, .16); background: #080d11; color: var(--web-text); }
.gd-web-footer { border-top: 1px solid var(--web-line); background: #05090d; }

/* Hero recede is driven by JS scroll handler (site.js heroParallax) for reliable, visible motion across browsers. */
.gd-web-visual { will-change: transform, opacity; transition: transform .1s linear, opacity .1s linear; }

@media (max-width: 1380px) {
  .gd-web-nav { grid-template-columns: 220px 1fr 210px; padding-inline: 24px; }
  .gd-web-nav nav { gap: 18px; font-size: 12px; }
  .gd-web-nav > .gd-web-button { padding-inline: 15px; font-size: 12px; }
  .gd-web-hero { grid-template-columns: minmax(430px, 1.05fr) minmax(350px, .8fr) 240px; padding-inline: 3vw; }
  .gd-web-laptop { width: 510px; }
  .gd-web-phone { right: -4%; }
  .gd-web-benefits { grid-template-columns: repeat(3, 1fr); }
  .gd-web-benefits article:nth-child(3) { border-right: 0; }
  .gd-web-benefits article:nth-child(-n+3) { border-bottom: 1px solid var(--web-line); }
}

@media (max-width: 980px) {
  .gd-web-nav { grid-template-columns: 1fr auto auto; min-height: 86px; padding-inline: 20px; }
  .gd-web-nav nav { display: none; }
  .gd-web-nav > .gd-web-button { display: inline-flex; min-height: 46px; padding: 0 14px; font-size: 11px; }
  .gd-web-nav__brand, .gd-web-nav__brand img { width: 200px; }
  .gd-web-menu { position: relative; display: block; margin-left: 16px; }
  .gd-web-menu summary { display: grid; gap: 6px; width: 44px; padding: 9px 5px; cursor: pointer; list-style: none; }
  .gd-web-menu summary::-webkit-details-marker { display: none; }
  .gd-web-menu summary i { display: block; width: 32px; height: 2px; background: #fff; transition: transform .2s ease, opacity .2s ease; }
  .gd-web-menu[open] summary i:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .gd-web-menu[open] summary i:nth-child(2) { opacity: 0; }
  .gd-web-menu[open] summary i:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
  .gd-web-menu > div { position: fixed; top: 86px; right: 0; left: 0; display: grid; gap: 0; padding: 14px 20px 24px; border-bottom: 1px solid var(--web-line); background: rgba(5, 10, 15, .98); box-shadow: 0 30px 50px rgba(0, 0, 0, .4); }
  .gd-web-menu > div > a:not(.gd-web-button) { padding: 16px 4px; border-bottom: 1px solid var(--web-line); color: var(--web-text); font-weight: 750; }
  .gd-web-menu .gd-web-button { margin-top: 18px; }
  .gd-web-hero { grid-template-columns: 1fr; grid-template-rows: auto; gap: 28px; min-height: auto; padding: 150px 6vw 70px; }
  .gd-web-hero__copy, .gd-web-package, .gd-web-facts { grid-column: 1; grid-row: auto; }
  .gd-web-hero__copy { max-width: 760px; }
  .gd-web-package { width: min(660px, 100%); min-height: auto; }
  .gd-web-package ul { grid-template-columns: repeat(2, 1fr); }
  .gd-web-facts { width: min(760px, 100%); }
  .gd-web-visual { display: none; }
  .gd-web-quicklead { grid-template-columns: 1fr; gap: 22px; padding-top: 40px; }
  .gd-web-quicklead__copy h2 { max-width: 760px; }
  .gd-web-clients > div { gap: 10vw; }
  .gd-web-faq { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .gd-web-site { padding-bottom: 86px; }
  .gd-web-nav { grid-template-columns: 1fr auto auto; gap: 11px; min-height: 92px; padding-inline: clamp(16px, 5vw, 28px); }
  .gd-web-nav__brand, .gd-web-nav__brand img { width: clamp(142px, 28vw, 188px); }
  .gd-web-nav__brand small { right: 0; font-size: 7px; letter-spacing: .38em; }
  .gd-web-nav > .gd-web-button { width: clamp(132px, 27vw, 185px); min-height: 48px; padding: 0 10px; gap: 8px; font-size: 11px; }
  .gd-web-button--nav svg { width: 17px; }
  .gd-web-button--nav b, .gd-web-button__desktop { display: none; }
  .gd-web-button__mobile { display: inline; }
  .gd-web-menu { margin-left: 0; }
  .gd-web-menu summary { width: 42px; }
  .gd-web-menu summary i { width: 31px; }
  .gd-web-menu > div { top: 92px; }

  .gd-web-hero { gap: 24px; padding: 132px clamp(20px, 7vw, 54px) 42px; }
  .gd-web-eyebrow { font-size: 11px; line-height: 1.45; letter-spacing: .13em; }
  .gd-web-hero h1 { max-width: 560px; margin: 18px 0 12px; font-size: clamp(36px, 9.5vw, 48px); line-height: 1.03; letter-spacing: -.05em; }
  .gd-web-rule { width: 38px; margin: 14px 0; }
  .gd-web-lead { max-width: 540px; font-size: clamp(15px, 3.7vw, 17px); line-height: 1.48; }
  .gd-web-actions { display: grid; gap: 8px; width: min(100%, 250px); margin-top: 20px; }
  .gd-web-actions > a { width: 100%; min-height: 50px; padding-inline: 14px; font-size: 13px; }
  .gd-web-urgency { max-width: 320px; font-size: 12px; }
  .gd-web-button--large::before { content: "✳"; font-size: 18px; font-weight: 400; }
  .gd-web-outline > span { display: inline-grid; place-items: center; width: 22px; height: 22px; border: 1px solid var(--web-gold-light); border-radius: 50%; font-size: 9px; }

  .gd-web-package { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 0 22px; width: 100%; padding: 24px 22px; border-radius: 15px; }
  .gd-web-package > small { display: none; }
  .gd-web-package h2, .gd-web-package > span, .gd-web-package > hr, .gd-web-package > p:not(.gd-web-package__monthly):not(.gd-web-package__scarcity), .gd-web-package > strong, .gd-web-package__monthly, .gd-web-package__scarcity { grid-column: 1; }
  .gd-web-package h2 { margin: 0 0 5px; font-size: 18px; }
  .gd-web-package > span { font-size: 10px; }
  .gd-web-package > hr { width: 100%; margin: 18px 0; }
  .gd-web-package > strong { font-size: 38px; line-height: 1.05; }
  .gd-web-package .gd-web-package__monthly { margin-top: 10px; font-size: 14px; }
  .gd-web-package .gd-web-package__scarcity { margin-top: 10px !important; }
  .gd-web-package ul { grid-column: 2; grid-row: 1 / span 7; grid-template-columns: 1fr; align-content: center; gap: 9px; margin: 0; padding-left: 22px; border-left: 1px solid var(--web-line); }
  .gd-web-package li { font-size: 10px; }
  .gd-web-package .gd-web-button { display: none; }

  .gd-web-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; border-radius: 13px; }
  .gd-web-facts div { grid-template-columns: 24px 1fr; gap: 7px; min-height: 92px; padding: 12px 8px; border-right: 1px solid var(--web-line); border-bottom: 0 !important; }
  .gd-web-facts div:last-child { border-right: 0; }
  .gd-web-facts svg { width: 22px; }
  .gd-web-facts span { font-size: 9px; line-height: 1.45; }

  .gd-web-clients { padding: 28px clamp(18px, 5vw, 32px) 34px; }
  .gd-web-clients > p { margin-bottom: 24px; font-size: 9px; }
  .gd-web-clients > div { display: grid; grid-template-columns: repeat(2, 1fr); justify-items: center; gap: 24px 18px; }
  .gd-web-logo--golden { display: none; } /* drop one logo on mobile so the rest aren't squeezed */
  .gd-web-clients a { font-size: clamp(10px, 2.7vw, 14px); letter-spacing: .02em; }
  .gd-web-clients small { margin-top: 4px; font-size: 6px; letter-spacing: .12em; }

  .gd-web-quicklead { padding: 42px clamp(20px, 7vw, 54px) 46px; }
  .gd-web-quicklead__copy h2 { font-size: clamp(30px, 8vw, 40px); }
  .gd-web-quicklead__copy p { font-size: 15px; }
  .gd-web-quicklead__links { display: grid; grid-template-columns: 1fr 1fr; }
  .gd-web-quicklead__links a { min-height: 48px; padding-inline: 12px; font-size: 13px; text-align: center; }
  .gd-web-quicklead__form { padding: 22px; }
  .gd-web-next { margin-top: 22px; gap: 10px; }
  .gd-web-next > div { padding: 14px 15px; gap: 13px; }

  .gd-web-benefits { display: none; }
  .gd-web-mobile-results { display: block; padding: 42px clamp(20px, 7vw, 54px) 50px; background: linear-gradient(145deg, #11171c, #080d11); }
  .gd-web-mobile-results > p { margin: 0 0 15px; color: var(--web-gold-light); font-size: 10px; font-weight: 850; letter-spacing: .12em; }
  .gd-web-mobile-results h2 { max-width: 520px; margin: 0 0 28px; font-size: clamp(31px, 8vw, 42px); line-height: 1.08; letter-spacing: -.04em; }
  .gd-web-mobile-results > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .gd-web-mobile-results article { display: grid; place-items: center; gap: 14px; min-height: 126px; padding: 18px 9px; border: 1px solid var(--web-line); border-radius: 12px; text-align: center; }
  .gd-web-mobile-results svg { width: 38px; fill: none; stroke: var(--web-gold-light); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
  .gd-web-mobile-results span { color: #e9e8e4; font-size: 10px; line-height: 1.35; }
  .gd-web-portfolio__head { display: none; }
  .gd-web-sticky-leads {
    right: 10px;
    left: 10px;
    bottom: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
  }
  .gd-web-sticky-leads :is(a, summary) {
    min-width: 0;
    min-height: 56px;
    padding: 0 10px;
    justify-content: center;
    border-radius: 12px;
  }
  .gd-web-sticky-leads span { width: 26px; height: 26px; font-size: 12px; }
  .gd-web-sticky-leads b { display: none; }
  .gd-web-ai-widget { position: static; }
  .gd-web-ai-panel {
    position: fixed;
    right: 10px;
    bottom: 78px;
    left: 10px;
    width: auto;
    max-height: calc(100svh - 110px);
    overflow: auto;
    border-radius: 16px;
  }

  .gd-web-portfolio, .gd-web-process-wrap, .gd-web-faq, .gd-web-demo { padding: 56px clamp(20px, 7vw, 54px); }
  .gd-web-section-head { grid-template-columns: 1fr; gap: 12px; margin-bottom: 30px; }
  .gd-web-section-head h2 { font-size: clamp(30px, 8vw, 38px); }
  .gd-web-process div { padding: 26px 6vw; }            /* was 70px — main space hog on mobile */
  .gd-web-faq summary { padding: 18px 34px 18px 0; font-size: 16px; }
  .gd-web-faq details p { margin-bottom: 18px; line-height: 1.55; }
}

@media (max-width: 440px) {
  .gd-web-nav { gap: 6px; padding-inline: 12px; }
  .gd-web-nav__brand, .gd-web-nav__brand img { width: 132px; }
  .gd-web-nav > .gd-web-button { width: 132px; padding-inline: 8px; }
  .gd-web-menu summary { width: 36px; }
  .gd-web-menu summary i { width: 28px; }
  .gd-web-hero { padding-inline: 20px; }
  .gd-web-site { padding-bottom: 86px; }
  .gd-web-package { gap: 0 16px; padding-inline: 18px; }
  .gd-web-package__scarcity { padding: 10px 12px; }
  .gd-web-package ul { padding-left: 16px; }
  .gd-web-quicklead__links { grid-template-columns: 1fr; }
  .gd-web-sticky-leads {
    right: 10px;
    left: 10px;
    bottom: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
  }
  .gd-web-sticky-leads :is(a, summary) {
    min-width: 0;
    min-height: 56px;
    padding: 0 10px;
    justify-content: center;
    border-radius: 12px;
  }
  .gd-web-sticky-leads span { width: 26px; height: 26px; font-size: 12px; }
  .gd-web-sticky-leads b { display: none; }
  .gd-web-facts div { grid-template-columns: 1fr; place-items: center; gap: 6px; padding-inline: 5px; text-align: center; }
}

/* Focused service landing pages */
.gd-landing { min-height: 100vh; background: var(--gd-obsidian); color: var(--gd-bone); }
.gd-landing__hero {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 88svh;
  padding: 190px 7vw 10vh;
  background:
    linear-gradient(90deg, rgba(16,13,10,.98) 0 44%, rgba(16,13,10,.45)),
    radial-gradient(circle at 78% 36%, rgba(212,170,105,.35), transparent 24%),
    linear-gradient(135deg, #25170f, #0d0b09 72%);
}
.gd-landing--airbnb .gd-landing__hero {
  background:
    linear-gradient(90deg, rgba(10,17,16,.98) 0 44%, rgba(10,17,16,.4)),
    radial-gradient(circle at 78% 36%, rgba(92,146,133,.4), transparent 24%),
    linear-gradient(135deg, #142521, #080c0b 72%);
}
.gd-landing__hero h1 {
  max-width: 1100px;
  margin: 18px 0 28px;
  font: 600 clamp(64px, 8vw, 132px)/.84 var(--gd-font-serif);
  letter-spacing: -.05em;
}
.gd-landing__hero > p:not(.gd-label) { max-width: 720px; margin: 0 0 36px; color: rgba(244,239,231,.72); font-size: 20px; line-height: 1.65; }
.gd-landing__hero .gd-btn { align-self: flex-start; }
.gd-landing__services { display: grid; grid-template-columns: repeat(3,1fr); padding: 0 7vw; background: var(--gd-bone); color: var(--gd-obsidian); }
.gd-landing__services article { min-height: 420px; padding: 72px 4vw 60px 0; border-right: 1px solid var(--gd-line-dark); }
.gd-landing__services article + article { padding-left: 4vw; }
.gd-landing__services span { color: var(--gd-clay); font-weight: 800; }
.gd-landing__services h2 { margin: 70px 0 24px; font: 600 clamp(38px,4vw,60px)/.95 var(--gd-font-serif); }
.gd-landing__services p { color: #6c6259; line-height: 1.7; }
.gd-landing__cta { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 110px 7vw; }
.gd-landing__cta h2 { max-width: 860px; margin: 0; font: 600 clamp(48px,6vw,90px)/.9 var(--gd-font-serif); }

@layer gd-web-legacy {
/* Plano has its own product identity and navigation. */
.gd-web-site { --web-ink:#071018; --web-blue:#155eef; --web-cyan:#63e6ff; --web-gold:#c89950; background:#f5f8fb; color:var(--web-ink); font-family:var(--gd-font-sans); }
.gd-web-nav {
  position:fixed; top:20px; left:50%; z-index:60; display:grid; grid-template-columns:260px 1fr 230px; align-items:center;
  width:min(1500px,calc(100% - 48px)); min-height:68px; padding:0 18px; transform:translateX(-50%);
  border:1px solid rgba(8,19,29,.1); border-radius:14px; background:rgba(255,255,255,.9); color:#08131d; box-shadow:0 15px 50px rgba(8,19,29,.1); backdrop-filter:blur(16px);
}
.gd-web-nav__brand { position:relative; display:block; width:188px; padding-bottom:10px; }
.gd-web-nav__brand img { width:188px; height:auto; filter:brightness(.24) sepia(.15); }
.gd-web-nav__brand small { position:absolute; right:4px; bottom:0; color:#b98a4d; font-size:9px; font-weight:500; letter-spacing:.42em; }
.gd-web-nav nav { display:flex; justify-content:center; gap:30px; font-size:13px; font-weight:700; }
.gd-web-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 22px; border:0; border-radius:9px; background:#c89950; color:#071018; font-weight:900; cursor:pointer; box-shadow:0 12px 35px rgba(200,153,80,.2); transition:transform .2s ease,box-shadow .2s ease; }
.gd-web-button:hover { transform:translateY(-3px); box-shadow:0 18px 45px rgba(200,153,80,.32); }
.gd-web-button--large { min-height:62px; padding:0 30px; font-size:16px; }
.gd-web-hero { position:relative; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr); align-items:center; gap:3vw; min-height:100svh; padding:170px 6vw 90px; overflow:hidden; color:#fff; background:radial-gradient(circle at 78% 34%,rgba(21,94,239,.28),transparent 28%),linear-gradient(145deg,#0b1925,#050a0f 72%); }
.gd-web-hero::before { content:""; position:absolute; inset:0; opacity:.24; background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(to right,#000,transparent 88%); }
.gd-web-hero::after { content:""; position:absolute; right:-8vw; bottom:-18vw; width:52vw; height:52vw; border:1px solid rgba(99,230,255,.12); border-radius:50%; box-shadow:0 0 0 7vw rgba(21,94,239,.04),0 0 0 14vw rgba(21,94,239,.035); }
.gd-web-hero__copy { position:relative; z-index:3; }
.gd-web-eyebrow { color:#c89950; font-size:12px; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.gd-web-hero h1 { max-width:930px; margin:24px 0; font:800 clamp(60px,6.4vw,112px)/.86 var(--gd-font-sans); letter-spacing:-.065em; }
.gd-web-hero h1 em { color:#63e6ff; font-style:normal; }
.gd-web-lead { max-width:670px; color:#9db0c0; font-size:19px; line-height:1.65; }
.gd-web-actions { position:relative; z-index:1; display:flex; align-items:center; gap:28px; margin-top:38px; }
.gd-web-link { color:#fff; font-weight:800; }
.gd-web-visual { position:relative; z-index:2; height:660px; perspective:1500px; }
.gd-web-visual__orbit { position:absolute; top:50%; left:50%; width:540px; height:540px; transform:translate(-50%,-50%) rotateX(68deg); border:1px solid rgba(99,230,255,.22); border-radius:50%; box-shadow:0 0 80px rgba(21,94,239,.14); animation:gdWebOrbit 16s linear infinite; }
.gd-web-visual__float { position:absolute; inset:0; transform-style:preserve-3d; animation:gdWebFloat 5.5s ease-in-out infinite; }
.gd-web-window { position:absolute; top:50%; left:50%; width:min(620px,42vw); aspect-ratio:1.38; overflow:hidden; border:1px solid rgba(255,255,255,.2); border-radius:18px; background:#fff; box-shadow:0 50px 100px rgba(0,0,0,.5); transform-style:preserve-3d; }
.gd-web-window--main { transform:translate(-52%,-48%) rotateX(7deg) rotateY(-17deg) rotateZ(2deg) translateZ(90px); }
.gd-web-window--back { opacity:.34; transform:translate(-36%,-66%) rotateX(12deg) rotateY(-24deg) translateZ(-120px); }
.gd-web-window--side { opacity:.58; transform:translate(-72%,-30%) rotateX(-3deg) rotateY(-10deg) translateZ(-40px); }
.gd-web-window__bar { display:flex; align-items:center; gap:6px; height:31px; padding:0 12px; background:#e8edf3; }
.gd-web-window__bar i { width:7px; height:7px; border-radius:50%; background:#94a4b2; }
.gd-web-window__bar small { margin-left:auto; color:#667785; font-size:8px; }
.gd-web-window__nav { display:flex; justify-content:space-between; align-items:center; height:58px; padding:0 30px; color:#102230; font-size:10px; }
.gd-web-window__nav strong { letter-spacing:.1em; }
.gd-web-window__content { position:relative; height:calc(100% - 89px); padding:60px 42px; overflow:hidden; background:linear-gradient(135deg,#071018,#12334a); color:#fff; }
.gd-web-window__content::after { content:""; position:absolute; right:-35px; bottom:-75px; width:240px; height:240px; border:35px solid rgba(99,230,255,.25); border-radius:50%; }
.gd-web-window__content small { color:#c89950; font-size:8px; letter-spacing:.18em; }
.gd-web-window__content b { position:relative; z-index:1; display:block; margin:20px 0 28px; font-size:clamp(22px,3vw,44px); line-height:.92; letter-spacing:-.06em; }
.gd-web-window__content i { display:block; width:95px; height:25px; border-radius:4px; background:#c89950; }
.gd-web-window__content em { position:absolute; right:50px; top:50px; width:110px; height:160px; transform:rotate(12deg); border:1px solid rgba(255,255,255,.2); background:linear-gradient(160deg,rgba(99,230,255,.6),rgba(21,94,239,.08)); box-shadow:18px 18px 0 rgba(255,255,255,.06); }
.gd-web-window__layout { display:grid; grid-template-columns:1fr 1fr; gap:16px; height:100%; padding:45px; background:#f2f6fa; }
.gd-web-window__layout b { grid-column:1/-1; height:110px; background:#cdd9e3; }
.gd-web-window__layout span { height:130px; background:#dce5ec; }
.gd-web-proof { position:relative; z-index:4; display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid rgba(255,255,255,.1); background:#071018; color:#fff; }
.gd-web-proof div { min-height:135px; padding:38px 4vw; border-right:1px solid rgba(255,255,255,.1); }
.gd-web-proof div:last-child { border-right:0; }
.gd-web-proof strong,.gd-web-proof span { display:block; }
.gd-web-proof strong { color:#63e6ff; font-size:24px; letter-spacing:-.04em; }
.gd-web-proof span { margin-top:8px; color:#8fa3b2; font-size:12px; }
.gd-web-statement { display:grid; grid-template-columns:.35fr 1fr 1fr; gap:7vw; padding:140px 7vw; background:#08131d; color:#fff; }
.gd-web-statement > span { color:#63e6ff; font-size:12px; font-weight:900; text-transform:uppercase; }
.gd-web-statement h2 { margin:0; font-size:clamp(46px,5.5vw,86px); line-height:.95; letter-spacing:-.055em; }
.gd-web-statement p { margin:0; color:#9db0c0; font-size:18px; line-height:1.8; }
.gd-web-grid { display:grid; grid-template-columns:repeat(2,1fr); padding:100px 7vw; }
.gd-web-grid article { min-height:330px; padding:45px; border:1px solid #d7e0e8; }
.gd-web-grid article:nth-child(even) { border-left:0; }
.gd-web-grid article:nth-child(n+3) { border-top:0; }
.gd-web-grid span,.gd-web-process span { color:#155eef; font-weight:900; }
.gd-web-grid h3 { margin:60px 0 16px; font-size:34px; letter-spacing:-.04em; }
.gd-web-grid p,.gd-web-process p { max-width:560px; color:#607080; line-height:1.7; }
.gd-web-portfolio { padding:130px 7vw; background:#eef3f8; }
.gd-web-portfolio__head { display:grid; grid-template-columns:.45fr 1fr; gap:7vw; align-items:end; margin-bottom:70px; }
.gd-web-portfolio__head span { color:#155eef; font-size:12px; font-weight:900; text-transform:uppercase; }
.gd-web-portfolio__head h2 { max-width:900px; margin:0; font-size:clamp(52px,6vw,92px); line-height:.92; letter-spacing:-.06em; }
.gd-web-portfolio__grid { border-top:1px solid #cbd6df; }
.gd-web-portfolio__grid a { position:relative; display:grid; grid-template-columns:80px 1fr 1fr 40px; align-items:center; gap:30px; min-height:130px; border-bottom:1px solid #cbd6df; transition:padding .2s ease,background .2s ease; }
.gd-web-portfolio__grid a:hover { padding:0 20px; background:#fff; }
.gd-web-portfolio__grid span,.gd-web-portfolio__grid small { color:#607080; }
.gd-web-portfolio__grid strong { font-size:clamp(28px,3vw,46px); letter-spacing:-.04em; }
.gd-web-portfolio__grid i { color:#155eef; font-size:26px; font-style:normal; }
.gd-web-process { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; padding:1px; background:#d7e0e8; }
.gd-web-process div { padding:70px 4vw; background:#fff; }
.gd-web-process span { display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:#e8efff; }
.gd-web-process h3 { margin:54px 0 15px; font-size:28px; }
.gd-web-demo { display:grid; grid-template-columns:1fr 1fr; gap:9vw; padding:130px 7vw; background:#dfeaff; }
.gd-web-demo h2 { margin:18px 0 24px; font-size:clamp(48px,6vw,88px); line-height:.92; letter-spacing:-.055em; }
.gd-web-demo > div > p:last-child { max-width:600px; color:#52616f; line-height:1.7; }
.gd-web-form { display:grid; gap:18px; padding:36px; border-radius:18px; background:#fff; box-shadow:0 25px 80px rgba(8,19,29,.12); }
.gd-web-form label span { display:block; margin-bottom:8px; color:#52616f; font-size:12px; font-weight:800; }
.gd-web-form input { width:100%; min-height:52px; padding:0 15px; border:1px solid #cbd6df; border-radius:8px; font:inherit; }
.gd-web-form p { margin:0; color:#607080; font-size:12px; text-align:center; }
.gd-web-footer { display:flex; justify-content:space-between; padding:30px 7vw; background:#08131d; color:#9db0c0; font-size:13px; }

@keyframes gdWebFloat {
  0%,100% { transform:translate3d(0,-10px,0) rotateZ(-.7deg); }
  50% { transform:translate3d(0,18px,0) rotateZ(.7deg); }
}
@keyframes gdWebOrbit { to { transform:translate(-50%,-50%) rotateX(68deg) rotateZ(360deg); } }

/* Reveal-on-scroll: driven by IntersectionObserver in site.js — works in every browser, no animation-timeline dependency. The .gd-reveal class is added by JS so no-JS users still see all content. */
.gd-reveal { opacity:0; transform:translateY(42px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
.gd-reveal.is-in { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) {
  .gd-reveal { opacity:1; transform:none; transition:none; }
}

@media (max-width:980px) {
  .gd-footer__inner { grid-template-columns:1fr 1fr; }
  .gd-landing__services { grid-template-columns:1fr; }
  .gd-landing__services article { min-height:auto; padding:55px 0; border-right:0; border-bottom:1px solid var(--gd-line-dark); }
  .gd-landing__services article + article { padding-left:0; }
  .gd-landing__services h2 { margin-top:30px; }
  .gd-landing__cta { align-items:flex-start; flex-direction:column; }
  .gd-web-nav { grid-template-columns:1fr auto; }
  .gd-web-nav nav { display:none; }
  .gd-web-hero { grid-template-columns:1fr; padding-top:170px; }
  .gd-web-visual { height:520px; }
  .gd-web-window { width:min(640px,78vw); }
  .gd-web-proof { grid-template-columns:repeat(2,1fr); }
  .gd-web-proof div:nth-child(2) { border-right:0; }
  .gd-web-proof div:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.1); }
  .gd-web-statement { grid-template-columns:1fr; }
  .gd-web-demo { grid-template-columns:1fr; }
}

@media (max-width:640px) {
  .gd-footer__inner { grid-template-columns:1fr; }
  .gd-landing__hero { min-height:82svh; padding:200px 20px 80px; }
  .gd-landing__hero h1 { font-size:55px; }
  .gd-landing__services,.gd-landing__cta { padding-right:20px; padding-left:20px; }
  .gd-web-nav { top:10px; width:calc(100% - 20px); grid-template-columns:1fr; }
  .gd-web-nav .gd-web-button { display:none; }
  .gd-web-hero { padding:150px 20px 80px; }
  .gd-web-hero h1 { font-size:52px; }
  .gd-web-lead { font-size:17px; }
  .gd-web-actions { align-items:flex-start; flex-direction:column; }
  .gd-web-visual { height:390px; margin:20px -20px -30px; }
  .gd-web-window { width:88vw; border-radius:11px; }
  .gd-web-window--main { transform:translate(-50%,-50%) rotateX(7deg) rotateY(-13deg) rotateZ(2deg) translateZ(60px); }
  .gd-web-window__content { padding:32px 24px; }
  .gd-web-window__content em { right:25px; top:38px; width:70px; height:105px; }
  .gd-web-window__nav { height:46px; padding:0 18px; }
  .gd-web-window__nav span { display:none; }
  .gd-web-proof div { min-height:105px; padding:26px 20px; }
  .gd-web-statement,.gd-web-grid,.gd-web-portfolio,.gd-web-demo { padding:80px 20px; }
  .gd-web-grid { grid-template-columns:1fr; }
  .gd-web-grid article,.gd-web-grid article:nth-child(even),.gd-web-grid article:nth-child(n+3) { min-height:auto; padding:34px 24px; border:1px solid #d7e0e8; border-bottom:0; }
  .gd-web-grid article:last-child { border-bottom:1px solid #d7e0e8; }
  .gd-web-grid h3 { margin-top:38px; }
  .gd-web-portfolio__head { grid-template-columns:1fr; gap:22px; }
  .gd-web-portfolio__grid a { grid-template-columns:40px 1fr 28px; gap:12px; min-height:110px; }
  .gd-web-portfolio__grid small { display:none; }
  .gd-web-process { grid-template-columns:1fr; }
  .gd-web-demo h2 { font-size:48px; }
  .gd-web-form { padding:24px; }
}
}

/* Portfolio rebuilt as visual cards with a browser-chrome frame + real site screenshots */
.gd-web-portfolio .gd-web-portfolio__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(18px,2vw,30px); border:0; }
.gd-web-portfolio .gd-web-portfolio__grid a { display:flex; flex-direction:column; min-height:0; gap:0; padding:0; border:1px solid var(--web-line); border-radius:14px; overflow:hidden; background:#0b1014; transition:transform .25s ease, border-color .25s ease; }
.gd-web-portfolio .gd-web-portfolio__grid a:hover { padding:0; transform:translateY(-6px); border-color:rgba(235,183,95,.55); background:#0b1014; }
.gd-web-pf__shot { position:relative; display:block; padding-top:30px; background:#11171c; overflow:hidden; }
.gd-web-pf__shot::before { content:""; position:absolute; top:11px; left:15px; width:8px; height:8px; border-radius:50%; background:#ff5f57; box-shadow:14px 0 #febc2e, 28px 0 #28c840; }
.gd-web-pf__shot img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; object-position:top center; transition:transform .5s ease; }
.gd-web-portfolio .gd-web-portfolio__grid a:hover .gd-web-pf__shot img { transform:scale(1.04); }
.gd-web-pf__meta { display:flex; align-items:center; gap:12px; padding:18px 20px; }
.gd-web-pf__meta strong { font-size:19px; letter-spacing:-.01em; color:var(--web-text); }
.gd-web-pf__meta small { display:block; color:var(--web-muted); font-size:12px; }
.gd-web-pf__meta i { margin-left:auto; color:var(--web-gold-light); font-style:normal; font-size:20px; }
@media (max-width:760px) {
  .gd-web-portfolio .gd-web-portfolio__grid { grid-template-columns:1fr; }
  .gd-web-pf__meta small { display:block; }
}

/* === Transformation reel: idea (bulb) -> sketch (wireframe) -> live site + growth. Scroll-scrubbed in site.js. === */
.gd-web-reel { position: relative; height: 540vh; background: radial-gradient(120% 80% at 50% 0%, #0c151c, #070b0f 70%); }
.gd-web-reel__pin { position: sticky; top: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: clamp(22px, 4vh, 48px); height: 100vh; padding: 90px 6vw 70px; overflow: hidden; }
.gd-web-reel__head { text-align: center; }
.gd-web-reel__head span { color: var(--web-gold-light); font-size: 12px; font-weight: 900; letter-spacing: .14em; }
.gd-web-reel__head h2 { margin: 14px 0 0; font: 800 clamp(34px, 5vw, 72px)/.95 var(--gd-font-sans); letter-spacing: -.05em; color: #fff; }
.gd-web-reel__stage { position: relative; width: min(560px, 92vw); height: min(420px, 46vh); }
.gd-web-reel__scene { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; opacity: 0; will-change: transform, opacity; }
.gd-web-reel__scene[data-scene="live"] { opacity: 1; } /* fallback: show the end result if JS is off */
.gd-reel-svg { width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 30px 60px rgba(0,0,0,.5)); }
.gd-web-reel__scene[data-scene="bulb"] .gd-reel-svg { filter: drop-shadow(0 0 40px rgba(227,183,95,.35)); }
.gd-reel-rays { animation: gdReelPulse 2.6s ease-in-out infinite; transform-origin: 240px 170px; }
@keyframes gdReelPulse { 0%,100% { opacity:.4; } 50% { opacity:.95; } }
.gd-reel-sketch-svg :is(path, rect, circle) { stroke-dasharray: 760; stroke-dashoffset: calc(760 * (1 - var(--draw, 1))); }
/* Growth metric badges */
.gd-reel-metric { position: absolute; display: flex; align-items: center; gap: 10px; padding: 11px 15px; border: 1px solid rgba(255,255,255,.12); border-radius: 13px; background: rgba(10,15,20,.92); box-shadow: 0 18px 40px rgba(0,0,0,.45); color: #fff; opacity: var(--metrics, 1); transform: translateY(calc((1 - var(--metrics, 1)) * 26px)); }
.gd-reel-metric svg { width: 24px; height: 24px; color: var(--web-gold-light); flex: none; }
.gd-reel-metric strong { display: block; font-size: 14px; }
.gd-reel-metric span { font-size: 11px; color: var(--web-muted); }
.gd-reel-metric b { margin-left: 2px; color: #28c840; font-size: 18px; }
.gd-reel-metric--sales { top: 2%; right: -6%; }
.gd-reel-metric--traffic { bottom: 4%; left: -6%; }
/* Step indicator + progress bar */
.gd-web-reel__steps { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px 26px; }
[data-reel-step] { color: var(--web-muted); font-size: 13px; font-weight: 700; transition: color .3s ease; }
[data-reel-step] b { color: rgba(255,255,255,.3); font-weight: 900; transition: color .3s ease; }
[data-reel-step].is-active { color: #fff; }
[data-reel-step].is-active b { color: var(--web-gold-light); }
.gd-web-reel__bar { flex-basis: 100%; max-width: 360px; height: 3px; margin-top: 6px; border-radius: 3px; background: rgba(255,255,255,.1); overflow: hidden; }
[data-reel-fill] { display: block; height: 100%; background: var(--web-gold-light); transform: scaleX(0); transform-origin: left; }
@media (max-width: 760px) {
  .gd-reel-metric--sales { top: -4%; right: -2%; }
  .gd-reel-metric--traffic { bottom: -2%; left: -2%; }
  .gd-reel-metric span { display: none; }
}
@media (max-width: 760px) {
  .gd-web-reel { height: 280vh; }
}
@media (prefers-reduced-motion: reduce) {
  .gd-web-reel { height: auto; }
  .gd-web-reel__pin { position: static; height: auto; min-height: 0; }
  .gd-web-reel__scene:not([data-scene="live"]) { display: none; }
  .gd-web-reel__scene[data-scene="live"] { position: relative; opacity: 1; }
  .gd-web-reel__stage { height: min(420px, 72vw); }
  .gd-reel-rays { animation: none; }
}

/* === High-end trailing cursor (gold): a center dot the pointer drives, and a ring that lags + chases it.
   Grows on interactive elements, contracts on click. Desktop fine-pointer only; JS adds html.gd-cursor-on. === */
@media (hover: hover) and (pointer: fine) {
  html.gd-cursor-on, html.gd-cursor-on * { cursor: none; }
  html.gd-cursor-on :is(input, textarea) { cursor: text; }
}
.gd-cursor { position: fixed; inset: 0; z-index: 9999; pointer-events: none; }
/* Never show the custom cursor on touch / coarse-pointer devices (phones, tablets) */
@media (hover: none), (pointer: coarse) { .gd-cursor { display: none !important; } }

/* Acquisition platform: floating navigation, service architecture and dimensional studio details. */
.gw-header--island {
  position: fixed;
  top: 18px;
  left: 50%;
  width: min(1380px, calc(100% - 40px));
  min-height: 72px;
  padding: 9px 13px 9px 20px;
  border: 1px solid rgba(239,199,121,.18);
  border-radius: 17px;
  background: linear-gradient(110deg,rgba(8,12,15,.94),rgba(17,22,25,.89));
  box-shadow: 0 22px 70px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.06);
  transform: translateX(-50%);
  transition: top .25s ease, background .25s ease, box-shadow .25s ease;
}
.gw-header--island.is-scrolled { top: 9px; background: rgba(7,10,12,.97); box-shadow: 0 18px 55px rgba(0,0,0,.55); }
.gw-header--island .gw-brand { width: 176px; }
.gw-header--island .gw-brand img { width: 176px; }
.gw-header--island .gw-brand > span { margin-left:0; }
.gw-header--island .gw-nav { align-items: center; gap: clamp(21px,2.5vw,38px); }
.gw-header--island .gw-nav > a,
.gw-mega > summary { color:#ddd9d2; font-size:13px; font-weight:750; cursor:pointer; list-style:none; }
.gw-mega > summary::-webkit-details-marker { display:none; }
.gw-mega > summary span { margin-left:4px; color:var(--gw-gold); }
.gw-mega[open] > summary { color:var(--gw-gold-light); }
.gw-mega__panel {
  position: fixed;
  top: 82px;
  left: 50%;
  display: grid;
  grid-template-columns: repeat(3,1fr) .88fr;
  gap: 9px;
  width: min(1120px,calc(100vw - 72px));
  padding: 14px;
  border:1px solid rgba(239,199,121,.18);
  border-radius:16px;
  background:rgba(8,12,15,.98);
  box-shadow:0 34px 90px rgba(0,0,0,.62);
  transform:translateX(-50%);
}
.gw-mega__panel > div { display:grid; align-content:start; gap:3px; padding:16px; }
.gw-mega__panel small { margin:0 0 10px; color:var(--gw-gold); font-size:9px; font-weight:900; letter-spacing:.18em; }
.gw-mega__panel a:not(.gw-mega__feature) { display:grid; gap:4px; padding:11px 9px; border-radius:8px; }
.gw-mega__panel a:not(.gw-mega__feature):hover { background:rgba(255,255,255,.045); }
.gw-mega__panel a b { color:#f3efe8; font-size:13px; }
.gw-mega__panel a span { color:#888b8c; font-size:10px; line-height:1.45; }
.gw-mega__feature { display:flex; flex-direction:column; justify-content:flex-end; min-height:250px; padding:22px; overflow:hidden; border:1px solid rgba(239,199,121,.28); border-radius:11px; background:radial-gradient(circle at 80% 10%,rgba(239,199,121,.24),transparent 28%),linear-gradient(145deg,#272016,#101416 66%); }
.gw-mega__feature span { color:var(--gw-gold-light); font-size:9px; font-weight:900; letter-spacing:.13em; }
.gw-mega__feature b { margin:12px 0 22px; color:#fff; font-size:20px; line-height:1.2; }
.gw-mega__feature i { color:var(--gw-gold-light); font-size:12px; font-style:normal; font-weight:800; }
.gw-header--island .gw-button--header { min-height:48px; border-radius:11px; }

.gw-device--hero { perspective:1100px; }
.gw-device--hero::after { content:""; position:absolute; z-index:-2; left:8%; right:0; bottom:-4%; height:35%; border:1px solid rgba(239,199,121,.26); border-radius:50%; background:radial-gradient(ellipse at center,rgba(217,165,82,.2),rgba(7,11,14,.1) 57%,transparent 70%); box-shadow:0 42px 80px rgba(0,0,0,.7),inset 0 13px 35px rgba(239,199,121,.05); transform:rotateX(68deg); }
.gw-device--hero .gw-device__laptop { transform:rotateY(-4deg) rotateX(1deg); }
.gw-device--hero .gw-device__tag { display:inline-flex; margin:24px 0 0 12%; padding:8px 12px; border:1px solid rgba(239,199,121,.25); border-radius:999px; color:#b9ad9d; font-size:8px; font-weight:800; letter-spacing:.13em; background:rgba(7,11,14,.65); }
@media (prefers-reduced-motion:no-preference) {
  .gw-device--hero::before { animation:gw-orbit 12s linear infinite; }
  .gw-device--hero .gw-device__phone { animation:gw-float-phone 5s ease-in-out infinite; }
  @keyframes gw-orbit { to { transform:rotate(348deg); } }
  @keyframes gw-float-phone { 50% { transform:translateY(-9px) rotate(1deg); } }
}

.gw-footer--expanded { display:grid; grid-template-columns:minmax(230px,.7fr) minmax(600px,1.7fr); align-items:start; gap:70px; min-height:0; padding-top:76px; padding-bottom:24px; }
.gw-footer__intro { display:grid; justify-items:start; gap:16px; }
.gw-footer__intro p { max-width:360px; margin:0; color:#8e9190; font-size:13px; line-height:1.7; }
.gw-footer__intro > a:last-child { color:var(--gw-gold-light); font-size:20px; font-weight:800; }
.gw-footer__links { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.gw-footer__links > div { display:grid; align-content:start; gap:12px; }
.gw-footer__links strong { margin-bottom:5px; color:var(--gw-gold-light); font-size:9px; letter-spacing:.16em; }
.gw-footer__links a { color:#a9aba9; font-size:12px; line-height:1.4; }
.gw-footer__links a:hover { color:white; }
.gw-footer__bottom { grid-column:1/-1; display:flex; justify-content:space-between; gap:20px; margin-top:34px; padding-top:22px; border-top:1px solid rgba(255,255,255,.07); color:#666b6c; font-size:10px; }

@media (max-width:1100px) {
  .gw-header--island { grid-template-columns:180px 1fr auto; }
  .gw-header--island .gw-nav { gap:18px; }
  .gw-header--island .gw-nav > a,.gw-mega > summary { font-size:12px; }
  .gw-footer--expanded { grid-template-columns:1fr; }
}
@media (max-width:980px) {
  .gw-header--island { grid-template-columns:1fr auto auto; width:calc(100% - 24px); top:10px; padding-left:14px; }
  .gw-header--island .gw-button--header { min-height:44px; padding-inline:14px; font-size:11px; }
  .gw-menu nav { position:fixed; top:91px; right:12px; max-height:calc(100svh - 105px); overflow:auto; border-radius:14px; }
  .gw-menu nav strong { padding:12px 12px 4px; color:var(--gw-gold); font-size:9px; letter-spacing:.15em; }
  .gw-footer__links { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px) {
  .gw-header--island .gw-brand,.gw-header--island .gw-brand img { width:140px; }
  .gw-header--island .gw-brand > span { margin-left:0; font-size:6px; }
  .gw-header--island .gw-button--header { display:none; }
  .gw-footer--expanded { padding-inline:20px; gap:45px; }
  .gw-footer__links { grid-template-columns:1fr 1fr; gap:30px 18px; }
  .gw-footer__bottom { flex-direction:column; }
}

/* Search and campaign page system. */
.gw-service { color:var(--gw-text); background:var(--gw-bg); }
.gw-service a { color:inherit; text-decoration:none; }
.gw-service-hero { position:relative; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(380px,.75fr); align-items:center; gap:70px; min-height:760px; padding:170px max(28px,calc((100vw - 1220px)/2)) 90px; overflow:hidden; border-bottom:1px solid rgba(255,255,255,.07); background:radial-gradient(circle at 77% 36%,rgba(217,165,82,.11),transparent 29%),linear-gradient(135deg,#080d10,#05080a); }
.gw-service-hero::before { content:""; position:absolute; inset:0; opacity:.12; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:50px 50px; mask-image:linear-gradient(90deg,#000,transparent 85%); }
.gw-service-hero__copy,.gw-orbit-stage { position:relative; z-index:1; }
.gw-breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; color:#767c7d; font-size:10px; font-weight:750; letter-spacing:.09em; }
.gw-breadcrumbs a:hover { color:var(--gw-gold-light); }
.gw-service-hero h1 { max-width:820px; margin:0; font-size:clamp(54px,6vw,88px); line-height:.95; letter-spacing:-.06em; }
.gw-service-hero h1 em { color:var(--gw-gold); font-style:normal; }
.gw-service-hero__copy > p:not(.gw-kicker):not(.gw-breadcrumbs) { max-width:700px; margin:27px 0 0; color:#b6b8b5; font-size:18px; line-height:1.75; }
.gw-service-hero .gw-actions { margin-top:34px; }
.gw-orbit-stage { min-height:480px; perspective:1000px; }
.gw-orbit-stage::before,.gw-orbit-stage::after { content:""; position:absolute; inset:10% 4%; border:1px solid rgba(239,199,121,.22); border-radius:50%; transform:rotateX(68deg) rotateZ(-16deg); }
.gw-orbit-stage::after { inset:18% 12%; border-color:rgba(255,255,255,.09); transform:rotateX(68deg) rotateZ(18deg); }
.gw-orbit-stage__core { position:absolute; inset:20% 16%; display:grid; place-items:center; border:1px solid rgba(239,199,121,.32); border-radius:18px; background:linear-gradient(145deg,#fbf8f2,#e7dccb); box-shadow:0 38px 90px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.75); transform:rotateY(-12deg) rotateX(8deg); transform-style:preserve-3d; }
.gw-orbit-stage__core img { width:70%; filter:drop-shadow(0 18px 20px rgba(25,28,35,.16)); transform:translateZ(48px); }
.gw-orbit-stage__card { position:absolute; z-index:3; display:grid; gap:5px; min-width:145px; padding:15px; border:1px solid rgba(255,255,255,.13); border-radius:10px; color:#d7d2ca; background:rgba(12,17,20,.88); box-shadow:0 18px 40px rgba(0,0,0,.35); backdrop-filter:blur(12px); }
.gw-orbit-stage__card b { color:var(--gw-gold-light); font-size:19px; }
.gw-orbit-stage__card span { font-size:9px; letter-spacing:.08em; }
.gw-orbit-stage__card--a { top:8%; right:-2%; }
.gw-orbit-stage__card--b { bottom:7%; left:-2%; }
@media (prefers-reduced-motion:no-preference) { .gw-orbit-stage::before { animation:gw-orbit-stage 15s linear infinite; } .gw-orbit-stage__card--a { animation:gw-card-float 5.5s ease-in-out infinite; } .gw-orbit-stage__card--b { animation:gw-card-float 5.5s 1s ease-in-out infinite reverse; } @keyframes gw-orbit-stage { to { transform:rotateX(68deg) rotateZ(344deg); } } @keyframes gw-card-float { 50% { translate:0 -10px; } } }
.gw-service-stats { display:grid; grid-template-columns:repeat(4,1fr); max-width:1220px; margin:-1px auto 0; border-inline:1px solid rgba(255,255,255,.07); }
.gw-service-stats div { padding:25px 28px; border-bottom:1px solid rgba(255,255,255,.07); background:#0b1013; }
.gw-service-stats div + div { border-left:1px solid rgba(255,255,255,.07); }
.gw-service-stats strong { display:block; margin-bottom:5px; color:var(--gw-gold-light); font-size:15px; }
.gw-service-stats span { color:#85898a; font-size:10px; }
.gw-content-section { max-width:1220px; margin:0 auto; padding:110px 28px; }
.gw-content-section--split { display:grid; grid-template-columns:minmax(260px,.6fr) minmax(0,1.4fr); gap:clamp(50px,9vw,130px); }
.gw-content-section h2 { margin:0; font-size:clamp(38px,4.5vw,66px); line-height:1.03; letter-spacing:-.05em; }
.gw-content-section__body { color:#a9adab; font-size:16px; line-height:1.82; }
.gw-content-section__body p:first-child { margin-top:0; }
.gw-content-section__body h3 { margin:35px 0 10px; color:#f0ece4; font-size:23px; }
.gw-service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:50px; }
.gw-service-card { position:relative; min-height:260px; padding:30px; overflow:hidden; border:1px solid rgba(255,255,255,.09); border-radius:12px; background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015)); }
.gw-service-card::after { content:""; position:absolute; right:-45px; bottom:-55px; width:150px; height:150px; border:1px solid rgba(239,199,121,.12); border-radius:50%; box-shadow:0 0 0 28px rgba(239,199,121,.025),0 0 0 56px rgba(239,199,121,.018); }
.gw-service-card span { color:var(--gw-gold); font-size:10px; font-weight:900; letter-spacing:.12em; }
.gw-service-card h3 { margin:48px 0 12px; font-size:23px; }
.gw-service-card p { max-width:310px; margin:0; color:#969b9b; font-size:13px; line-height:1.7; }
.gw-service-card a { position:absolute; z-index:2; right:25px; bottom:24px; color:var(--gw-gold-light); font-size:20px; }
.gw-related { border-block:1px solid rgba(255,255,255,.07); background:#090e11; }
.gw-related .gw-content-section { padding-block:80px; }
.gw-related__links { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:35px; }
.gw-related__links a { display:flex; justify-content:space-between; gap:20px; padding:22px; border:1px solid rgba(255,255,255,.08); border-radius:9px; color:#d9d7d1; background:#0d1316; font-size:14px; }
.gw-related__links a span { color:var(--gw-gold); }
.gw-service-cta { display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:60px; max-width:1164px; margin:90px auto; padding:55px; border:1px solid rgba(239,199,121,.2); border-radius:14px; background:radial-gradient(circle at 85% 10%,rgba(217,165,82,.15),transparent 28%),#0c1215; }
.gw-service-cta h2 { margin:0 0 13px; font-size:clamp(35px,4vw,57px); line-height:1.03; letter-spacing:-.045em; }
.gw-service-cta p { margin:0; color:#9da19f; line-height:1.7; }
.gw-service-cta__action { display:grid; justify-items:start; gap:14px; }
.gw-service-cta__action small { color:#757b7c; }

.gw-lp .gw-service-hero { min-height:720px; }
.gw-lp .gw-service-hero__copy { max-width:760px; }
.gw-lp-form { padding:25px; border:1px solid rgba(239,199,121,.24); border-radius:14px; background:rgba(13,18,21,.93); box-shadow:0 35px 80px rgba(0,0,0,.42); }
.gw-lp-form h2 { margin:0 0 7px; font-size:25px; }
.gw-lp-form > p { margin:0 0 22px; color:#989d9d; font-size:13px; line-height:1.6; }
.gw-lp-form .gw-form { grid-template-columns:1fr; }
.gw-lp-form .gw-form > * { grid-column:1; }
.gw-lp-proof { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; max-width:1164px; margin:70px auto; padding-inline:28px; }
.gw-lp-proof article { padding:28px; border:1px solid rgba(255,255,255,.08); border-radius:10px; background:#0c1215; }
.gw-lp-proof b { display:block; margin-bottom:10px; color:var(--gw-gold-light); font-size:18px; }
.gw-lp-proof p { margin:0; color:#969b9b; font-size:13px; line-height:1.7; }

@media (max-width:980px) {
  .gw-service-hero { grid-template-columns:1fr; padding-top:150px; }
  .gw-orbit-stage { width:min(650px,100%); margin:auto; }
  .gw-content-section--split { grid-template-columns:1fr; }
  .gw-service-grid,.gw-related__links { grid-template-columns:1fr 1fr; }
  .gw-service-cta { grid-template-columns:1fr; margin-inline:28px; }
  .gw-lp-proof { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .gw-service-hero { min-height:auto; gap:20px; padding:135px 20px 55px; }
  .gw-service-hero h1 { font-size:clamp(45px,13vw,62px); }
  .gw-service-hero__copy > p:not(.gw-kicker):not(.gw-breadcrumbs) { font-size:16px; }
  .gw-orbit-stage { min-height:350px; }
  .gw-orbit-stage__card { min-width:120px; padding:12px; }
  .gw-service-stats { grid-template-columns:1fr 1fr; margin-inline:20px; }
  .gw-service-stats div:nth-child(3) { border-left:0; }
  .gw-content-section { padding:75px 20px; }
  .gw-service-grid,.gw-related__links { grid-template-columns:1fr; }
  .gw-service-cta { margin:60px 20px; padding:35px 25px; }
}

/* Progressive multi-step lead flow. The original form remains usable without JavaScript. */
.gw-quiz { position:relative; display:block; min-height:340px; }
.gw-quiz__progress { display:flex; align-items:center; gap:14px; margin-bottom:28px; }
.gw-quiz__progress > span { flex:1; height:4px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.08); }
.gw-quiz__progress i { display:block; width:25%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--gw-gold),var(--gw-gold-light)); transition:width .35s cubic-bezier(.22,1,.36,1); }
.gw-quiz__progress b { color:#888e8f; font-size:10px; letter-spacing:.1em; }
.gw-quiz__step { display:none; }
.gw-quiz__step.is-active { display:block; animation:gw-quiz-in .42s cubic-bezier(.22,1,.36,1) both; }
.gw-quiz__step.is-active.from-back { animation-name:gw-quiz-back; }
.gw-quiz__step > small { color:var(--gw-gold); font-size:9px; font-weight:900; letter-spacing:.16em; }
.gw-quiz__step > h3 { margin:13px 0 26px; color:#f7f2e9; font-size:clamp(25px,3vw,36px); line-height:1.12; letter-spacing:-.035em; }
.gw-quiz__step label { display:grid; gap:9px; color:#969b9b; font-size:11px; }
.gw-quiz__step input,.gw-quiz__step select,.gw-quiz__step textarea { width:100%; min-height:62px; padding:0 17px; border:1px solid rgba(239,199,121,.25); border-radius:9px; background:#070b0e; color:white; font:600 17px/1.2 inherit; transition:border-color .2s ease,box-shadow .2s ease; }
.gw-quiz__step input:focus,.gw-quiz__step select:focus,.gw-quiz__step textarea:focus { outline:0; border-color:var(--gw-gold); box-shadow:0 0 0 4px rgba(217,165,82,.08); }
.gw-quiz__controls { display:flex; align-items:center; justify-content:flex-end; gap:12px; margin-top:22px; }
.gw-quiz__controls .gw-button { min-width:170px; }
.gw-quiz__back { min-height:48px; padding:0 14px; border:0; color:#909596; background:transparent; cursor:pointer; font:750 12px/1 inherit; }
.gw-quiz__back:hover { color:white; }
.gw-quiz > [data-gd-form-note] { margin-top:18px; }
@keyframes gw-quiz-in { from { opacity:0; transform:translateX(24px); } to { opacity:1; transform:none; } }
@keyframes gw-quiz-back { from { opacity:0; transform:translateX(-24px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) { .gw-quiz__step.is-active { animation:none; } .gw-quiz__progress i { transition:none; } }
@media (max-width:640px) { .gw-quiz { min-height:330px; } .gw-quiz__controls { justify-content:stretch; } .gw-quiz__controls .gw-button { flex:1; } }
.gd-cursor__ring, .gd-cursor__dot { position: fixed; top: 0; left: 0; border-radius: 50%; }
.gd-cursor__ring {
  width: 40px; height: 40px; margin: -20px 0 0 -20px;
  border: 1.5px solid rgba(235,183,95,.85);
  box-shadow: 0 0 22px rgba(235,183,95,.28), inset 0 0 12px rgba(235,183,95,.12);
  transition: width .28s cubic-bezier(.2,.7,.2,1), height .28s cubic-bezier(.2,.7,.2,1), margin .28s cubic-bezier(.2,.7,.2,1), background-color .28s, border-color .28s, opacity .3s;
}
.gd-cursor__dot { width: 7px; height: 7px; margin: -3.5px 0 0 -3.5px; background: var(--web-gold-light); box-shadow: 0 0 10px rgba(235,183,95,.6); transition: opacity .25s, width .18s, height .18s, margin .18s; }
.gd-cursor.is-hover .gd-cursor__ring { width: 66px; height: 66px; margin: -33px 0 0 -33px; background: rgba(235,183,95,.1); border-color: var(--web-gold-light); }
.gd-cursor.is-hover .gd-cursor__dot { opacity: 0; }
.gd-cursor.is-down .gd-cursor__ring { width: 30px; height: 30px; margin: -15px 0 0 -15px; background: rgba(235,183,95,.22); }
.gd-cursor.is-down .gd-cursor__dot { width: 4px; height: 4px; margin: -2px 0 0 -2px; }
.gd-cursor.is-hidden .gd-cursor__ring, .gd-cursor.is-hidden .gd-cursor__dot { opacity: 0; }

/* === Process cards: a slowly rotating gold/cyan glowing border (not a plain box-outline). Desktop = 3-col grid,
   mobile = stacked compact rows. Scoped under .gd-web-process-wrap so it wins outright over the old @layer
   gd-web-legacy fallback grid (the hairline-outline look came from THAT layer filling gaps this design never set). === */
@property --gd-spin { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@keyframes gdProcSpin { to { --gd-spin: 360deg; } }

.gd-web-process-wrap .gd-web-process { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; padding: 0; background: transparent; }
.gd-web-process-wrap .gd-web-process > div {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: 0; padding: 38px 30px; border-radius: 16px; background: #0c1216;
}
.gd-web-process-wrap .gd-web-process > div::before {
  content: ""; position: absolute; inset: 0; z-index: -1; border-radius: 16px; padding: 1.4px;
  background: conic-gradient(from var(--gd-spin), transparent 0 60%, rgba(235,183,95,.9) 78%, rgba(99,230,255,.55) 88%, transparent 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  animation: gdProcSpin 5.5s linear infinite;
}
.gd-web-process-wrap .gd-web-process > div:nth-child(2)::before { animation-delay: -1.8s; }
.gd-web-process-wrap .gd-web-process > div:nth-child(3)::before { animation-delay: -3.6s; }
.gd-web-process-wrap .gd-web-process > div span { display: grid; place-items: center; width: 48px; height: 48px; margin: 0 0 24px; border-radius: 50%; font-size: 16px; font-weight: 800; }
.gd-web-process-wrap .gd-web-process > div h3 { margin: 0 0 10px; font-size: 19px; }
.gd-web-process-wrap .gd-web-process > div p { margin: 0; font-size: 13.5px; line-height: 1.6; }

@media (max-width: 760px) {
  .gd-web-process-wrap .gd-web-process { grid-template-columns: 1fr; gap: 12px; }
  .gd-web-process-wrap .gd-web-process > div {
    display: grid; grid-template-columns: 44px 1fr; align-items: center; column-gap: 15px; row-gap: 3px;
    padding: 15px 17px; border-radius: 14px;
  }
  .gd-web-process-wrap .gd-web-process > div span { grid-row: 1 / 3; grid-column: 1; width: 44px; height: 44px; margin: 0; font-size: 16px; }
  .gd-web-process-wrap .gd-web-process > div h3 { grid-column: 2; grid-row: 1; margin: 0; font-size: 16px; }
  .gd-web-process-wrap .gd-web-process > div p { grid-column: 2; grid-row: 2; margin: 0; font-size: 12.5px; line-height: 1.5; }
}
@media (prefers-reduced-motion: reduce) {
  .gd-web-process-wrap .gd-web-process > div::before { animation: none; background: rgba(235,183,95,.4); }
}

/* =============================================================
   Plano — WARM homepage theme  (2026-07, rev2)
   Append-only override layer, scoped to .gw-warm (homepage main)
   and body:has(.gw-warm) for the shared header/footer.
   Other gw-* pages keep the dark theme untouched.
   ============================================================= */
.gw-warm {
  --gw-bg: #f4ede1;
  --gw-panel: #fffdf8;
  --gw-panel-2: #efe6d7;
  --gw-line: rgba(52, 38, 22, .12);
  --gw-gold: #a8763a;
  --gw-gold-light: #8c5f2b;
  --gw-text: #2b211a;
  --gw-muted: #6a6154;
  --gw-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --gw-sans: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  background: var(--gw-bg);
  color: var(--gw-text);
  color-scheme: light;
}
body:has(.gw-warm) { background: #f4ede1; }

/* ---- TYPOGRAPHY SYSTEM ------------------------------------------------
   Serif = the hero headline ONLY (major emotional moment).
   Everything else is a clean, scannable sans.                          */
.gw-warm .gw-hero h1 {
  font-family: var(--gw-serif);
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1.03;
  color: var(--gw-text);
}
.gw-warm .gw-hero h1 em { color: var(--gw-gold); font-style: italic; }
.gw-warm .gw-section__head h2,
.gw-warm .gw-content-section h2,
.gw-warm .gw-w-offercopy h2,
.gw-warm .gw-founder h2,
.gw-warm .gw-closing h2 {
  font-family: var(--gw-sans);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.12;
  color: var(--gw-text);
}
.gw-warm .gw-kicker { color: var(--gw-gold); }
.gw-warm .gw-lead { color: #5f574b; }
.gw-warm .gw-offerline { color: var(--gw-muted); }
.gw-warm .gw-offerline i { color: var(--gw-gold); }
.gw-warm .gw-text-link { color: var(--gw-gold) !important; border-bottom-color: rgba(168, 118, 58, .5); }

/* ---- Hero ---- */
.gw-warm .gw-hero {
  border-bottom: 1px solid var(--gw-line);
  background:
    radial-gradient(circle at 78% 28%, rgba(168, 118, 58, .12), transparent 42%),
    linear-gradient(180deg, #f8f2e8, #f0e7d9);
}
.gw-warm .gw-hero::before {
  opacity: .55;
  background-image:
    linear-gradient(rgba(90, 70, 40, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(90, 70, 40, .05) 1px, transparent 1px);
}

/* NOSTOS — bespoke editorial restaurant concept inside the hero devices. */
.gw-warm .gw-device--hero:not(.is-device-ready) .gw-nostos { opacity:.18; transform:perspective(900px) rotateX(-72deg); }
.gw-warm .gw-device--hero:not(.is-device-ready) .gw-device__phone { opacity:0; transform:translate3d(34px,18px,0) rotate(7deg); }
.gw-warm .gw-device--hero:not(.is-device-ready) .gw-nostos__copy > * { opacity:0; transform:translateY(12px); }
.gw-js .gw-warm .gw-hero--studio .gw-hero__copy > * { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .8s cubic-bezier(.2,.75,.2,1); }
.gw-js .gw-warm .gw-hero--studio.is-hero-ready .gw-hero__copy > * { opacity: 1; transform: none; }
.gw-js .gw-warm .gw-hero--studio.is-hero-ready .gw-hero__copy > :nth-child(2) { transition-delay: .08s; }
.gw-js .gw-warm .gw-hero--studio.is-hero-ready .gw-hero__copy > :nth-child(3) { transition-delay: .16s; }
.gw-js .gw-warm .gw-hero--studio.is-hero-ready .gw-hero__copy > :nth-child(4) { transition-delay: .24s; }
.gw-js .gw-warm .gw-hero--studio.is-hero-ready .gw-hero__copy > :nth-child(5) { transition-delay: .32s; }
.gw-warm .gw-device--hero::after { left:3%; right:-4%; bottom:-1%; height:30%; border:1px solid rgba(112,84,52,.18); background:linear-gradient(180deg,#f7f0e5 0 56%,#d9cbb8 57% 72%,#b7a68f); box-shadow:0 34px 46px rgba(66,45,24,.24),inset 0 9px 18px rgba(255,255,255,.78); transform:rotateX(70deg) translateY(22%); }
.gw-nostos { position:relative; background:#17130f; transform-origin:50% 100%; transform-style:preserve-3d; }
.gw-nostos::after { content:""; position:absolute; z-index:5; inset:0; pointer-events:none; background:linear-gradient(112deg,transparent 35%,rgba(255,255,255,.2) 49%,transparent 63%); transform:translateX(-120%); }
.gw-nostos__nav { display:flex; align-items:center; height:15%; padding:0 4.5%; background:#f1eadf; color:#17130f; }
.gw-nostos__nav b { display:grid; font:700 clamp(12px,1.35vw,20px)/.9 var(--gw-serif); letter-spacing:.08em; }
.gw-nostos__nav b small { margin-top:4px; color:#806443; font:700 5px/1 Inter,sans-serif; letter-spacing:.22em; }
.gw-nostos__nav nav { display:flex; gap:clamp(9px,1.4vw,22px); margin-left:auto; font:700 clamp(5px,.48vw,7px)/1 Inter,sans-serif; letter-spacing:.12em; }
.gw-nostos__nav > i { margin-left:4%; padding:7px 9px; border:1px solid #806443; font:800 clamp(5px,.5vw,7px)/1 Inter,sans-serif; font-style:normal; letter-spacing:.08em; }
.gw-nostos__scene { position:relative; height:85%; overflow:hidden; color:#fff; background:#22170f; }
.gw-nostos__scene::before { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(14,9,6,.92),rgba(14,9,6,.66) 41%,rgba(14,9,6,.08) 72%),linear-gradient(180deg,transparent 62%,rgba(12,8,5,.55)); }
.gw-nostos__scene > img { width:100%; height:100%; object-fit:cover; object-position:58% center; filter:saturate(.78) contrast(1.08) sepia(.08); }
.gw-nostos__copy { position:absolute; z-index:2; top:14%; left:6%; width:47%; }
.gw-nostos__copy > small { color:#dcb575; font:800 clamp(5px,.52vw,8px)/1 Inter,sans-serif; letter-spacing:.2em; }
.gw-nostos__copy strong { display:block; margin:6% 0 4%; font:600 clamp(23px,3.1vw,47px)/.82 var(--gw-serif); letter-spacing:-.025em; }
.gw-nostos__copy strong em { color:#e0bd82; font-weight:500; }
.gw-nostos__copy p { max-width:260px; margin:0 0 7%; color:rgba(255,255,255,.72); font:500 clamp(6px,.62vw,9px)/1.55 Inter,sans-serif; }
.gw-nostos__copy a { display:inline-flex; align-items:center; gap:14px; padding:clamp(7px,.8vw,11px) clamp(10px,1.25vw,18px); background:#d7aa64; color:#21150d; font:900 clamp(6px,.58vw,8px)/1 Inter,sans-serif; letter-spacing:.11em; }
.gw-nostos__service { position:absolute; z-index:2; right:5%; bottom:7%; display:grid; grid-template-columns:auto auto; gap:9px; align-items:center; padding:8px 10px; border-top:1px solid rgba(255,255,255,.5); background:rgba(18,12,8,.48); backdrop-filter:blur(7px); }
.gw-nostos__service b { color:#dcb575; font:500 clamp(13px,1.45vw,22px)/1 var(--gw-serif); }
.gw-nostos__service span { font:800 clamp(5px,.5vw,7px)/1.35 Inter,sans-serif; letter-spacing:.1em; }
.gw-nostos__service small { color:rgba(255,255,255,.58); font:inherit; }
.gw-nostos__side { position:absolute; z-index:2; top:11%; right:2%; color:rgba(255,255,255,.56); font:700 5px/1 Inter,sans-serif; letter-spacing:.14em; writing-mode:vertical-rl; }
.gw-nostos-mobile { gap:0; padding:0; background:#17130f; }
.gw-nostos-mobile header { display:flex; width:100%; align-items:center; justify-content:space-between; padding:18px 10px 10px; color:#eee3d4; }
.gw-nostos-mobile header b { font:700 10px/1 var(--gw-serif); letter-spacing:.12em; }
.gw-nostos-mobile header i { font-size:9px; font-style:normal; }
.gw-nostos-mobile > div { position:relative; flex:1; width:100%; overflow:hidden; padding:77% 10px 12px; }
.gw-nostos-mobile > div::before { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(180deg,transparent 25%,rgba(16,10,6,.96) 72%); }
.gw-nostos-mobile img { position:absolute; inset:0; width:100%; height:100%; margin:0; object-fit:cover; object-position:64% center; filter:saturate(.72) contrast(1.08); }
.gw-nostos-mobile span,.gw-nostos-mobile strong,.gw-nostos-mobile a { position:relative; z-index:2; }
.gw-nostos-mobile span { padding:0; background:none; color:#dcb575; font-size:5px; letter-spacing:.17em; }
.gw-nostos-mobile strong { margin:7px 0 10px; font:600 16px/.9 var(--gw-serif); }
.gw-nostos-mobile strong em { color:#e0bd82; }
.gw-nostos-mobile a { align-self:flex-start; padding:7px 9px; background:#d7aa64; color:#21150d; font-size:6px; font-weight:900; letter-spacing:.1em; }
@media (prefers-reduced-motion:no-preference) {
  .gw-warm .gw-device--hero.is-device-ready .gw-device__laptop { animation:gw-hero-float 7s ease-in-out 1.25s infinite; }
  .gw-warm .gw-device--hero.is-device-ready .gw-nostos { animation:gw-nostos-open 1.05s cubic-bezier(.18,.78,.2,1) .2s both; }
  .gw-warm .gw-device--hero.is-device-ready .gw-nostos::after { animation:gw-nostos-shine 1.2s cubic-bezier(.2,.7,.2,1) .65s both; }
  .gw-warm .gw-device--hero.is-device-ready .gw-nostos__copy > * { animation:gw-nostos-copy .7s ease both; }
  .gw-warm .gw-device--hero.is-device-ready .gw-nostos__copy > :nth-child(1){animation-delay:.78s}.gw-warm .gw-device--hero.is-device-ready .gw-nostos__copy > :nth-child(2){animation-delay:.86s}.gw-warm .gw-device--hero.is-device-ready .gw-nostos__copy > :nth-child(3){animation-delay:.94s}.gw-warm .gw-device--hero.is-device-ready .gw-nostos__copy > :nth-child(4){animation-delay:1.02s}
  .gw-warm .gw-device--hero.is-device-ready .gw-device__phone { animation:gw-nostos-phone-in .85s cubic-bezier(.2,.8,.2,1) .8s both,gw-float-phone 5s ease-in-out 1.7s infinite; }
  .gw-warm .gw-device--hero.is-device-ready .gw-nostos__scene > img { animation:gw-hero-image 12s ease-in-out 1.1s infinite alternate; }
  @keyframes gw-hero-float { 50% { transform:rotateY(-2deg) rotateX(1deg) translateY(-7px); } }
  @keyframes gw-nostos-open { from { opacity:.18; transform:perspective(900px) rotateX(-72deg); } to { opacity:1; transform:perspective(900px) rotateX(0); } }
  @keyframes gw-nostos-copy { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
  @keyframes gw-nostos-phone-in { from { opacity:0; transform:translate3d(34px,18px,0) rotate(7deg); } to { opacity:1; transform:none; } }
  @keyframes gw-nostos-shine { to { transform:translateX(120%); } }
  @keyframes gw-hero-image { to { transform:scale(1.035) translate3d(-.5%,-.4%,0); } }
}

/* Recovered multi-industry orbit, recoloured for the current warm brand. */
.gw-w-offer > .gd-web-visual { height:430px; min-width:0; }
.gw-w-offer .gd-web-visual__orbit { width:390px; height:390px; border-color:rgba(183,136,76,.38); box-shadow:0 0 80px rgba(183,136,76,.14); }
.gw-w-offer .gd-web-window { width:min(470px,32vw); border-color:rgba(112,84,52,.18); box-shadow:0 45px 90px rgba(82,59,35,.24); }
.gw-w-offer .gd-web-window__bar { background:#ede4d7; }
.gw-w-offer .gd-web-window__content { background:linear-gradient(135deg,#211b16,#5a4029); }
.gw-w-offer .gd-web-window__content::after { border-color:rgba(215,170,100,.28); }
.gw-w-offer .gd-web-window__content em { background:linear-gradient(160deg,rgba(215,170,100,.75),rgba(85,57,31,.15)); }
.gw-w-offer .gd-web-window__layout { background:#f6efe5; }
.gw-w-offer .gd-web-window__layout b { background:#d7c4a9; }
.gw-w-offer .gd-web-window__layout span { background:#eadfce; }
@media (max-width:900px) {
  .gw-w-offer > .gd-web-visual { grid-column:1/-1; height:390px; }
  .gw-w-offer .gd-web-window { width:min(580px,76vw); }
}
@media (max-width:560px) {
  .gw-w-offer > .gd-web-visual { height:310px; }
  .gw-w-offer .gd-web-visual__orbit { width:280px; height:280px; }
  .gw-w-offer .gd-web-window { width:82vw; }
}

/* ---- TIGHTER VERTICAL RHYTHM (spacing cut ~45%) ---- */
.gw-warm .gw-featured { padding-block: 62px; }
.gw-warm .gw-content-section { padding-block: 60px; }
.gw-warm .gw-founder { padding-block: 64px; }
.gw-warm .gw-process-compact { padding-block: 60px; }
.gw-warm .gw-closing { margin-block: 46px; }
.gw-warm .gw-section__head { margin-bottom: 30px; }
.gw-warm .gw-offer { margin-block: 20px 70px; padding-block: clamp(30px, 4vw, 52px); }

/* ---- Header (shared part, warm only on homepage) ---- */
body:has(.gw-warm) .gw-header,
body:has(.gw-warm) .gw-header--island {
  border-color: var(--gw-line);
  background: rgba(249, 244, 236, .9);
  box-shadow: 0 14px 40px rgba(90, 65, 30, .1);
  backdrop-filter: blur(16px);
}
body:has(.gw-warm) .gw-header.is-scrolled { background: rgba(249, 244, 236, .97); }
body:has(.gw-warm) .gw-nav a,
body:has(.gw-warm) .gw-mega > summary { color: #4a4136; }
body:has(.gw-warm) .gw-nav a:hover,
body:has(.gw-warm) .gw-mega[open] > summary { color: var(--gw-gold); }
body:has(.gw-warm) .gw-brand > span { color: var(--gw-gold); }
body:has(.gw-warm) .gw-menu summary { border-color: var(--gw-line); }
body:has(.gw-warm) .gw-menu summary span { background: #4a4136; }
body:has(.gw-warm) .gw-menu nav { background: var(--gw-panel); border-color: var(--gw-line); }
body:has(.gw-warm) .gw-menu nav a:not(.gw-button) { color: #4a4136; }
body:has(.gw-warm) .gw-mega__panel {
  border-color: var(--gw-line);
  background: var(--gw-panel);
  box-shadow: 0 30px 70px rgba(80, 55, 25, .18);
}
body:has(.gw-warm) .gw-mega__panel small { color: var(--gw-gold); }
body:has(.gw-warm) .gw-mega__panel a b { color: var(--gw-text); }
body:has(.gw-warm) .gw-mega__panel a span { color: var(--gw-muted); }
body:has(.gw-warm) .gw-mega__panel a:not(.gw-mega__feature):hover { background: rgba(80, 55, 25, .05); }
body:has(.gw-warm) .gw-mega__feature {
  border-color: rgba(168, 118, 58, .3);
  background: radial-gradient(circle at 80% 10%, rgba(168, 118, 58, .16), transparent 30%), linear-gradient(145deg, #efe4d2, #e7dbc6 66%);
}
body:has(.gw-warm) .gw-mega__feature b { color: var(--gw-text); }

/* ---- Outcomes row (3 gold-icon cards) — tighter, less air ---- */
.gw-warm .gw-w-outcomes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 40px 28px 14px;
}
.gw-warm .gw-w-outcomes article {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 18px;
  align-items: start;
  padding: 24px;
  border: 1px solid var(--gw-line);
  border-radius: 16px;
  background: var(--gw-panel);
  box-shadow: 0 18px 44px -28px rgba(90, 60, 25, .45);
}
.gw-warm .gw-w-icon {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(150deg, #ecd7ac, #c9a96a);
  color: #6b4a1e;
}
.gw-warm .gw-w-icon svg { width: 24px; height: 24px; }
.gw-warm .gw-w-outcomes h2 { margin: 2px 0 5px; font-family: var(--gw-sans); font-size: 18px; font-weight: 700; letter-spacing: -.01em; color: var(--gw-text); }
.gw-warm .gw-w-outcomes p { margin: 0; color: var(--gw-muted); font-size: 13.5px; line-height: 1.55; }

/* ---- Samples ("how your business could look") ---- */
.gw-warm .gw-w-samples { max-width: 1180px; margin: 0 auto; padding: 46px 28px 56px; }
.gw-warm .gw-w-samples .gw-section__head { margin: 0 auto 28px; text-align: center; }
.gw-warm .gw-w-samples__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.gw-warm .gw-w-sample { display: flex; flex-direction: column; }
.gw-warm .gw-w-sample__img {
  display: block;
  position: relative;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border: 1px solid var(--gw-line);
  border-radius: 16px;
  box-shadow: 0 20px 50px -28px rgba(80, 55, 25, .5);
}
.gw-warm .gw-w-sample__img img { width: 100%; height: 100%; object-fit: cover; }
.gw-warm .gw-w-sample__img--resto { background: linear-gradient(150deg, #8a5c34, #3a2416); }
.gw-warm .gw-w-sample__img--villa { background: linear-gradient(150deg, #4a8a92, #153840); }
.gw-warm .gw-w-sample__img--pro   { background: linear-gradient(150deg, #5a6577, #242c38); }
.gw-warm .gw-w-sample h3 { margin: 16px 0 4px; font-family: var(--gw-sans); font-weight: 700; font-size: 18px; color: var(--gw-text); }
.gw-warm .gw-w-sample p { margin: 0; color: var(--gw-muted); font-size: 14px; }
.gw-warm .gw-w-sample__link { margin-top: 12px; color: var(--gw-gold); font-size: 13px; font-weight: 800; }

/* ---- Service grid ---- */
.gw-warm .gw-content-section h2 { letter-spacing: -.02em; }
.gw-warm .gw-service-card {
  border-color: var(--gw-line);
  background: var(--gw-panel);
  box-shadow: 0 16px 40px -28px rgba(80, 55, 25, .45);
}
.gw-warm .gw-service-card::after { border-color: rgba(168, 118, 58, .18); box-shadow: 0 0 0 28px rgba(168, 118, 58, .04), 0 0 0 56px rgba(168, 118, 58, .03); }
.gw-warm .gw-service-card span { color: var(--gw-gold); }
.gw-warm .gw-service-card h3 { color: var(--gw-text); }
.gw-warm .gw-service-card p { color: var(--gw-muted); }
.gw-warm .gw-service-card a { color: var(--gw-gold); }

/* ---- Featured projects (warm sand band) ---- */
.gw-warm .gw-featured { border-block: 1px solid var(--gw-line); background: linear-gradient(160deg, #efe5d4, #e7dcc8); }
.gw-warm .gw-featured .gw-section__head p:last-child { color: var(--gw-muted); }
.gw-warm .gw-project { border-color: var(--gw-line); background: var(--gw-panel); box-shadow: 0 18px 44px -26px rgba(80, 55, 25, .4); }
.gw-warm .gw-project:hover { border-color: rgba(168, 118, 58, .45); }
.gw-warm .gw-project__image { background: #e7dcc8; }
.gw-warm .gw-project__meta i,
.gw-warm .gw-project__meta b { color: var(--gw-gold); }
.gw-warm .gw-project__meta strong { color: var(--gw-text); }
.gw-warm .gw-project__meta small { color: var(--gw-muted); }

/* ---- OFFER / PRICING — rebuilt: price | copy | 3D rig ---- */
.gw-warm .gw-offer {
  display: grid;
  grid-template-columns: minmax(210px, .62fr) minmax(0, 1fr) minmax(280px, .9fr);
  gap: clamp(28px, 4vw, 54px);
  align-items: center;
  max-width: 1180px;
  padding-inline: clamp(28px, 4vw, 52px);
  border: 1px solid rgba(168, 118, 58, .28);
  background: radial-gradient(circle at 12% 24%, rgba(168, 118, 58, .12), transparent 42%), linear-gradient(150deg, #fffdf8, #f3e9d9);
  box-shadow: 0 30px 80px -42px rgba(90, 60, 25, .5);
}
/* Equal visual weight keeps both mandatory charges clear. */
.gw-warm .gw-w-price { display:grid; gap:12px; align-content:start; padding-right:clamp(0px,2vw,28px); border-right:1px solid var(--gw-line); }
.gw-warm .gw-w-price .gw-kicker { margin:0 0 2px; }
.gw-price-lines > p:not(.gw-kicker) { display:grid; gap:3px; margin:0; }
.gw-price-lines > p strong { color:var(--gw-gold-light); font-size:clamp(20px,2.1vw,28px); line-height:1.1; letter-spacing:-.02em; }
.gw-warm .gw-price-lines > p strong { color:var(--gw-gold); }
.gw-price-lines > p span,.gw-price-lines > small { color:var(--gw-muted); font-size:12px; line-height:1.5; }
.gw-price-lines > small:last-child { font-weight:750; }
/* middle copy */
.gw-warm .gw-w-offercopy h2 { margin: 0; font-size: clamp(26px, 2.6vw, 34px); }
.gw-warm .gw-w-offercopy > p { margin: 12px 0 0; color: var(--gw-muted); font-size: 15px; line-height: 1.65; }
.gw-warm .gw-w-incl { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 18px; margin: 18px 0 22px; padding: 0; list-style: none; }
.gw-warm .gw-w-incl li { position: relative; padding-left: 24px; color: var(--gw-text); font-size: 14px; }
.gw-warm .gw-w-incl li::before { content: "✓"; position: absolute; left: 0; color: var(--gw-gold); font-weight: 800; }

/* ---- 3D scroll rig: desktop browser turns, phone emerges, both settle ---- */
.gw-warm .gw-w-rig {
  --p: 0;    /* browser rotation 0..1 */
  --p2: 0;   /* phone emerge 0..1 */
  position: relative;
  display: grid;
  place-items: center;
  min-height: 300px;
  perspective: 1300px;
}
.gw-warm .gw-w-rig__browser {
  position: relative;
  z-index: 1;
  width: min(340px, 100%);
  overflow: hidden;
  border-radius: 12px;
  border: 1px solid var(--gw-line);
  background: #fff;
  box-shadow: 0 30px 70px -24px rgba(60, 40, 18, .55);
  transform-origin: 60% 50%;
  transform: translateX(calc(var(--p) * -34px)) rotateY(calc(var(--p) * -22deg)) rotateX(calc(var(--p) * 3deg));
  transition: transform .1s linear;
  backface-visibility: hidden;
}
.gw-warm .gw-w-rig__chrome { display: flex; gap: 6px; align-items: center; height: 26px; padding: 0 12px; background: #efe7d8; }
.gw-warm .gw-w-rig__chrome b { width: 9px; height: 9px; border-radius: 50%; background: #cdbb95; }
.gw-warm .gw-w-rig__screen { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
.gw-warm .gw-w-rig__screen img { width: 100%; height: 100%; object-fit: cover; }
.gw-warm .gw-w-rig__cap { position: absolute; left: 16px; bottom: 14px; display: grid; gap: 5px; color: #fff; text-shadow: 0 2px 10px rgba(0,0,0,.5); }
.gw-warm .gw-w-rig__cap small { font-size: 8px; letter-spacing: .16em; color: #f1cf97; }
.gw-warm .gw-w-rig__cap strong { font-family: var(--gw-serif); font-weight: 600; font-size: 19px; line-height: 1.02; }
.gw-warm .gw-w-rig__phone {
  position: absolute;
  z-index: 2;
  right: clamp(4px, 6%, 34px);
  bottom: 6px;
  width: 92px;
  overflow: hidden;
  border-radius: 18px;
  border: 5px solid #2c2620;
  background: #14100c;
  box-shadow: 0 22px 44px -12px rgba(50, 32, 14, .6);
  transform: translateX(calc(60px - var(--p2) * 60px)) translateY(calc(24px - var(--p2) * 24px)) scale(calc(.82 + var(--p2) * .18));
  opacity: var(--p2);
  transition: transform .1s linear, opacity .1s linear;
}
.gw-warm .gw-w-rig__notch { position: absolute; z-index: 3; top: 5px; left: 50%; width: 38%; height: 8px; transform: translateX(-50%); border-radius: 0 0 7px 7px; background: #2c2620; }
.gw-warm .gw-w-rig__phone > img { width: 100%; aspect-ratio: 9 / 15; object-fit: cover; }
.gw-warm .gw-w-rig__pcap { position: absolute; left: 9px; right: 9px; bottom: 9px; display: grid; gap: 6px; color: #fff; }
.gw-warm .gw-w-rig__pcap strong { font-family: var(--gw-serif); font-weight: 600; font-size: 12px; line-height: 1.05; text-shadow: 0 2px 8px rgba(0,0,0,.6); }
.gw-warm .gw-w-rig__pcap em { justify-self: start; padding: 4px 9px; border-radius: 99px; background: var(--gw-gold); color: #17110b; font-size: 8px; font-style: normal; font-weight: 800; }
.gw-warm .gw-w-rig__hint { position: absolute; bottom: -6px; left: 50%; transform: translateX(-50%); margin: 0; color: var(--gw-gold); font-size: 9px; font-weight: 800; letter-spacing: .3em; opacity: calc(1 - var(--p2)); }

/* ---- Founder ---- */
.gw-warm .gw-founder { border-top: 1px solid var(--gw-line); }
.gw-warm .gw-founder__mark { border-color: rgba(168, 118, 58, .3); background: radial-gradient(circle, rgba(168, 118, 58, .14), transparent 65%); }
.gw-warm .gw-founder__mark img { filter: none; }
.gw-warm .gw-founder strong { color: var(--gw-text); }

/* ---- Process (warm alt band) ---- */
.gw-warm .gw-process-compact { background: linear-gradient(160deg, #efe5d4, #e7dcc8); }
.gw-warm .gw-process-compact > div:last-child { border-block: 1px solid var(--gw-line); }
.gw-warm .gw-process-compact article + article { border-left: 1px solid var(--gw-line); }
.gw-warm .gw-process-compact span { color: var(--gw-gold); }
.gw-warm .gw-process-compact h3 { color: var(--gw-text); }
.gw-warm .gw-process-compact p { color: var(--gw-muted); }

/* ---- Closing ---- */
.gw-warm .gw-closing { border: 1px solid rgba(168, 118, 58, .28); background: linear-gradient(135deg, #fffdf8, #f0e6d5); box-shadow: 0 30px 80px -45px rgba(90, 60, 25, .5); }
.gw-warm .gw-closing > div:last-child p { color: var(--gw-muted); }

/* ---- Footer (shared part, warm only on homepage) ---- */
body:has(.gw-warm) .gw-footer { border-top: 1px solid var(--gw-line); background: #efe6d6; }
body:has(.gw-warm) .gw-footer__intro p { color: var(--gw-muted); }
body:has(.gw-warm) .gw-footer__intro > a:last-child { color: var(--gw-gold); }
body:has(.gw-warm) .gw-footer__links strong { color: var(--gw-gold); }
body:has(.gw-warm) .gw-footer__links a { color: #6a6154; }
body:has(.gw-warm) .gw-footer__links a:hover { color: var(--gw-text); }
body:has(.gw-warm) .gw-footer__bottom { border-top: 1px solid var(--gw-line); color: #8c8173; }

/* Homepage conversion polish: stronger hierarchy, purposeful motion, no extra dependencies. */
.gw-warm .gw-hero--studio h1 { max-width:680px; font-size:clamp(48px,4.7vw,72px); line-height:1.01; }
.gw-warm .gw-w-outcomes__intro { grid-column:1/-1; max-width:760px; margin:0 auto 16px; text-align:center; }
.gw-warm .gw-w-outcomes__intro h2 { margin:8px 0 0; color:var(--gw-text); font:800 clamp(28px,3vw,42px)/1.08 var(--gw-sans); letter-spacing:-.035em; }
.gw-warm .gw-w-outcomes article { transition:transform .35s cubic-bezier(.2,.75,.2,1),box-shadow .35s ease,border-color .35s ease; }
.gw-warm .gw-w-outcomes article:hover { transform:translateY(-6px); border-color:rgba(168,118,58,.42); box-shadow:0 24px 48px -34px rgba(72,45,17,.65); }

.gw-warm .gw-w-samples { position:relative; isolation:isolate; max-width:none; padding-inline:max(28px,calc((100vw - 1180px)/2)); overflow:hidden; background:linear-gradient(180deg,rgba(231,220,200,.28),rgba(255,253,248,.8)); }
.gw-warm .gw-w-samples::before { content:""; position:absolute; z-index:-1; width:520px; height:520px; top:-300px; left:50%; border:1px solid rgba(168,118,58,.16); border-radius:50%; box-shadow:0 0 0 72px rgba(168,118,58,.035),0 0 0 144px rgba(168,118,58,.025); transform:translateX(-50%); }
.gw-warm .gw-w-samples .gw-section__head { max-width:850px; }
.gw-warm .gw-w-samples .gw-section__head > p:last-child { max-width:690px; margin:14px auto 0; color:var(--gw-muted); line-height:1.65; }
.gw-warm .gw-w-sample { padding:12px 12px 20px; border:1px solid rgba(168,118,58,.18); border-radius:20px; background:rgba(255,253,248,.82); box-shadow:0 24px 60px -45px rgba(67,42,17,.65); transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease; }
.gw-warm .gw-w-sample:nth-child(2) { transform:translateY(22px); }
.gw-warm .gw-w-sample:hover { transform:translateY(-8px) rotateX(1deg); box-shadow:0 34px 75px -42px rgba(67,42,17,.78); }
.gw-warm .gw-w-sample:nth-child(2):hover { transform:translateY(10px) rotateX(1deg); }
.gw-warm .gw-w-sample h3,.gw-warm .gw-w-sample p,.gw-warm .gw-w-sample__link { margin-inline:6px; }

.gw-warm .gw-founder { position:relative; overflow:hidden; }
.gw-warm .gw-founder::before { content:""; position:absolute; inset:12% auto auto 8%; width:360px; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(168,118,58,.14),transparent 68%); filter:blur(18px); }
.gw-founder__signal { position:relative; display:grid; width:min(390px,86vw); aspect-ratio:1; place-items:center; margin:auto; }
.gw-founder__signal .gw-founder__mark { z-index:2; width:44%; border:1px solid rgba(168,118,58,.42); box-shadow:0 20px 55px -30px rgba(70,43,15,.8),inset 0 0 38px rgba(168,118,58,.12); }
.gw-founder__orbit { position:absolute; border:1px solid rgba(168,118,58,.28); border-radius:50%; }
.gw-founder__orbit--one { inset:12%; }
.gw-founder__orbit--two { inset:2%; border-style:dashed; }
.gw-founder__orbit::after { content:""; position:absolute; top:50%; right:-5px; width:10px; height:10px; border-radius:50%; background:var(--gw-gold); box-shadow:0 0 0 7px rgba(168,118,58,.12),0 0 24px rgba(168,118,58,.6); }
.gw-founder__chip { position:absolute; z-index:3; padding:8px 12px; border:1px solid rgba(168,118,58,.3); border-radius:999px; background:rgba(255,253,248,.88); color:#795326; box-shadow:0 14px 30px -18px rgba(62,38,12,.7); font-size:9px; font-weight:900; letter-spacing:.16em; backdrop-filter:blur(8px); }
.gw-founder__chip--design { top:10%; left:7%; }
.gw-founder__chip--build { top:48%; right:-1%; }
.gw-founder__chip--support { bottom:9%; left:12%; }
@media (prefers-reduced-motion:no-preference) {
  .gw-founder__orbit--one { animation:gw-founder-spin 12s linear infinite; }
  .gw-founder__orbit--two { animation:gw-founder-spin 19s linear infinite reverse; }
  .gw-founder__signal .gw-founder__mark { animation:gw-founder-pulse 4.5s ease-in-out infinite; }
  .gw-founder__chip { animation:gw-founder-chip 4s ease-in-out infinite; }
  .gw-founder__chip--build { animation-delay:-1.3s; }.gw-founder__chip--support { animation-delay:-2.6s; }
}
@keyframes gw-founder-spin { to { transform:rotate(360deg); } }
@keyframes gw-founder-pulse { 50% { transform:scale(1.055); box-shadow:0 30px 70px -30px rgba(70,43,15,.8),inset 0 0 48px rgba(168,118,58,.18); } }
@keyframes gw-founder-chip { 50% { transform:translateY(-7px); } }

.gw-warm .gw-closing--quiz { grid-template-columns:.8fr 1.2fr; align-items:start; max-width:1164px; }
.gw-warm .gw-closing--quiz > div > p:last-child { color:var(--gw-muted); }
.gw-warm .gw-closing--quiz .gw-form { padding:0; border:0; background:transparent; box-shadow:none; }
.gw-warm .gw-closing--quiz .gw-quiz { min-height:320px; }
.gw-warm .gw-closing--quiz .gw-quiz__step > small,.gw-warm .gw-closing--quiz .gw-quiz__progress b { color:var(--gw-gold); }
.gw-warm .gw-closing--quiz .gw-quiz__step > h3 { color:var(--gw-text); font-size:clamp(24px,2.8vw,34px); }
.gw-warm .gw-closing--quiz .gw-quiz__step label { color:var(--gw-muted); }
.gw-warm .gw-closing--quiz .gw-quiz__step input { border-color:rgba(168,118,58,.28); background:rgba(255,255,255,.72); color:var(--gw-text); }
.gw-warm .gw-closing--quiz .gw-quiz__step input:focus { border-color:var(--gw-gold); box-shadow:0 0 0 4px rgba(168,118,58,.1); }
.gw-warm .gw-closing--quiz .gw-quiz__progress > span { background:rgba(168,118,58,.12); }
.gw-warm .gw-closing--quiz .gw-quiz__back { color:#786b5d; }
.gw-warm .gw-closing--quiz [data-gd-form-note] { color:var(--gw-muted); }

.gw-project img[src*="dromeasrho-v2"] { object-position:center; }

@media (prefers-reduced-motion: reduce) {
  .gw-warm .gw-w-rig__browser { transform: translateX(-30px) rotateY(-20deg); }
  .gw-warm .gw-w-rig__phone { transform: translateX(0) translateY(0) scale(1); opacity: 1; }
  .gw-warm .gw-w-rig__hint { display: none; }
}
@media (max-width: 900px) {
  .gw-warm .gw-w-outcomes { grid-template-columns: 1fr; padding-top: 34px; }
  .gw-warm .gw-w-samples__grid { grid-template-columns: 1fr; }
  .gw-warm .gw-w-sample:nth-child(2),.gw-warm .gw-w-sample:nth-child(2):hover { transform:none; }
  .gw-warm .gw-offer { grid-template-columns: 1fr 1fr; }
  .gw-warm .gw-w-price { border-right: 0; border-bottom: 1px solid var(--gw-line); padding: 0 0 20px; grid-column: 1 / -1; }
  .gw-warm .gw-w-rig { min-height: 260px; }
}
@media (max-width: 640px) {
  .gw-warm .gw-hero--studio h1 { font-size:clamp(40px,11.8vw,54px); }
  .gw-warm .gw-device--hero { margin-top:4px; padding-right:14px; }
  .gw-warm .gw-device__phone { right:-1px; width:27%; min-width:92px; }
  .gw-warm .gw-nostos-mobile header { padding:13px 8px 8px; }
  .gw-warm .gw-nostos-mobile > div { padding:66% 8px 10px; }
  .gw-warm .gw-nostos-mobile strong { max-width:100%; margin:6px 0 8px; font-size:11px; line-height:.94; overflow-wrap:normal; }
  .gw-warm .gw-nostos-mobile span { font-size:4px; }
  .gw-warm .gw-nostos-mobile a { max-width:100%; padding:6px 7px; font-size:5px; white-space:nowrap; }
  .gw-warm .gw-w-outcomes { padding-inline:18px; }
  .gw-warm .gw-w-outcomes__intro { text-align:left; }
  .gw-warm .gw-w-outcomes__intro h2 { font-size:30px; }
  .gw-warm .gw-w-samples { padding-inline:18px; }
  .gw-warm .gw-founder { gap:34px; }
  .gw-founder__signal { width:min(300px,82vw); }
  .gw-warm .gw-closing--quiz { grid-template-columns:1fr; gap:30px; }
  .gw-warm .gw-offer { grid-template-columns: 1fr; }
  .gw-warm .gw-w-incl { grid-template-columns: 1fr; }
}

/* /preview — one focused paid-traffic funnel */
.gw-preview { --p-bg:#080b0d; --p-panel:#111518; --p-panel-2:#171b1e; --p-text:#f5f0e7; --p-muted:#aaa49a; --p-gold:#d7a958; --p-line:rgba(215,169,88,.2); min-height:100vh; overflow:hidden; background:var(--p-bg); color:var(--p-text); }
.gw-preview :is(h1,h2,h3,p) { text-wrap:balance; }
.gw-preview .gw-kicker { color:var(--p-gold); }
.gwp-header { position:sticky; z-index:30; top:0; display:flex; align-items:center; justify-content:space-between; width:min(1240px,calc(100% - 40px)); margin:16px auto 0; padding:12px 14px 12px 20px; border:1px solid var(--p-line); border-radius:18px; background:rgba(11,14,16,.85); box-shadow:0 20px 60px rgba(0,0,0,.3); backdrop-filter:blur(18px); }
.gwp-header .gw-brand--text strong,.gwp-footer .gw-brand--text strong { color:var(--p-text); }
.gwp-header .gw-brand--text span,.gwp-footer .gw-brand--text span { color:var(--p-gold); }
.gwp-header .gw-button { padding:13px 20px; }
.gwp-hero { display:grid; grid-template-columns:minmax(0,.92fr) minmax(520px,1.08fr); gap:clamp(40px,6vw,96px); align-items:center; width:min(1240px,calc(100% - 48px)); min-height:720px; margin:auto; padding:80px 0 88px; }
.gwp-hero__copy h1 { max-width:720px; margin:15px 0 24px; font-family:var(--gw-sans); font-size:clamp(48px,5.4vw,78px); font-weight:750; line-height:1.01; letter-spacing:-.055em; }
.gwp-hero__copy h1 em { color:var(--p-gold); font-style:normal; }
.gwp-hero__copy>p:not(.gw-kicker) { max-width:650px; margin:0 0 30px; color:#cbc6bd; font-size:clamp(18px,1.55vw,21px); line-height:1.65; }
.gwp-hero__copy>small { display:block; margin-top:15px; color:var(--p-muted); font-size:13px; }
.gwp-yours { position:relative; min-height:510px; perspective:1400px; }
.gwp-yours::before { content:""; position:absolute; inset:13% 4% -5%; border-radius:50%; background:radial-gradient(circle,rgba(215,169,88,.2),transparent 64%); filter:blur(20px); }
.gwp-yours__window { position:absolute; inset:25px 34px 50px 0; overflow:hidden; border:1px solid rgba(255,255,255,.23); border-radius:20px; background:#15191c; box-shadow:0 52px 100px -32px #000; transform:rotateY(-7deg) rotateX(2deg); animation:gwp-float 7s ease-in-out infinite; }
.gwp-yours__bar { display:flex; align-items:center; gap:7px; height:42px; padding:0 15px; border-bottom:1px solid rgba(255,255,255,.08); background:#0c0f11; }
.gwp-yours__bar i { width:7px; height:7px; border-radius:50%; background:#705f46; }
.gwp-yours__bar span { margin:auto; padding-right:34px; color:#756f66; font-size:9px; letter-spacing:.13em; }
.gwp-yours__screen { position:relative; display:flex; flex-direction:column; justify-content:flex-end; height:calc(100% - 42px); padding:50px; background:radial-gradient(circle at 80% 12%,rgba(215,169,88,.2),transparent 27%),linear-gradient(140deg,rgba(8,11,13,.2),#080b0d 70%),repeating-linear-gradient(90deg,transparent 0 78px,rgba(255,255,255,.025) 79px 80px); }
.gwp-yours__screen::after { content:""; position:absolute; width:310px; height:310px; top:-70px; right:-80px; border:1px solid rgba(215,169,88,.28); border-radius:50%; box-shadow:0 0 0 42px rgba(215,169,88,.04),0 0 0 84px rgba(215,169,88,.025); }
.gwp-yours__screen small { position:absolute; top:34px; left:40px; color:var(--p-gold); font-size:9px; letter-spacing:.2em; }
.gwp-yours__screen>b { position:absolute; top:52%; right:6%; color:rgba(255,255,255,.025); font-size:clamp(100px,15vw,210px); line-height:.7; letter-spacing:-.09em; transform:translateY(-50%) rotate(-90deg); }
.gwp-yours__screen h2 { position:relative; z-index:2; max-width:440px; margin:0 0 32px; font-family:var(--gw-serif); font-size:clamp(34px,3.6vw,54px); font-weight:500; line-height:1.04; }
.gwp-yours__screen>span { position:relative; z-index:2; width:max-content; padding:12px 18px; border:1px solid var(--p-gold); color:var(--p-gold); font-size:9px; font-weight:800; letter-spacing:.15em; }
.gwp-yours__phone { position:absolute; z-index:3; right:0; bottom:8px; width:150px; height:310px; padding:8px; border-radius:30px; background:#050607; box-shadow:0 35px 75px -20px #000; transform:rotateY(-8deg) rotateZ(2deg); animation:gwp-phone 6s ease-in-out infinite; }
.gwp-yours__phone::before { content:""; position:absolute; z-index:2; top:8px; left:50%; width:52px; height:15px; border-radius:0 0 11px 11px; background:#050607; transform:translateX(-50%); }
.gwp-yours__phone>div { display:flex; flex-direction:column; justify-content:flex-end; height:100%; padding:22px 14px; border-radius:23px; background:radial-gradient(circle at 50% 18%,rgba(215,169,88,.26),transparent 30%),#111518; }
.gwp-yours__phone small { position:absolute; top:35px; color:var(--p-gold); font-size:8px; letter-spacing:.18em; }
.gwp-yours__phone strong { font-family:var(--gw-serif); font-size:21px; line-height:1.08; }
.gwp-yours__phone i { width:max-content; margin-top:18px; padding:8px 10px; border-radius:3px; background:var(--p-gold); color:#17110a; font-size:8px; font-style:normal; font-weight:800; }
@keyframes gwp-float { 50% { transform:rotateY(-3deg) rotateX(0) translateY(-10px); } }
@keyframes gwp-phone { 50% { transform:rotateY(-3deg) rotateZ(0) translateY(-12px); } }
.gwp-section-head { max-width:790px; margin:0 auto 42px; text-align:center; }
.gwp-section-head h2 { margin:10px 0 0; font-family:var(--gw-serif); font-size:clamp(34px,4vw,54px); font-weight:500; line-height:1.1; }
.gwp-before-after { padding:100px max(24px,calc((100% - 1180px)/2)); border-block:1px solid rgba(255,255,255,.07); background:#0d1012; }
.gwp-compare { display:grid; grid-template-columns:1fr 60px 1fr; align-items:center; }
.gwp-compare article { position:relative; padding:16px; border:1px solid rgba(255,255,255,.09); border-radius:20px; background:var(--p-panel); }
.gwp-compare article>span { display:block; margin-bottom:12px; color:var(--p-muted); font-size:10px; font-weight:800; letter-spacing:.18em; }
.gwp-compare article>div { min-height:320px; padding:48px; border-radius:12px; }
.gwp-compare__before { filter:saturate(.25); opacity:.68; }
.gwp-compare__before>div { background:#ddd; color:#444; }
.gwp-compare__before i { display:block; width:45%; height:8px; margin:0 0 10px; background:#aaa; }
.gwp-compare__before i:nth-child(2) { width:80%; }.gwp-compare__before i:nth-child(3) { width:62%; }
.gwp-compare__before strong { display:block; margin:50px 0 14px; font:700 27px Arial; }.gwp-compare__before p { font:15px/1.6 Arial; }.gwp-compare button { padding:11px 18px; border:0; }
.gwp-compare__after>div { display:flex; flex-direction:column; justify-content:flex-end; background:radial-gradient(circle at 90% 10%,rgba(215,169,88,.27),transparent 28%),linear-gradient(145deg,#20262a,#090b0d); }
.gwp-compare__after small { color:var(--p-gold); letter-spacing:.18em; }.gwp-compare__after h3 { margin:28px 0 12px; font-family:var(--gw-serif); font-size:38px; line-height:1.05; }.gwp-compare__after h3 em { color:var(--p-gold); font-style:normal; }.gwp-compare__after p { color:#bdb7ae; }.gwp-compare__after button { align-self:flex-start; background:var(--p-gold); font-weight:800; }
.gwp-compare__arrow { color:var(--p-gold); font-size:30px; text-align:center; }
.gwp-outcomes { display:grid; grid-template-columns:repeat(3,1fr); width:min(1180px,calc(100% - 48px)); margin:auto; padding:90px 0; }
.gwp-outcomes article { padding:16px 40px 16px 0; }.gwp-outcomes article+article { padding-left:40px; border-left:1px solid var(--p-line); }
.gwp-outcomes span,.gwp-concepts article>span { color:var(--p-gold); font-size:10px; letter-spacing:.2em; }.gwp-outcomes h2 { margin:17px 0 8px; font:500 clamp(28px,3vw,40px)/1 var(--gw-serif); }.gwp-outcomes p { max-width:290px; margin:0; color:var(--p-muted); line-height:1.6; }
.gwp-concepts { padding:100px max(24px,calc((100% - 1180px)/2)); background:#0d1012; }
.gwp-concepts__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.gwp-concepts article>div { aspect-ratio:1.3; margin-bottom:18px; overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:16px; background:#181c1f; }.gwp-concepts img { width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }.gwp-concepts article:hover img { transform:scale(1.035); }.gwp-concepts h3 { margin:8px 0 0; font:500 26px var(--gw-serif); }
.gwp-offer { display:grid; grid-template-columns:.75fr 1fr; gap:50px 80px; align-items:center; width:min(1120px,calc(100% - 48px)); margin:100px auto; padding:clamp(36px,5vw,68px); border:1px solid var(--p-line); border-radius:22px; background:radial-gradient(circle at 10% 0,rgba(215,169,88,.13),transparent 40%),var(--p-panel); }.gwp-offer p { color:var(--p-muted); }.gwp-offer del { color:#8e887f; }.gwp-offer h2 { margin:10px 0 12px; color:var(--p-gold); font:750 clamp(62px,8vw,92px)/.9 var(--gw-sans); letter-spacing:-.06em; }.gwp-offer h2 small { color:var(--p-text); font-size:15px; letter-spacing:0; }.gwp-offer strong,.gwp-offer>div>span { display:block; margin-top:7px; }.gwp-offer>div>span { color:var(--p-muted); font-size:13px; }.gwp-offer ul { display:grid; gap:14px; margin:0; padding:0; list-style:none; }.gwp-offer li { position:relative; padding-left:28px; color:#d3cec5; }.gwp-offer li::before { content:"✓"; position:absolute; left:0; color:var(--p-gold); }.gwp-offer>a { grid-column:1/-1; justify-self:center; min-width:min(100%,380px); text-align:center; }
.gwp-process { padding:100px max(24px,calc((100% - 1180px)/2)); border-block:1px solid rgba(255,255,255,.07); background:#0d1012; }.gwp-process>div:last-child { display:grid; grid-template-columns:repeat(3,1fr); }.gwp-process article { padding:20px 40px 0; text-align:center; }.gwp-process article+article { border-left:1px solid var(--p-line); }.gwp-process article span { display:grid; width:48px; height:48px; margin:0 auto 20px; place-items:center; border:1px solid var(--p-gold); border-radius:50%; color:var(--p-gold); }.gwp-process h3 { font:500 24px/1.2 var(--gw-serif); }.gwp-process article p { color:var(--p-muted); line-height:1.6; }
.gwp-faq { width:min(1000px,calc(100% - 48px)); margin:auto; padding:100px 0; }.gwp-faq details { border-bottom:1px solid rgba(255,255,255,.1); }.gwp-faq summary { position:relative; padding:25px 45px 25px 0; cursor:pointer; font-size:18px; font-weight:700; list-style:none; }.gwp-faq summary::after { content:"+"; position:absolute; right:8px; color:var(--p-gold); font-size:25px; font-weight:400; }.gwp-faq details[open] summary::after { content:"−"; }.gwp-faq details p { max-width:780px; margin:0 0 25px; color:var(--p-muted); line-height:1.7; }
.gwp-form-section { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:start; width:min(1120px,calc(100% - 48px)); margin:0 auto 100px; padding:clamp(32px,5vw,64px); border:1px solid var(--p-line); border-radius:22px; background:linear-gradient(145deg,#171b1e,#0d1012); scroll-margin-top:110px; }.gwp-form-section h2 { margin:12px 0 18px; font:500 clamp(36px,4vw,54px)/1.08 var(--gw-serif); }.gwp-form-section>div>p:last-child { color:var(--p-muted); }.gwp-form-section .gw-form { padding:0; border:0; background:transparent; box-shadow:none; }.gwp-form-section .gw-form label { display:grid; gap:8px; margin-bottom:17px; color:#cbc5bc; font-size:13px; font-weight:700; }.gwp-form-section .gw-form input { width:100%; padding:16px; border:1px solid rgba(255,255,255,.14); border-radius:9px; outline:0; background:#090c0e; color:#fff; font:inherit; }.gwp-form-section .gw-form input:focus { border-color:var(--p-gold); box-shadow:0 0 0 3px rgba(215,169,88,.1); }.gwp-form-section .gw-form button { width:100%; margin-top:6px; }.gwp-form-section [data-gd-form-note] { min-height:40px; color:var(--p-muted); font-size:12px; line-height:1.5; }
.gwp-footer { display:flex; align-items:center; justify-content:space-between; padding:36px max(24px,calc((100% - 1180px)/2)); border-top:1px solid rgba(255,255,255,.08); }.gwp-footer p { color:var(--p-muted); font-size:13px; }
@media (prefers-reduced-motion:reduce) { .gwp-yours__window,.gwp-yours__phone { animation:none; } }
@media (max-width:900px) { .gwp-hero { grid-template-columns:1fr; padding-top:70px; }.gwp-yours { min-height:470px; }.gwp-outcomes,.gwp-concepts__grid,.gwp-process>div:last-child { grid-template-columns:1fr; }.gwp-outcomes article,.gwp-outcomes article+article { padding:30px 0; border-left:0; border-top:1px solid var(--p-line); }.gwp-offer,.gwp-form-section { grid-template-columns:1fr; }.gwp-process article,.gwp-process article+article { padding:30px 0; border-left:0; border-top:1px solid var(--p-line); }.gwp-compare { grid-template-columns:1fr; gap:18px; }.gwp-compare__arrow { transform:rotate(90deg); } }
@media (max-width:600px) { .gwp-header { width:calc(100% - 24px); margin-top:8px; padding:10px 10px 10px 14px; }.gwp-header .gw-brand--text strong { font-size:15px; }.gwp-header .gw-brand--text span { font-size:7px; }.gwp-header .gw-button { padding:11px 13px; font-size:10px; }.gwp-hero { width:calc(100% - 36px); min-height:0; padding:58px 0 70px; }.gwp-hero__copy h1 { font-size:43px; }.gwp-hero__copy>p:not(.gw-kicker) { font-size:17px; }.gwp-yours { min-height:350px; }.gwp-yours__window { inset:20px 20px 35px 0; }.gwp-yours__screen { padding:28px; }.gwp-yours__screen h2 { font-size:31px; }.gwp-yours__phone { right:-5px; width:100px; height:220px; border-radius:23px; }.gwp-yours__phone strong { font-size:15px; }.gwp-before-after,.gwp-concepts,.gwp-process { padding-block:72px; }.gwp-compare article>div { min-height:260px; padding:30px; }.gwp-offer { margin-block:72px; padding:30px 24px; }.gwp-offer h2 { font-size:64px; }.gwp-form-section { gap:30px; margin-bottom:60px; padding:30px 22px; }.gwp-footer { align-items:flex-start; gap:20px; }.gwp-footer p { max-width:140px; text-align:right; } }

/* =============================================================
   /preview  —  AD LANDING PAGE  (gwp-* namespace, warm, self-contained)
   Styles the user's page-preview.html. Append-only.
   ============================================================= */

/* ---- Text logo lockup (shared header/footer + this page) ---- */
.gw-brand--text { display: inline-flex; flex-direction: column; align-items: flex-start; width: auto; gap: 1px; line-height: 1; }
.gw-brand--text strong { font-family: Inter, system-ui, sans-serif; font-weight: 800; font-size: 21px; letter-spacing: .02em; color: #f4f0e9; }
.gw-brand--text > span { margin: 0; color: var(--gw-gold-light, #efc779); font-size: 9px; font-weight: 800; letter-spacing: .34em; }
body:has(.gw-warm) .gw-brand--text strong,
.gw-preview .gw-brand--text strong { color: #2b211a; }
body:has(.gw-warm) .gw-brand--text > span,
.gw-preview .gw-brand--text > span { color: #a8763a; }

/* ---- Root / tokens (warm, self-contained — no .gw-page here) ---- */
.gw-preview {
  --gw-gold: #a8763a;
  --gw-gold-light: #8c5f2b;
  --gw-text: #2b211a;
  --gw-muted: #6a6154;
  --gw-panel: #fffdf8;
  --gw-line: rgba(52, 38, 22, .12);
  --gw-serif: "Cormorant Garamond", Georgia, serif;
  --gw-sans: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  overflow: clip;
  color: var(--gw-text);
  font-family: var(--gw-sans);
  color-scheme: light;
}
body:has(.gw-preview) { margin: 0; background: #f4ede1; }
.gw-preview *, .gw-preview *::before, .gw-preview *::after { box-sizing: border-box; }
.gw-preview a { color: inherit; text-decoration: none; }
.gw-preview img { display: block; max-width: 100%; }
.gw-preview :focus-visible { outline: 3px solid rgba(168, 118, 58, .45); outline-offset: 2px; }
.gw-preview h1, .gw-preview h2, .gw-preview h3 { color: var(--gw-text); }
.gw-preview .gw-kicker { display: block; margin: 0 0 16px; color: var(--gw-gold); font-size: 11px; font-weight: 900; letter-spacing: .16em; }

/* ---- Header (minimal, no nav — conversion-focused) ---- */
.gwp-header { position: sticky; top: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px max(20px, calc((100vw - 1180px) / 2)); border-bottom: 1px solid var(--gw-line); background: rgba(248, 243, 235, .9); backdrop-filter: blur(14px); }
.gwp-header .gw-button { min-height: 44px; padding-inline: 20px; font-size: 13px; }

/* ---- Hero ---- */
.gwp-hero { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr); align-items: center; gap: clamp(32px, 5vw, 70px); max-width: 1180px; margin: 0 auto; padding: clamp(40px, 6vw, 76px) max(20px, calc((100vw - 1180px) / 2)) clamp(36px, 5vw, 60px); }
.gwp-hero__copy h1 { margin: 8px 0 0; font-family: var(--gw-sans); font-weight: 800; font-size: clamp(32px, 4.2vw, 52px); line-height: 1.08; letter-spacing: -.025em; }
.gwp-hero__copy h1 em { color: var(--gw-gold); font-style: normal; }
.gwp-hero__copy > p { max-width: 520px; margin: 18px 0 0; color: var(--gw-muted); font-size: clamp(16px, 1.3vw, 18px); line-height: 1.6; }
.gwp-hero__copy .gw-button { margin-top: 26px; }
.gwp-hero__copy small { display: block; margin-top: 16px; color: var(--gw-muted); font-size: 13px; }

/* premium "YOURS" window mockup */
.gwp-yours { position: relative; padding-bottom: 18px; }
.gwp-yours__window { overflow: hidden; border-radius: 16px; border: 1px solid var(--gw-line); background: #fff; box-shadow: 0 34px 80px -30px rgba(60, 40, 18, .5); transform: perspective(1400px) rotateY(-9deg) rotateX(2deg); transform-origin: 70% 50%; }
.gwp-yours__bar { display: flex; align-items: center; gap: 6px; height: 32px; padding: 0 14px; background: #efe7d8; }
.gwp-yours__bar i { width: 9px; height: 9px; border-radius: 50%; background: #cdbb95; }
.gwp-yours__bar span { margin-left: 12px; padding: 3px 12px; border-radius: 99px; background: #fff; color: #8a7f70; font-size: 10px; }
.gwp-yours__screen { position: relative; display: flex; flex-direction: column; gap: 12px; aspect-ratio: 16 / 10.6; padding: clamp(22px, 3vw, 40px); color: #fff; background: radial-gradient(circle at 80% 15%, rgba(239, 199, 121, .4), transparent 46%), linear-gradient(150deg, #a9743c, #4f341a); }
.gwp-yours__screen small { font-size: 10px; letter-spacing: .18em; color: #f1cf97; }
.gwp-yours__screen b { position: absolute; top: clamp(18px, 2.6vw, 34px); right: clamp(18px, 2.6vw, 34px); font-size: 11px; font-weight: 900; letter-spacing: .2em; color: rgba(255, 255, 255, .5); }
.gwp-yours__screen h2 { margin: auto 0 0; font-family: var(--gw-serif); font-weight: 600; font-size: clamp(26px, 3.4vw, 44px); line-height: 1.04; color: #fff; }
.gwp-yours__screen > span { align-self: flex-start; padding: 9px 16px; border-radius: 99px; background: var(--gw-gold); color: #1c1408; font-size: 10px; font-weight: 800; letter-spacing: .06em; }
.gwp-yours__phone { position: absolute; right: clamp(2px, 3%, 24px); bottom: 0; width: 108px; overflow: hidden; border-radius: 20px; border: 5px solid #2c2620; background: #17110b; box-shadow: 0 24px 44px -14px rgba(50, 32, 14, .6); }
.gwp-yours__phone > div { display: flex; flex-direction: column; gap: 8px; aspect-ratio: 9 / 16; padding: 18px 12px; background: radial-gradient(circle at 70% 10%, rgba(239, 199, 121, .35), transparent 55%), linear-gradient(160deg, #a9743c, #3f2915); color: #fff; }
.gwp-yours__phone small { font-size: 7px; letter-spacing: .16em; color: #f1cf97; }
.gwp-yours__phone strong { margin-top: auto; font-family: var(--gw-serif); font-weight: 600; font-size: 15px; line-height: 1.05; }
.gwp-yours__phone i { align-self: flex-start; padding: 5px 9px; border-radius: 99px; background: rgba(255, 255, 255, .92); color: #2b211a; font-size: 7px; font-style: normal; font-weight: 800; }

/* ---- Section head (shared for gwp sections) ---- */
.gwp-section-head { max-width: 760px; margin: 0 auto clamp(28px, 3.5vw, 40px); text-align: center; }
.gwp-section-head h2 { margin: 0; font-family: var(--gw-sans); font-weight: 800; font-size: clamp(26px, 3vw, 40px); line-height: 1.14; letter-spacing: -.02em; }

/* ---- Before -> After ---- */
.gwp-before-after { max-width: 1120px; margin: 0 auto; padding: clamp(38px, 5vw, 62px) max(20px, calc((100vw - 1120px) / 2)); }
.gwp-compare { display: grid; grid-template-columns: 1fr auto 1fr; align-items: stretch; gap: clamp(14px, 2.5vw, 30px); }
.gwp-compare article { position: relative; }
.gwp-compare > article > span { position: absolute; z-index: 2; top: -11px; left: 16px; padding: 4px 12px; border-radius: 99px; font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.gwp-compare__before > span { background: #8a7f70; color: #fff; }
.gwp-compare__after > span { background: var(--gw-gold); color: #231a10; }
.gwp-compare__before > div { display: flex; flex-direction: column; gap: 10px; height: 100%; min-height: 230px; padding: 26px; border: 1px solid var(--gw-line); border-radius: 14px; background: #eeebe4; filter: grayscale(.5); font-family: "Times New Roman", Georgia, serif; }
.gwp-compare__before i { width: 34px; height: 6px; border-radius: 2px; background: #cfc9bd; }
.gwp-compare__before i:nth-of-type(2) { width: 22px; }
.gwp-compare__before i:nth-of-type(3) { width: 28px; }
.gwp-compare__before strong { margin-top: 8px; font-size: 20px; font-weight: 600; color: #6a6055; }
.gwp-compare__before p { margin: 0; color: #948b7f; font-size: 13px; line-height: 1.5; }
.gwp-compare__before button { align-self: flex-start; margin-top: auto; padding: 9px 16px; border: 1px solid #c3bcae; border-radius: 4px; background: #e2ddd2; color: #837a6d; font-family: inherit; font-size: 12px; }
.gwp-compare__arrow { align-self: center; color: var(--gw-gold); font-size: 30px; font-weight: 700; }
.gwp-compare__after > div { display: flex; flex-direction: column; gap: 12px; height: 100%; min-height: 230px; padding: 28px; border: 1px solid rgba(168, 118, 58, .3); border-radius: 14px; background: radial-gradient(circle at 85% 0%, rgba(168, 118, 58, .12), transparent 45%), linear-gradient(150deg, #fffdf8, #f3e9d9); box-shadow: 0 24px 60px -34px rgba(90, 60, 25, .5); }
.gwp-compare__after small { color: var(--gw-gold); font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.gwp-compare__after h3 { margin: 4px 0 0; font-family: var(--gw-sans); font-weight: 800; font-size: clamp(22px, 2.3vw, 30px); line-height: 1.1; letter-spacing: -.02em; }
.gwp-compare__after h3 em { color: var(--gw-gold); font-style: normal; }
.gwp-compare__after p { margin: 0; color: var(--gw-muted); font-size: 14px; line-height: 1.55; }
.gwp-compare__after button { align-self: flex-start; margin-top: auto; padding: 11px 20px; border: 0; border-radius: 99px; background: linear-gradient(135deg, #c89a52, #a8763a); color: #201607; font-weight: 800; font-size: 13px; cursor: pointer; }

/* ---- Outcomes (3) ---- */
.gwp-outcomes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: 1000px; margin: 0 auto; padding: 6px max(20px, calc((100vw - 1000px) / 2)) clamp(30px, 4vw, 48px); }
.gwp-outcomes article { padding: 30px 28px; border: 1px solid var(--gw-line); border-radius: 18px; background: var(--gw-panel); box-shadow: 0 18px 44px -30px rgba(90, 60, 25, .5); }
.gwp-outcomes article > span { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(150deg, #ecd7ac, #c9a96a); color: #6b4a1e; font-size: 13px; font-weight: 800; }
.gwp-outcomes h2 { margin: 16px 0 8px; font-family: var(--gw-sans); font-weight: 800; font-size: 21px; letter-spacing: -.01em; }
.gwp-outcomes p { margin: 0; color: var(--gw-muted); font-size: 14px; line-height: 1.6; }

/* ---- Concepts ---- */
.gwp-concepts { max-width: 1180px; margin: 0 auto; padding: clamp(30px, 4vw, 52px) max(20px, calc((100vw - 1180px) / 2)); }
.gwp-concepts__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.gwp-concepts article { position: relative; }
.gwp-concepts article > div { aspect-ratio: 4 / 3; overflow: hidden; border-radius: 16px; border: 1px solid var(--gw-line); background: #e7dcc8; box-shadow: 0 22px 54px -32px rgba(80, 55, 25, .55); }
.gwp-concepts article img { width: 100%; height: 100%; object-fit: cover; }
.gwp-concepts article > span { position: absolute; top: 14px; left: 14px; display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: rgba(20, 12, 6, .62); color: #f1cf97; font-size: 12px; font-weight: 800; backdrop-filter: blur(4px); }
.gwp-concepts h3 { margin: 14px 0 0; font-family: var(--gw-sans); font-weight: 700; font-size: 18px; }

/* ---- Offer ---- */
.gwp-offer { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 1fr); align-items: center; gap: clamp(30px, 5vw, 60px); max-width: 940px; margin: clamp(20px, 3vw, 40px) auto; padding: clamp(32px, 4vw, 52px); border: 1px solid rgba(168, 118, 58, .3); border-radius: 22px; background: radial-gradient(circle at 15% 20%, rgba(168, 118, 58, .12), transparent 48%), linear-gradient(150deg, #fffdf8, #f3e9d9); box-shadow: 0 34px 90px -46px rgba(90, 60, 25, .55); }
.gwp-offer > div { display: grid; gap: 3px; }
.gwp-offer > div > p:nth-of-type(1) { margin: 0; color: var(--gw-muted); font-size: 13px; }
.gwp-offer del { color: #a8763a; }
.gwp-offer h2 { margin: 4px 0 0; font-family: var(--gw-sans); font-weight: 800; font-size: clamp(56px, 7vw, 82px); line-height: .92; letter-spacing: -.03em; color: var(--gw-gold); }
.gwp-offer h2 small { font-size: 16px; font-weight: 700; color: var(--gw-text); }
.gwp-offer > div strong { margin-top: 10px; color: var(--gw-text); font-size: 16px; }
.gwp-offer > div > span { color: var(--gw-muted); font-size: 13px; }
.gwp-offer ul { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 18px; margin: 0; padding: 0; list-style: none; }
.gwp-offer li { position: relative; padding-left: 26px; color: var(--gw-text); font-size: 14px; line-height: 1.4; }
.gwp-offer li::before { content: "✓"; position: absolute; left: 0; top: -1px; color: var(--gw-gold); font-weight: 800; }
.gwp-offer > .gw-button { grid-column: 1 / -1; justify-self: start; margin-top: 6px; }

/* ---- Process ---- */
.gwp-process { padding: clamp(38px, 5vw, 62px) max(20px, calc((100vw - 1120px) / 2)); background: linear-gradient(160deg, #efe5d4, #e7dcc8); }
.gwp-process > div:last-child { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; max-width: 1120px; margin: 0 auto; border-block: 1px solid var(--gw-line); }
.gwp-process article { padding: 32px 30px; }
.gwp-process article + article { border-left: 1px solid var(--gw-line); }
.gwp-process article > span { display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(168, 118, 58, .4); color: var(--gw-gold); font-weight: 800; }
.gwp-process h3 { margin: 16px 0 8px; font-family: var(--gw-sans); font-weight: 700; font-size: 18px; line-height: 1.25; }
.gwp-process p { margin: 0; color: var(--gw-muted); font-size: 14px; line-height: 1.6; }

/* ---- FAQ ---- */
.gwp-faq { max-width: 820px; margin: 0 auto; padding: clamp(38px, 5vw, 62px) max(20px, calc((100vw - 820px) / 2)); }
.gwp-faq > div:last-child { display: grid; gap: 10px; }
.gwp-faq details { border: 1px solid var(--gw-line); border-radius: 12px; background: var(--gw-panel); overflow: hidden; }
.gwp-faq summary { position: relative; padding: 18px 48px 18px 20px; cursor: pointer; list-style: none; font-weight: 700; font-size: 15px; }
.gwp-faq summary::-webkit-details-marker { display: none; }
.gwp-faq summary::after { content: "+"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); color: var(--gw-gold); font-size: 22px; font-weight: 400; }
.gwp-faq details[open] summary::after { content: "−"; }
.gwp-faq details p { margin: 0; padding: 0 20px 18px; color: var(--gw-muted); font-size: 14px; line-height: 1.6; }

/* ---- Final form ---- */
.gwp-form-section { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(30px, 5vw, 60px); max-width: 1000px; margin: clamp(30px, 4vw, 60px) auto; padding: clamp(32px, 4vw, 52px); border: 1px solid rgba(168, 118, 58, .28); border-radius: 22px; background: linear-gradient(150deg, #fffdf8, #f2e8d8); box-shadow: 0 34px 90px -46px rgba(90, 60, 25, .55); }
.gwp-form-section > div h2 { margin: 8px 0 0; font-family: var(--gw-sans); font-weight: 800; font-size: clamp(26px, 3vw, 36px); letter-spacing: -.02em; }
.gwp-form-section > div > p { margin: 14px 0 0; color: var(--gw-muted); font-size: 15px; line-height: 1.6; }
.gw-preview .gw-form--panel { align-self: start; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; display: grid; gap: 12px; }
.gw-preview .gw-form label { display: grid; gap: 6px; }
.gw-preview .gw-form label span { color: #5f574b; font-size: 12px; font-weight: 600; }
.gw-preview .gw-form input { width: 100%; min-height: 52px; padding: 0 16px; border: 1px solid rgba(52, 38, 22, .18); border-radius: 12px; background: #fff; color: var(--gw-text); font: inherit; font-size: 15px; }
.gw-preview .gw-form input::placeholder { color: #a99e8d; }
.gw-preview .gw-form .gw-button { width: 100%; margin-top: 4px; }
.gw-preview .gw-form [data-gd-form-note] { margin: 0; color: var(--gw-muted); font-size: 12px; text-align: center; }

/* ---- Footer ---- */
.gwp-footer { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 40px 20px; border-top: 1px solid var(--gw-line); background: #efe6d6; text-align: center; }
.gwp-footer p { margin: 0; color: var(--gw-muted); font-size: 13px; }

/* ---- Reveal + responsive ---- */
.gw-preview [data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .8s cubic-bezier(.2, .75, .2, 1); }
.gw-preview [data-reveal].is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .gw-preview [data-reveal] { opacity: 1; transform: none; transition: none; } }
@media (max-width: 860px) {
  .gwp-hero { grid-template-columns: 1fr; }
  .gwp-compare { grid-template-columns: 1fr; }
  .gwp-compare__arrow { transform: rotate(90deg); justify-self: center; }
  .gwp-outcomes { grid-template-columns: 1fr; }
  .gwp-concepts__grid { grid-template-columns: 1fr; }
  .gwp-offer { grid-template-columns: 1fr; }
  .gwp-process > div:last-child { grid-template-columns: 1fr; }
  .gwp-process article + article { border-left: 0; border-top: 1px solid var(--gw-line); }
  .gwp-form-section { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .gwp-hero__copy h1 { font-size: clamp(30px, 9vw, 40px); }
  .gwp-offer ul { grid-template-columns: 1fr; }
  .gwp-header .gw-button span { display: none; }
}

/* Final conversion-page repairs: static device renders, reliable cards, no inherited preview grid. */
.gw-warm .gw-device__render { display:block; width:100%; height:100%; object-fit:cover; }
.gw-warm .gw-device__screen { position:relative; isolation:isolate; }
.gw-warm .gw-device__screen::before { content:"NÓSTOS   ·   AEGEAN DINING"; position:absolute; z-index:2; top:0; left:0; right:0; padding:13px 18px; background:rgba(250,247,239,.94); color:#251b13; font:800 10px/1 var(--gw-sans); letter-spacing:.1em; }
.gw-warm .gw-device__screen::after { content:none; }
.gw-warm .gw-device__render--desktop { object-position:center; filter:brightness(.78) saturate(.9); }
.gw-warm .gw-device__phone { isolation:isolate; background:#171411; }
.gw-warm .gw-device__phone::after { content:"NÓSTOS"; position:absolute; z-index:2; top:0; left:0; right:0; padding:20px 8px 7px; background:rgba(28,23,18,.94); color:#fff; font:800 7px/1 var(--gw-sans); letter-spacing:.08em; }
.gw-warm .gw-device__render--mobile { object-position:61% center; filter:brightness(.8) saturate(.9); }

.gw-warm .gw-w-samples .gw-section__head { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); align-items:end; gap:18px 44px; max-width:1180px; text-align:left; }
.gw-warm .gw-w-samples .gw-section__head .gw-kicker { grid-column:1/-1; margin:0; }
.gw-warm .gw-w-samples .gw-section__head h2 { font-size:clamp(34px,4.4vw,58px); line-height:1; }
.gw-warm .gw-w-samples .gw-section__head > p:last-child { margin:0; }
.gw-warm .gw-w-sample { position:relative; overflow:hidden; }
.gw-warm .gw-w-sample::before { content:"0" counter(gw-sample); position:absolute; z-index:2; top:24px; left:24px; display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:rgba(24,17,11,.78); color:#f4d49c; font:800 11px/1 var(--gw-sans); backdrop-filter:blur(6px); }
.gw-warm .gw-w-samples__grid { counter-reset:gw-sample; }
.gw-warm .gw-w-sample { counter-increment:gw-sample; }
.gw-warm .gw-w-sample__img { aspect-ratio:16/10; }
.gw-warm .gw-w-sample__img--villa img,
.gw-warm .gw-w-sample__img--pro img { object-position:top center; }

.gw-warm .gw-featured__grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.gw-warm .gw-project--large { grid-row:auto; }
.gw-warm .gw-project--large .gw-project__image,
.gw-warm .gw-project__image { height:auto; aspect-ratio:16/10; }
.gw-warm .gw-project__meta { min-height:132px; }

.gw-preview { display:block; grid-template-columns:none; max-width:none; margin:0; padding:0; border:0; border-radius:0; background:#f4ede1; box-shadow:none; }
.gwp-yours__image { display:block; width:100%; aspect-ratio:16/10.2; object-fit:cover; filter:brightness(.82) saturate(.9); }
.gwp-yours__caption { position:absolute; left:28px; bottom:0; display:grid; gap:4px; max-width:340px; margin:0; padding:17px 20px; border:1px solid rgba(168,118,58,.24); border-radius:12px; background:rgba(255,253,248,.94); box-shadow:0 18px 40px -28px rgba(58,35,14,.7); backdrop-filter:blur(10px); }
.gwp-yours__caption strong { color:var(--gw-text); font-size:16px; }
.gwp-yours__caption span { color:var(--gw-muted); font-size:12px; }
.gw-preview .gwp-hero__copy>p:not(.gw-kicker) { color:var(--gw-muted); }
.gwp-hero { width:min(1180px,calc(100% - 40px)); padding:clamp(132px,12vw,168px) 0 clamp(42px,6vw,72px); }
.gw-preview .gwp-yours__window { animation:none; }
.gw-preview .gwp-yours__screen { position:relative; display:flex; flex-direction:column; gap:14px; aspect-ratio:16/10.2; padding:32px; overflow:hidden; background:radial-gradient(circle at 84% 18%,rgba(215,169,88,.3),transparent 26%),linear-gradient(145deg,#22282a,#0c1012 70%); color:#f7f1e8; }
.gw-preview .gwp-yours__screen::after { content:none; }
.gw-preview .gwp-yours__screen>small { position:relative; z-index:3; top:auto; left:auto; color:#d8ad63; font-size:9px; font-weight:900; letter-spacing:.2em; }
.gw-preview .gwp-yours__screen>b { position:absolute; z-index:0; top:auto; right:-22px; bottom:-48px; color:rgba(255,255,255,.035); font:900 clamp(92px,12vw,160px)/1 var(--gw-sans); letter-spacing:-.1em; transform:none; }
.gwp-yours__nav { position:relative; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:16px; border-bottom:1px solid rgba(255,255,255,.12); }
.gwp-yours__nav strong { font-size:16px; letter-spacing:.12em; }
.gwp-yours__nav span { color:#9da2a1; font-size:8px; }
.gwp-yours__visual { position:absolute; z-index:1; top:24%; right:3%; width:48%; height:55%; }
.gwp-yours__visual i { position:absolute; border:1px solid rgba(215,169,88,.34); background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.015)); box-shadow:0 26px 50px rgba(0,0,0,.28); backdrop-filter:blur(4px); }
.gwp-yours__visual i:nth-child(1) { inset:0 9% 20% 4%; border-radius:50% 18% 46% 22%; transform:rotate(-8deg); }
.gwp-yours__visual i:nth-child(2) { width:46%; height:48%; right:0; bottom:0; border-radius:20px; transform:rotate(7deg); }
.gwp-yours__visual i:nth-child(3) { width:23%; aspect-ratio:1; left:20%; top:22%; border-radius:50%; background:#c7974f; box-shadow:0 0 0 18px rgba(199,151,79,.08); }
.gw-preview .gwp-yours__screen h2 { position:relative; z-index:3; max-width:330px; margin:auto 0 8px; color:#fff; font:600 clamp(27px,3vw,42px)/1.02 var(--gw-serif); }
.gw-preview .gwp-yours__screen>span { position:relative; z-index:3; align-self:flex-start; padding:10px 15px; border:1px solid #d7a958; border-radius:999px; color:#e6c98d; font-size:8px; font-weight:900; letter-spacing:.12em; }
.gwp-before-after { width:min(1120px,calc(100% - 40px)); padding-inline:0; }
.gwp-outcomes { width:min(1000px,calc(100% - 40px)); padding-inline:0; }
.gwp-concepts { width:min(1180px,calc(100% - 40px)); padding-inline:0; }
.gwp-faq { width:min(820px,calc(100% - 40px)); padding-inline:0; }
.gwp-offer,.gwp-form-section { width:calc(100% - 40px); }
.gw-preview .gwp-before-after,
.gw-preview .gwp-concepts { background:transparent; }

.gw-preview .gwp-compare article { padding:0; border:0; background:transparent; }
.gw-preview .gwp-compare article>div { overflow:hidden; }
.gw-preview .gwp-compare__before>div { display:grid; grid-template-rows:auto 1fr auto; min-height:330px; padding:0; border:7px solid #d1ccc3; border-radius:7px; background:#eeeae3; filter:none; font-family:Arial,sans-serif; box-shadow:none; }
.gwp-compare__before header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border-bottom:1px solid #d6d0c8; background:#f7f5f1; }
.gwp-compare__before header b { color:#777; font-size:10px; }
.gwp-compare__before header small { color:#aaa39b; font-size:7px; }
.gwp-compare__before .gwp-compare__body { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; max-width:76%; padding:24px 22px; }
.gwp-compare__before .gwp-compare__body strong { margin:0; color:#77716a; font:600 19px/1.2 Georgia,serif; }
.gwp-compare__before .gwp-compare__body p { margin:12px 0 18px; color:#99928a; font:11px/1.55 Arial,sans-serif; }
.gwp-compare__before .gwp-compare__fake-button { margin:0; padding:7px 11px; border:1px solid #c9c3bb; border-radius:0; background:#ddd9d2; color:#8b857e; font:9px Arial,sans-serif; }
.gwp-compare__before footer { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:12px; border-top:1px solid #d5cfc6; }
.gwp-compare__before footer i { width:100%; height:28px; margin:0; background:repeating-linear-gradient(#d2cdc5 0 3px,transparent 3px 8px); }
.gw-preview .gwp-compare__after>div { display:grid; grid-template-rows:auto 1fr auto; min-height:330px; padding:0; overflow:hidden; border:7px solid #161a1c; border-radius:13px; background:radial-gradient(circle at 88% 25%,rgba(215,169,88,.2),transparent 30%),linear-gradient(145deg,#252b2e,#0c1012); box-shadow:0 30px 60px -34px rgba(30,20,10,.7); }
.gwp-compare__after header { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:15px 18px; border-bottom:1px solid rgba(255,255,255,.1); }
.gwp-compare__after header b { color:#fff; font-size:10px; letter-spacing:.1em; }
.gwp-compare__after header small { color:#898e8e; font-size:7px; }
.gwp-compare__after .gwp-compare__body { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:26px 32px; }
.gwp-compare__after .gwp-compare__body>small { color:#d7a958; font-size:8px; font-weight:900; letter-spacing:.17em; }
.gwp-compare__after .gwp-compare__body h3 { margin:11px 0 9px; color:#fff; font-size:clamp(28px,3vw,38px); }
.gwp-compare__after .gwp-compare__body p { color:#aeb1af; }
.gwp-compare__after .gwp-compare__fake-button { margin-top:16px; padding:10px 16px; border-radius:999px; background:linear-gradient(135deg,#d8ad63,#b57d37); color:#201607; font-size:10px; font-weight:900; }
.gwp-compare__after footer { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:13px 18px; border-top:1px solid rgba(255,255,255,.1); }
.gwp-compare__after footer b { color:#b9bcb9; font-size:8px; font-weight:700; letter-spacing:.06em; }

.gwp-offer__price .gwp-offer__was { margin:0 0 16px; color:#8e8374; font-size:20px; font-weight:750; }
.gwp-offer__label { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.gwp-offer__label b { color:var(--gw-text); font-size:11px; font-weight:900; letter-spacing:.12em; }
.gwp-offer__label span { padding:7px 10px; border-radius:999px; background:#243129; color:#f4d9a7; font-size:9px; font-weight:900; letter-spacing:.08em; }
.gwp-offer__price>small { margin-top:5px; color:var(--gw-muted); font-size:12px; }

.gwp-audit { display:grid; grid-template-columns:minmax(0,.82fr) minmax(480px,1.18fr); gap:clamp(36px,7vw,90px); align-items:center; width:min(1120px,calc(100% - 40px)); margin:0 auto clamp(48px,7vw,92px); padding:clamp(34px,5vw,64px); overflow:hidden; border:1px solid rgba(168,118,58,.22); border-radius:24px; background:radial-gradient(circle at 95% 0,rgba(205,157,84,.18),transparent 40%),linear-gradient(145deg,#fffdf9,#eee1ce); box-shadow:0 34px 90px -52px rgba(73,46,16,.58); }
.gwp-audit__copy h2 { margin:0; font:800 clamp(30px,3.5vw,46px)/1.05 var(--gw-sans); letter-spacing:-.035em; }
.gwp-audit__copy>p:not(.gw-kicker) { margin:20px 0 26px; color:var(--gw-muted); font-size:16px; line-height:1.7; }
.gwp-audit__journey { position:relative; display:grid; gap:0; }
.gwp-audit__journey article { position:relative; z-index:1; display:grid; grid-template-columns:52px 1fr; gap:18px; align-items:center; min-height:92px; padding:18px 22px; border:1px solid var(--gw-line); border-radius:16px; background:rgba(255,253,248,.88); box-shadow:0 18px 42px -34px rgba(58,35,14,.7); }
.gwp-audit__journey article span { display:grid; place-items:center; width:46px; height:46px; border-radius:50%; background:#1e1914; color:#edc77f; font-size:11px; font-weight:900; }
.gwp-audit__journey article div { display:grid; gap:5px; }
.gwp-audit__journey small { color:var(--gw-gold); font-size:9px; font-weight:900; letter-spacing:.18em; }
.gwp-audit__journey strong { color:var(--gw-text); font-size:16px; line-height:1.3; }
.gwp-audit__journey>i { width:1px; height:28px; margin-left:45px; background:linear-gradient(var(--gw-gold),rgba(168,118,58,.2)); }
.gwp-audit__journey article:nth-of-type(2) { margin-left:30px; }
.gwp-audit__journey article:nth-of-type(3) { margin-left:60px; }

.gwp-concepts article>span { width:auto; min-width:34px; padding:0 11px; border-radius:999px; }
.gwp-concept-pro { display:flex; flex-direction:column; height:100%; padding:26px; color:#f7f0e4; background:radial-gradient(circle at 90% 10%,rgba(221,180,107,.28),transparent 34%),linear-gradient(145deg,#31434a,#111b20); }
.gwp-concept-pro header { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.gwp-concept-pro header b { font:800 21px/1 var(--gw-sans); letter-spacing:.08em; }
.gwp-concept-pro header small { color:#d7b77d; font-size:8px; letter-spacing:.14em; }
.gwp-concept-pro p { margin:auto 0 22px; color:#fff; font:600 clamp(24px,2.3vw,34px)/1.08 var(--gw-serif); }
.gwp-concept-pro>span { align-self:flex-start; padding:9px 14px; border-radius:999px; background:#d5aa64; color:#1b1510; font-size:9px; font-weight:900; }
.gwp-concept-pro footer { display:flex; justify-content:space-between; gap:12px; margin-top:24px; padding-top:14px; border-top:1px solid rgba(255,255,255,.14); }
.gwp-concept-pro footer i { color:#b9c0c0; font-size:8px; font-style:normal; letter-spacing:.08em; }

@media (max-width:860px) {
  .gw-warm .gw-featured__grid { grid-template-columns:1fr; }
  .gw-warm .gw-w-samples .gw-section__head { grid-template-columns:1fr; gap:14px; }
  .gw-warm .gw-w-samples .gw-section__head .gw-kicker { grid-column:auto; }
  .gw-warm .gw-w-samples .gw-section__head > p:last-child { max-width:640px; }
  .gwp-audit { grid-template-columns:1fr; }
  .gwp-audit__journey { max-width:620px; }
}
@media (max-width:560px) {
  .gw-warm .gw-device__screen::before { padding:9px 11px; font-size:6px; }
  .gw-warm .gw-w-samples .gw-section__head h2 { font-size:38px; }
  .gwp-yours__caption { left:14px; right:14px; padding:14px 16px; }
  .gwp-hero { padding-top:112px; }
  .gwp-audit { padding:28px 20px; }
  .gwp-audit__journey article { grid-template-columns:42px 1fr; padding:15px; }
  .gwp-audit__journey article span { width:38px; height:38px; }
  .gwp-audit__journey>i { margin-left:34px; }
  .gwp-audit__journey article:nth-of-type(2),.gwp-audit__journey article:nth-of-type(3) { margin-left:0; }
}

/* /preview — composed portfolio concepts and robust mobile cards */
.gw-preview .gwp-concepts { padding-block:clamp(64px,8vw,104px); }
.gw-preview .gwp-concepts .gwp-section-head { max-width:850px; margin:0 0 40px; text-align:left; }
.gw-preview .gwp-concepts .gwp-section-head>p:last-child { max-width:720px; margin:18px 0 0; color:var(--gw-muted); font-size:16px; line-height:1.7; }
.gw-preview .gwp-concepts__grid { grid-template-columns:repeat(12,minmax(0,1fr)); gap:28px 22px; }
.gwp-concept-card { min-width:0; }
.gwp-concept-card--giorgaras { grid-column:span 7; }
.gwp-concept-card--villa { grid-column:span 5; }
.gwp-concept-card--professional { grid-column:1/-1; }
.gw-preview .gwp-concept-card>.gwp-concept-browser { position:relative; aspect-ratio:16/10.2; margin:0; overflow:hidden; border:1px solid rgba(74,52,31,.2); border-radius:20px; background:#171a1d; box-shadow:0 30px 70px -38px rgba(58,38,17,.72); }
.gw-preview .gwp-concept-card--professional>.gwp-concept-browser { aspect-ratio:2.25; }
.gwp-concept-browser__bar { display:flex; align-items:center; gap:6px; height:31px; padding:0 12px; background:#f7f1e8; border-bottom:1px solid rgba(72,49,25,.12); }
.gwp-concept-browser__bar i { width:7px; height:7px; border-radius:50%; background:#c7bbaa; }
.gwp-concept-browser__bar i:first-child { background:#c98a61; }
.gwp-concept-browser__bar i:nth-child(2) { background:#d6b66e; }
.gwp-concept-browser__bar i:nth-child(3) { background:#88a47e; }
.gwp-concept-browser__bar span { margin-left:7px; color:#8c8174; font-size:8px; letter-spacing:.06em; }
.gwp-concept-page { position:relative; height:calc(100% - 31px); overflow:hidden; }
.gwp-concept-page>img { width:100%; height:100%; object-fit:cover; object-position:top; }
.gwp-concept-page--giorgaras { background:#f5f2ec; }
.gwp-concept-page--giorgaras>img { filter:saturate(.93) contrast(1.02); }
.gwp-concept-phone { position:absolute; right:5%; bottom:-5%; width:21%; height:70%; padding:5px; overflow:hidden; border:3px solid #16191c; border-radius:15px; background:#111; box-shadow:0 18px 35px rgba(0,0,0,.34); transform:rotate(2deg); }
.gwp-concept-phone::before { content:""; position:absolute; z-index:2; top:5px; left:50%; width:34%; height:4px; border-radius:99px; background:#151515; transform:translateX(-50%); }
.gwp-concept-phone img { width:100%; height:100%; object-fit:cover; object-position:top; border-radius:9px; }
.gwp-concept-page--villa>img { position:absolute; inset:0; filter:saturate(.78) brightness(.5); transform:scale(1.08); }
.gwp-concept-page--villa::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(11,16,15,.83),rgba(11,16,15,.08) 70%),linear-gradient(0deg,rgba(11,16,15,.38),transparent 55%); }
.gwp-concept-villa__nav { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px 20px; border-bottom:1px solid rgba(255,255,255,.18); color:#fff; }
.gwp-concept-villa__nav b { font:700 17px/1 var(--gw-serif); letter-spacing:.08em; }
.gwp-concept-villa__nav span { color:#e8e1d4; font-size:7px; }
.gwp-concept-villa__copy { position:absolute; z-index:2; top:30%; left:8%; display:flex; flex-direction:column; align-items:flex-start; max-width:72%; color:#fff; }
.gwp-concept-villa__copy small { color:#e4bb70; font-size:7px; font-weight:800; letter-spacing:.18em; }
.gwp-concept-villa__copy strong { margin:10px 0 17px; font:600 clamp(24px,2.5vw,38px)/.98 var(--gw-serif); }
.gwp-concept-villa__copy>span { padding:9px 12px; background:#dfae5d; color:#24180b; font-size:7px; font-weight:900; }
.gwp-concept-villa__booking { position:absolute; z-index:3; right:0; bottom:0; display:grid; grid-template-columns:auto auto; gap:2px 12px; padding:12px 15px; background:rgba(249,244,235,.94); box-shadow:-14px -14px 30px rgba(0,0,0,.14); }
.gwp-concept-villa__booking small { color:#887967; font-size:6px; }
.gwp-concept-villa__booking b { color:#2f241a; font-size:9px; }
.gwp-concept-page--professional { display:grid; grid-template-columns:1.2fr .8fr; grid-template-rows:auto 1fr auto; min-height:100%; background:radial-gradient(circle at 88% 18%,rgba(204,165,91,.26),transparent 28%),linear-gradient(135deg,#173c39,#09201e 62%,#071716); color:#f7f1e8; }
.gwp-concept-pro__nav { grid-column:1/-1; display:flex; align-items:center; gap:24px; padding:16px 22px; border-bottom:1px solid rgba(255,255,255,.13); }
.gwp-concept-pro__nav b { font-size:15px; letter-spacing:.13em; }
.gwp-concept-pro__nav>span { margin-left:auto; color:#b8c4bc; font-size:7px; }
.gwp-concept-pro__nav i { padding:8px 11px; border:1px solid #d4ae67; color:#edcf96; font-size:7px; font-style:normal; font-weight:800; }
.gwp-concept-pro__hero { grid-column:1/2; align-self:center; padding:24px clamp(26px,4vw,60px); }
.gwp-concept-pro__hero>small { color:#d7ae65; font-size:8px; font-weight:800; letter-spacing:.17em; }
.gwp-concept-pro__hero h3 { margin:12px 0 10px; color:#fff; font:600 clamp(30px,4vw,56px)/.98 var(--gw-serif); }
.gwp-concept-pro__hero h3 em { color:#e0b566; font-style:normal; }
.gwp-concept-pro__hero p { max-width:510px; margin:0 0 20px; color:#c3cbc5; font-size:12px; line-height:1.6; }
.gwp-concept-pro__hero>span { display:inline-flex; padding:10px 14px; border-radius:999px; background:#e0b566; color:#142320; font-size:8px; font-weight:900; }
.gwp-concept-pro__proof { grid-column:2/3; grid-row:2/4; display:grid; grid-template-columns:auto 1fr; align-content:center; gap:3px 12px; padding:24px clamp(22px,4vw,48px); border-left:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.035); }
.gwp-concept-pro__proof b { margin-top:16px; color:#e5bd70; font:600 clamp(25px,3vw,40px)/1 var(--gw-serif); }
.gwp-concept-pro__proof small { align-self:end; padding-bottom:5px; color:#aebbb3; font-size:7px; letter-spacing:.12em; }
.gw-preview .gwp-concept-card>.gwp-concept-card__meta { aspect-ratio:auto; margin:0; padding:18px 2px 0; overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none; }
.gwp-concept-card__meta>span { position:static; display:block; width:auto; height:auto; min-width:0; padding:0; border-radius:0; background:transparent; color:#9f6e2e; font-size:9px; font-weight:900; letter-spacing:.14em; backdrop-filter:none; }
.gwp-concept-card__meta h3 { margin:7px 0 5px; color:var(--gw-text); font:800 24px/1.1 var(--gw-sans); }
.gwp-concept-card__meta p { max-width:560px; margin:0; color:var(--gw-muted); font-size:13px; line-height:1.55; }

@media (max-width:860px) {
  .gw-preview .gwp-concepts__grid { grid-template-columns:1fr; gap:30px; }
  .gwp-concept-card--giorgaras,.gwp-concept-card--villa,.gwp-concept-card--professional { grid-column:auto; }
  .gw-preview .gwp-concept-card--professional>.gwp-concept-browser { aspect-ratio:1.55; }
}
@media (max-width:600px) {
  .gw-preview .gwp-outcomes { width:auto; margin-inline:20px; padding:18px 0 54px; gap:14px; }
  .gw-preview .gwp-outcomes article,.gw-preview .gwp-outcomes article+article { width:100%; margin:0; padding:24px 22px; border:1px solid var(--gw-line); border-radius:18px; background:var(--gw-panel); box-sizing:border-box; box-shadow:0 18px 44px -30px rgba(90,60,25,.5); }
  .gw-preview .gwp-concepts { width:auto; margin-inline:20px; padding:62px 0; }
  .gw-preview .gwp-concepts .gwp-section-head { margin-bottom:28px; }
  .gw-preview .gwp-concepts .gwp-section-head h2 { font-size:36px; }
  .gw-preview .gwp-concepts .gwp-section-head>p:last-child { font-size:14px; }
  .gw-preview .gwp-concept-card>.gwp-concept-browser,.gw-preview .gwp-concept-card--professional>.gwp-concept-browser { aspect-ratio:1.18; border-radius:16px; }
  .gwp-concept-browser__bar { height:28px; }
  .gwp-concept-page { height:calc(100% - 28px); }
  .gwp-concept-phone { right:4%; width:25%; height:62%; }
  .gwp-concept-villa__nav span,.gwp-concept-pro__nav>span { display:none; }
  .gwp-concept-villa__copy { top:26%; max-width:82%; }
  .gwp-concept-villa__copy strong { font-size:29px; }
  .gwp-concept-villa__booking { padding:9px 10px; }
  .gwp-concept-page--professional { grid-template-columns:1fr; grid-template-rows:auto 1fr auto; }
  .gwp-concept-pro__nav { padding:13px 15px; }
  .gwp-concept-pro__nav i { margin-left:auto; }
  .gwp-concept-pro__hero { grid-column:1; padding:22px 20px; }
  .gwp-concept-pro__hero h3 { font-size:32px; }
  .gwp-concept-pro__proof { grid-column:1; grid-row:3; grid-template-columns:repeat(3,auto 1fr); gap:5px 8px; padding:12px 16px; border-top:1px solid rgba(255,255,255,.12); border-left:0; }
  .gwp-concept-pro__proof b { margin:0; font-size:17px; }
  .gwp-concept-pro__proof small { font-size:5px; }
}

/* Livelier /preview motion — native CSS only. */
@media (prefers-reduced-motion:no-preference) {
  .gw-preview .gwp-yours__window { animation:gwp-window-float 7s ease-in-out infinite; }
  .gw-preview .gwp-yours__caption { animation:gwp-caption-float 5.5s .45s ease-in-out infinite; }
  .gw-preview .gwp-yours__visual i:nth-child(1) { animation:gwp-shape-one 9s ease-in-out infinite; }
  .gw-preview .gwp-yours__visual i:nth-child(2) { animation:gwp-shape-two 8s .8s ease-in-out infinite; }
  .gw-preview .gwp-yours__visual i:nth-child(3) { animation:gwp-orb-pulse 4.8s ease-in-out infinite; }
  .gw-preview .gwp-outcomes article:nth-child(2),
  .gw-preview .gwp-process article:nth-child(2),
  .gw-preview .gwp-concept-card:nth-child(2) { transition-delay:.1s; }
  .gw-preview .gwp-outcomes article:nth-child(3),
  .gw-preview .gwp-process article:nth-child(3),
  .gw-preview .gwp-concept-card:nth-child(3) { transition-delay:.2s; }
  .gw-preview .gwp-concept-browser { transition:transform .65s cubic-bezier(.2,.75,.2,1),box-shadow .65s ease; }
  .gw-preview .gwp-concept-page>img,
  .gw-preview .gwp-concept-phone { transition:transform .9s cubic-bezier(.2,.75,.2,1); }
  .gw-preview .gwp-concept-card:hover .gwp-concept-browser { transform:translateY(-8px); box-shadow:0 42px 85px -38px rgba(58,38,17,.82); }
  .gw-preview .gwp-concept-card:hover .gwp-concept-page>img { transform:scale(1.045); }
  .gw-preview .gwp-concept-card:hover .gwp-concept-phone { transform:translateY(-8px) rotate(1deg); }
  .gw-preview .gwp-offer__label span { animation:gwp-offer-glow 3.2s ease-in-out infinite; }
  .gw-preview .gw-button { position:relative; overflow:hidden; }
  .gw-preview .gw-button::after { content:""; position:absolute; inset:-40% auto -40% -55%; width:34%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent); transform:skewX(-18deg); animation:gwp-button-shine 5.5s 1.2s ease-in-out infinite; }
  .gwp-audit__journey article { transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease; }
  .gwp-audit__journey article:hover { transform:translateX(8px); border-color:rgba(168,118,58,.4); box-shadow:0 26px 54px -34px rgba(58,35,14,.8); }
  @keyframes gwp-window-float { 0%,100% { transform:perspective(1400px) rotateY(-9deg) rotateX(2deg) translateY(0); } 50% { transform:perspective(1400px) rotateY(-6deg) rotateX(1deg) translateY(-10px); } }
  @keyframes gwp-caption-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-6px); } }
  @keyframes gwp-shape-one { 0%,100% { transform:rotate(-8deg) translate(0); } 50% { transform:rotate(-3deg) translate(-9px,-7px); } }
  @keyframes gwp-shape-two { 0%,100% { transform:rotate(7deg) translate(0); } 50% { transform:rotate(12deg) translate(6px,-9px); } }
  @keyframes gwp-orb-pulse { 0%,100% { transform:scale(.94); box-shadow:0 0 0 18px rgba(199,151,79,.08); } 50% { transform:scale(1.06); box-shadow:0 0 0 30px rgba(199,151,79,.025); } }
  @keyframes gwp-offer-glow { 50% { box-shadow:0 0 0 7px rgba(36,49,41,.08); } }
  @keyframes gwp-button-shine { 0%,68% { left:-55%; } 88%,100% { left:125%; } }
}

/* Exact Giorgaras.gr call / Viber widget, with the Giorgaras Web number. */
.dn-call-fab { position:fixed; right:24px; bottom:24px; z-index:8000; display:flex; align-items:center; justify-content:center; gap:8px; height:50px; padding:0 18px 0 14px; border:0; border-radius:50px; background:linear-gradient(135deg,#22c55e,#16a34a); color:#fff; box-shadow:0 4px 20px rgba(22,163,74,.35),0 2px 6px rgba(0,0,0,.1); cursor:pointer; white-space:nowrap; transition:transform .2s,box-shadow .2s; }
.dn-call-fab:hover { transform:scale(1.05); box-shadow:0 6px 28px rgba(22,163,74,.45),0 3px 8px rgba(0,0,0,.12); }
.dn-call-fab svg { width:22px; height:22px; flex-shrink:0; fill:none; stroke:#fff; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.dn-call-fab-label { font:700 13px/1 Inter,var(--gw-sans),sans-serif; letter-spacing:.01em; }
.dn-call-fab::before { content:""; position:absolute; inset:-6px; border:2px solid rgba(34,197,94,.4); border-radius:50px; animation:dn-pulse 2s ease-out infinite; pointer-events:none; }
.dn-call-popup { position:fixed; right:24px; bottom:92px; z-index:8001; width:300px; padding:22px 20px 20px; border:1px solid rgba(0,0,0,.07); border-radius:20px; background:#fff; box-shadow:0 16px 50px rgba(0,0,0,.14),0 4px 12px rgba(0,0,0,.06); font-family:Inter,var(--gw-sans),sans-serif; text-align:center; opacity:0; pointer-events:none; transform:translateY(10px) scale(.95); transition:.25s cubic-bezier(.32,.72,0,1); }
.dn-call-popup.dn-call-open { opacity:1; pointer-events:auto; transform:none; }
.dn-call-popup p { margin-top:0; }
.dn-call-popup-title { margin-bottom:4px; color:#111; font-size:16px; font-weight:700; }
.dn-call-sub { margin-bottom:14px; color:#888; font-size:12.5px; line-height:1.4; }
.dn-call-popup .dn-call-number,.dn-call-popup .dn-viber-btn { display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:6px; border-radius:12px; color:#fff!important; text-decoration:none!important; transition:opacity .15s; }
.dn-call-popup .dn-call-number { padding:12px 16px; background:linear-gradient(135deg,#22c55e,#16a34a)!important; font-size:20px; font-weight:800; letter-spacing:.02em; }
.dn-call-popup .dn-viber-btn { padding:11px 16px; background:#7360f2!important; font-size:15px; font-weight:700; }
.dn-call-popup .dn-call-number:hover,.dn-call-popup .dn-viber-btn:hover { opacity:.9; }
.dn-call-number svg,.dn-viber-btn svg { width:18px; height:18px; flex-shrink:0; fill:none; stroke:#fff; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.dn-viber-btn svg { stroke-width:2; }
.dn-call-tap-hint { margin-bottom:12px; color:#16a34a; font-size:11px; font-weight:600; letter-spacing:.01em; }
.dn-call-hours-title { display:flex; align-items:center; justify-content:center; gap:5px; margin-bottom:6px; color:#333; font-size:12px; font-weight:600; }
.dn-call-hours-title svg { width:14px; height:14px; fill:none; stroke:#666; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.dn-call-hours { margin-bottom:0; color:#777; font-size:12px; line-height:1.7; }
@keyframes dn-pulse { 0% { transform:scale(.97); opacity:1; } 100% { transform:scale(1.12); opacity:0; } }
@media (max-width:1024px) {
  .dn-call-fab { right:auto; left:24px; width:50px; padding:0; border-radius:50%; }
  .dn-call-popup { right:auto; left:24px; }
  .dn-call-fab-label { display:none; }
}
@media (max-width:400px) {
  .dn-call-popup { right:auto; left:16px; width:calc(100vw - 32px); }
  .dn-call-fab { right:auto; bottom:80px; left:16px; }
}
@media (prefers-reduced-motion:reduce) {
  .dn-call-fab::before { animation:none; }
  .dn-call-popup,.dn-call-fab,.gw-preview .gwp-concept-browser,.gwp-audit__journey article { transition:none; }
}

/* /offer launch pass — premium depth, honest trust cues and compact lead capture. */
.gw-preview .gwp-yours__screen { background:
  radial-gradient(circle at 76% 24%,rgba(215,169,88,.32),transparent 23%),
  linear-gradient(130deg,rgba(255,255,255,.025),transparent 42%),
  repeating-linear-gradient(90deg,transparent 0 84px,rgba(255,255,255,.025) 85px 86px),
  linear-gradient(145deg,#202628,#080b0d 72%); }
.gwp-yours__services { position:absolute; z-index:3; top:88px; left:32px; display:flex; gap:7px; }
.gwp-yours__services span { padding:7px 10px; border:1px solid rgba(255,255,255,.11); border-radius:999px; background:rgba(8,12,14,.48); color:#c7c2b8; font-size:7px; font-weight:800; letter-spacing:.08em; backdrop-filter:blur(8px); }
.gwp-yours__feature { position:absolute; z-index:3; top:112px; right:34px; width:min(42%,230px); padding:18px; border:1px solid rgba(215,169,88,.23); border-radius:16px; background:linear-gradient(145deg,rgba(39,44,44,.78),rgba(11,15,16,.7)); box-shadow:0 24px 50px rgba(0,0,0,.24); backdrop-filter:blur(10px); }
.gwp-yours__feature small { position:static!important; display:block; color:#d8ad63!important; font-size:6px!important; letter-spacing:.15em!important; }
.gwp-yours__feature strong { display:block; margin-top:12px; overflow-wrap:anywhere; color:#f7f1e8; font:600 clamp(14px,1.35vw,19px)/1.08 var(--gw-serif); }
.gwp-yours__actions { position:relative; z-index:4; display:flex; align-items:center; align-self:flex-start; gap:6px; }
.gwp-yours__actions span { padding:9px 13px; border:1px solid rgba(215,169,88,.5); border-radius:999px; color:#e5c78d; font-size:7px; font-weight:900; letter-spacing:.1em; }
.gwp-yours__actions span:first-child { background:#d4a457; color:#18120b; }

.gwp-trust-rail { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; width:min(1180px,calc(100% - 48px)); margin:18px auto clamp(74px,8vw,112px); overflow:hidden; border:1px solid rgba(168,118,58,.18); border-radius:20px; background:rgba(168,118,58,.16); box-shadow:0 28px 70px -48px rgba(59,38,17,.62); }
.gwp-trust-rail article { display:flex; align-items:center; gap:14px; min-height:105px; padding:22px; background:rgba(255,253,248,.95); }
.gwp-trust-rail article>div { display:grid; gap:5px; }
.gwp-trust-rail small { color:#9a6d34; font-size:7px; font-weight:900; letter-spacing:.14em; }
.gwp-trust-rail strong { color:#2b2118; font-size:13px; line-height:1.35; }
.gwp-trust-rail__icon { display:grid; flex:0 0 38px; place-items:center; width:38px; height:38px; border-radius:50%; background:#eef5ec; color:#2f7b49; font-size:18px; font-weight:900; }
.gwp-trust-rail__trend { display:flex; align-items:end; gap:3px; flex:0 0 42px; width:42px; height:38px; padding:8px; border-radius:12px; background:#eef5ec; }
.gwp-trust-rail__trend i { flex:1; height:26%; border-radius:3px 3px 1px 1px; background:#2f8a51; transform-origin:bottom; }
.gwp-trust-rail__trend i:nth-child(2) { height:43%; }.gwp-trust-rail__trend i:nth-child(3) { height:68%; }.gwp-trust-rail__trend i:nth-child(4) { height:100%; }

.gwp-concept-villa__gallery { position:absolute; z-index:3; left:18px; bottom:15px; display:flex; gap:5px; }
.gwp-concept-villa__gallery i { width:38px; height:28px; border:1px solid rgba(255,255,255,.55); border-radius:5px; background:linear-gradient(145deg,rgba(224,181,102,.72),rgba(21,45,42,.72)); box-shadow:0 8px 18px rgba(0,0,0,.22); }
.gwp-concept-villa__gallery i:nth-child(2) { background:linear-gradient(145deg,#667f79,#d8b77a); }.gwp-concept-villa__gallery i:nth-child(3) { background:linear-gradient(145deg,#3b4e49,#b47848); }
.gwp-concept-villa__direct { position:absolute; z-index:3; right:14px; top:61px; padding:7px 9px; border:1px solid rgba(255,255,255,.3); border-radius:999px; background:rgba(10,19,17,.6); color:#f1d69d; font-size:6px; font-weight:900; letter-spacing:.12em; backdrop-filter:blur(8px); }

.gwp-concept-pro__proof { grid-template-columns:repeat(3,minmax(0,1fr)); align-content:stretch; gap:10px; }
.gwp-concept-pro__proof>span { display:grid; align-content:center; gap:5px; min-width:0; padding:10px; border:1px solid rgba(255,255,255,.1); border-radius:10px; background:rgba(255,255,255,.035); }
.gwp-concept-pro__proof>span b { margin:0; color:#e5bd70; font:700 15px/1 var(--gw-sans); }
.gwp-concept-pro__proof>span small { padding:0; color:#b9c5bd; font-size:5px; line-height:1.35; letter-spacing:.1em; }
.gwp-concept-pro__chart { grid-column:1/-1; align-self:end; min-width:0; padding:13px 14px 4px; border:1px solid rgba(255,255,255,.1); border-radius:14px; background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01)); }
.gwp-concept-pro__chart>small { display:block; color:#9faea5; font-size:5px; letter-spacing:.16em; }
.gwp-concept-pro__chart svg { display:block; width:100%; height:auto; overflow:visible; }
.gwp-concept-pro__chart path { fill:none; stroke:#6ec78e; stroke-width:3; stroke-linecap:round; filter:drop-shadow(0 0 5px rgba(110,199,142,.28)); }
.gwp-concept-pro__chart .gwp-concept-pro__chart-fill { fill:rgba(110,199,142,.13); stroke:none; }

.gwp-form-section { grid-template-columns:minmax(230px,.72fr) minmax(0,1fr); align-items:center; gap:46px; max-width:940px; min-height:0; padding:42px; scroll-margin-top:130px; }
.gwp-form-section>div h2 { font-size:clamp(28px,3.2vw,40px); line-height:1.04; }
.gwp-form-promises { display:grid; gap:9px; margin:24px 0 0; padding:0; list-style:none; }
.gwp-form-promises li { display:flex; align-items:center; gap:9px; color:#5f574b; font-size:12px; font-weight:700; }
.gwp-form-promises li::before { content:"✓"; display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#edf4ea; color:#31794a; font-size:10px; }
.gw-preview .gwp-form-section .gw-quiz { min-height:300px; padding:25px; border:1px solid rgba(168,118,58,.18); border-radius:20px; background:rgba(255,255,255,.46); box-shadow:0 24px 58px -40px rgba(66,43,20,.7); }
.gw-preview .gwp-form-section .gw-quiz__progress { gap:10px; margin-bottom:23px; }
.gw-preview .gwp-form-section .gw-quiz__progress>span { height:5px; background:linear-gradient(90deg,rgba(168,118,58,.12) 31%,transparent 31% 34%,rgba(168,118,58,.12) 34% 65%,transparent 65% 68%,rgba(168,118,58,.12) 68%); }
.gw-preview .gwp-form-section .gw-quiz__progress i { background:linear-gradient(90deg,#a87332,#d8ad63); }
.gw-preview .gwp-form-section .gw-quiz__progress b,.gw-preview .gwp-form-section .gw-quiz__step>small { color:#9b6b31; }
.gw-preview .gwp-form-section .gw-quiz__step>h3 { max-width:480px; margin:12px 0 22px; color:#2d2117; font:800 clamp(27px,3vw,42px)/1.02 var(--gw-sans); letter-spacing:-.045em; text-wrap:balance; }
.gw-preview .gwp-form-section .gw-quiz__step label { color:#6d6255; font-size:12px; }
.gw-preview .gwp-form-section .gw-quiz__step input { min-height:66px; padding:0 18px; border:1px solid rgba(89,63,34,.19); border-radius:16px; background:#fffdf9; color:#2d2117; font-size:16px; font-weight:500; box-shadow:0 12px 30px -25px rgba(58,37,16,.65); }
.gw-preview .gwp-form-section .gw-quiz__step input::placeholder { color:#9b907f; font-size:15px; font-weight:400; opacity:1; }
.gw-preview .gwp-form-section .gw-quiz__controls { margin-top:18px; }

.dn-call-fab { background:linear-gradient(135deg,#e2b965,#b17b38); color:#21170c; box-shadow:0 5px 24px rgba(146,98,39,.34),0 2px 7px rgba(0,0,0,.12); }
.dn-call-fab:hover { box-shadow:0 8px 30px rgba(146,98,39,.42),0 3px 9px rgba(0,0,0,.14); }
.dn-call-fab svg { stroke:#21170c; }
.dn-call-fab::before { border-color:rgba(177,123,56,.38); }
.dn-call-popup { border-color:rgba(168,118,58,.18); background:#fffaf1; box-shadow:0 20px 58px rgba(72,47,21,.18),0 4px 12px rgba(72,47,21,.08); }
.dn-call-popup .dn-call-number { background:linear-gradient(135deg,#ddb15c,#ad7430)!important; color:#21170c!important; }
.dn-call-popup .dn-viber-btn { border:1px solid rgba(216,173,99,.42); background:#29231d!important; color:#fff8e9!important; }

/* Launch consistency: the homepage, service pages and inner pages share one warm system. */
.gw-service,
.gw-inner {
  --gw-bg:#f4ede1;
  --gw-panel:#fffdf8;
  --gw-panel-2:#efe6d7;
  --gw-line:rgba(52,38,22,.12);
  --gw-gold:#a8763a;
  --gw-gold-light:#8c5f2b;
  --gw-text:#2b211a;
  --gw-muted:#6a6154;
  background:var(--gw-bg);
  color:var(--gw-text);
  color-scheme:light;
}
body:has(.gw-service),
body:has(.gw-inner) { margin:0; background:#f4ede1; }

body:has(.gw-service) .gw-header,
body:has(.gw-inner) .gw-header {
  border-color:var(--gw-line);
  background:rgba(249,244,236,.93);
  box-shadow:0 14px 40px rgba(90,65,30,.1);
  color:var(--gw-text);
  backdrop-filter:blur(16px);
}
body:has(.gw-service) .gw-header.is-scrolled,
body:has(.gw-inner) .gw-header.is-scrolled { background:rgba(249,244,236,.98); }
body:has(.gw-service) .gw-nav a,
body:has(.gw-service) .gw-mega>summary,
body:has(.gw-inner) .gw-nav a,
body:has(.gw-inner) .gw-mega>summary { color:#4a4136; }
body:has(.gw-service) .gw-menu summary,
body:has(.gw-inner) .gw-menu summary { border-color:var(--gw-line); }
body:has(.gw-service) .gw-menu summary span,
body:has(.gw-inner) .gw-menu summary span { background:#4a4136; }
body:has(.gw-service) .gw-menu nav,
body:has(.gw-inner) .gw-menu nav,
body:has(.gw-service) .gw-mega__panel,
body:has(.gw-inner) .gw-mega__panel { border-color:var(--gw-line); background:var(--gw-panel); color:var(--gw-text); }

.gw-service-hero {
  border-color:var(--gw-line);
  background:
    radial-gradient(circle at 78% 28%,rgba(168,118,58,.14),transparent 38%),
    linear-gradient(145deg,#faf5ed,#eee3d3);
}
.gw-service-hero::before {
  opacity:.65;
  background-image:linear-gradient(rgba(90,70,40,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(90,70,40,.045) 1px,transparent 1px);
}
.gw-breadcrumbs { color:#8c8173; }
.gw-service-hero__copy>p:not(.gw-kicker):not(.gw-breadcrumbs),
.gw-content-section__body,
.gw-service-cta p { color:var(--gw-muted); }
.gw-content-section__body h3 { color:var(--gw-text); }
.gw-service-stats { border-color:var(--gw-line); }
.gw-service-stats div {
  border-color:var(--gw-line);
  background:rgba(255,253,248,.88);
}
.gw-service-stats div+div { border-color:var(--gw-line); }
.gw-service-stats strong { color:var(--gw-gold); }
.gw-service-stats span { color:#827668; }
.gw-service-card {
  border-color:var(--gw-line);
  background:linear-gradient(145deg,#fffdf8,#f3eadc);
  box-shadow:0 20px 55px -42px rgba(76,49,21,.58);
}
.gw-service-card p { color:var(--gw-muted); }
.gw-service-card::after { border-color:rgba(168,118,58,.16); box-shadow:0 0 0 28px rgba(168,118,58,.035),0 0 0 56px rgba(168,118,58,.02); }
.gw-related {
  border-color:var(--gw-line);
  background:linear-gradient(160deg,#efe5d4,#e7dcc8);
}
.gw-related__links a {
  border-color:var(--gw-line);
  background:rgba(255,253,248,.88);
  color:var(--gw-text);
}
.gw-service-cta,
.gw-inner .gw-closing {
  border-color:rgba(168,118,58,.26);
  background:radial-gradient(circle at 85% 10%,rgba(168,118,58,.14),transparent 32%),linear-gradient(145deg,#fffdf8,#f0e4d1);
  box-shadow:0 30px 80px -48px rgba(74,47,20,.55);
}
.gw-service .gw-faq,
.gw-inner .gw-faq { border-color:var(--gw-line); }
.gw-service .gw-faq details,
.gw-inner .gw-faq details { border-color:var(--gw-line); background:var(--gw-panel); }
.gw-service .gw-faq details p,
.gw-inner .gw-faq details p { color:var(--gw-muted); }

.gw-inner .gw-pagehero {
  max-width:none;
  padding-inline:max(28px,calc((100vw - 1164px)/2));
  border-bottom:1px solid var(--gw-line);
  background:radial-gradient(circle at 78% 28%,rgba(168,118,58,.12),transparent 38%),linear-gradient(145deg,#faf5ed,#eee3d3);
}
.gw-inner .gw-pagehero>p:not(.gw-kicker),
.gw-inner .gw-contact-page__copy>p,
.gw-inner .gw-values p { color:var(--gw-muted); }
.gw-inner .gw-archive { background:transparent; }
.gw-inner .gw-project {
  border-color:var(--gw-line);
  background:var(--gw-panel);
  box-shadow:0 22px 60px -42px rgba(74,47,20,.62);
}
.gw-inner .gw-project__image { background:#e7dcc8; }
.gw-inner .gw-project__meta i,
.gw-inner .gw-project__meta b { color:var(--gw-gold); }
.gw-inner .gw-project__meta strong { color:var(--gw-text); }
.gw-inner .gw-project__meta small { color:var(--gw-muted); }
.gw-inner .gw-studio-story,
.gw-inner .gw-values { border-color:var(--gw-line); }
.gw-inner .gw-values article+article { border-color:var(--gw-line); }
.gw-inner .gw-contact-methods a,
.gw-inner .gw-form--panel {
  border-color:rgba(168,118,58,.24);
  background:var(--gw-panel);
  box-shadow:0 24px 60px -45px rgba(74,47,20,.58);
}
.gw-inner .gw-form input,
.gw-inner .gw-form textarea,
.gw-inner .gw-form select { border-color:var(--gw-line); background:#fff; color:var(--gw-text); }

body:has(.gw-service) .gw-footer,
body:has(.gw-inner) .gw-footer {
  border-color:var(--gw-line);
  background:#efe6d6;
  color:var(--gw-text);
}
body:has(.gw-service) .gw-footer__intro p,
body:has(.gw-service) .gw-footer__links a,
body:has(.gw-inner) .gw-footer__intro p,
body:has(.gw-inner) .gw-footer__links a { color:var(--gw-muted); }
body:has(.gw-service) .gw-footer__links strong,
body:has(.gw-inner) .gw-footer__links strong,
body:has(.gw-service) .gw-footer__intro>a:last-child,
body:has(.gw-inner) .gw-footer__intro>a:last-child { color:var(--gw-gold); }
body:has(.gw-service) .gw-footer__bottom,
body:has(.gw-inner) .gw-footer__bottom { border-color:var(--gw-line); color:#8c8173; }
.dn-call-popup .dn-call-number svg { stroke:#21170c; }
.dn-call-tap-hint { color:#9b682e; }

@media (prefers-reduced-motion:no-preference) {
  .gwp-trust-rail [data-reveal].is-visible .gwp-trust-rail__trend i { animation:gwp-trust-rise .65s cubic-bezier(.2,.75,.2,1) both; }
  .gwp-trust-rail [data-reveal].is-visible .gwp-trust-rail__trend i:nth-child(2) { animation-delay:.08s; }.gwp-trust-rail [data-reveal].is-visible .gwp-trust-rail__trend i:nth-child(3) { animation-delay:.16s; }.gwp-trust-rail [data-reveal].is-visible .gwp-trust-rail__trend i:nth-child(4) { animation-delay:.24s; }
  .gwp-concept-pro__chart path:first-of-type { stroke-dasharray:420; stroke-dashoffset:420; animation:gwp-chart-draw 2.1s .4s ease forwards; }
  @keyframes gwp-trust-rise { from { transform:scaleY(.08); opacity:.25; } }
  @keyframes gwp-chart-draw { to { stroke-dashoffset:0; } }
}

@media (max-width:900px) {
  .gwp-trust-rail { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gwp-form-section { grid-template-columns:1fr; max-width:680px; gap:28px; }
}
@media (max-width:600px) {
  .gwp-yours__services,.gwp-yours__feature { display:none; }
  .gwp-yours__visual { top:10%; right:-12%; opacity:.58; }
  .gw-preview .gwp-yours__screen h2 { max-width:260px; margin:auto 0 6px; font-size:24px; line-height:1; }
  .gwp-yours__actions { gap:4px; }.gwp-yours__actions span { padding:6px 8px; font-size:5px; }
  .gwp-trust-rail { grid-template-columns:1fr; width:calc(100% - 40px); margin-bottom:70px; }.gwp-trust-rail article { min-height:86px; padding:18px; }
  .gwp-concept-villa__gallery { display:none; }.gwp-concept-villa__direct { top:49px; right:9px; }
  .gwp-concept-pro__proof { grid-template-columns:repeat(3,minmax(0,1fr)); padding:12px; }.gwp-concept-pro__chart { grid-column:1/-1; padding:8px 10px 2px; }.gwp-concept-pro__proof>span { padding:8px 5px; }
  .gwp-form-section { width:calc(100% - 28px); gap:24px; padding:24px 16px; }.gwp-form-section>div { padding:0 6px; }.gwp-form-section>div h2 { font-size:31px; }
  .gw-preview .gwp-form-section .gw-quiz { min-height:290px; padding:20px 16px; border-radius:16px; }.gw-preview .gwp-form-section .gw-quiz__step>h3 { font-size:28px; }.gw-preview .gwp-form-section .gw-quiz__step input { min-height:62px; font-size:15px; }
}

/* PLANO header + homepage hero. Everything below the hero keeps its existing system. */
.gw-header.gw-header--plano {
  position:sticky;
  top:0;
  z-index:9000;
  grid-template-columns:160px 1fr auto;
  gap:clamp(24px,4vw,64px);
  width:100%;
  min-height:84px;
  padding:10px max(24px,calc((100vw - 1280px)/2));
  border:0;
  border-bottom:1px solid #e5e7eb;
  border-radius:0;
  background:rgba(247,247,245,.96);
  box-shadow:none;
  backdrop-filter:blur(14px);
  transform:none;
}
.gw-header.gw-header--plano.is-scrolled { background:rgba(255,255,255,.97); box-shadow:0 8px 24px rgba(17,19,24,.06); }
.gw-header--plano .gw-brand,.gw-header--plano .gw-brand img { width:139px; }
.gw-header--plano .gw-nav { align-items:center; justify-content:center; gap:clamp(24px,3vw,44px); }
.gw-header--plano .gw-nav a { color:#111318; font-size:13px; font-weight:600; }
.gw-header--plano .gw-nav a:hover { color:#2456ff; }
.gw-header--plano .gw-button--header,
.gw-header--plano .gw-menu .gw-button {
  min-height:46px;
  gap:10px;
  padding-inline:12px;
  border:1px solid #2456ff;
  border-radius:8px;
  background:#2456ff;
  color:#fff!important;
  font-size:12px;
  box-shadow:none;
}
.gw-header--plano .gw-button--header:hover,
.gw-header--plano .gw-menu .gw-button:hover { background:#1745e8; filter:none; box-shadow:none; }

.gw-warm .gw-hero--plano {
  grid-template-columns:minmax(0,48fr) minmax(0,52fr);
  gap:clamp(40px,5vw,76px);
  min-height:680px;
  padding:64px max(24px,calc((100vw - 1280px)/2));
  overflow:hidden;
  border-bottom:1px solid #e5e7eb;
  background:#f7f7f5;
  color:#111318;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.gw-warm .gw-hero--plano::before { content:none; }
.gw-warm .gw-hero--plano .gw-hero__copy { max-width:610px; }
.gw-warm .gw-hero--plano .gw-kicker { margin-bottom:22px; color:#2456ff; font:800 11px/1.2 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:.16em; }
.gw-warm .gw-hero--plano h1 { margin:0; color:#111318; font:800 clamp(60px,5.35vw,74px)/.98 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:-.06em; text-wrap:balance; }
.gw-warm .gw-hero--plano h1 .plano-h1-line { display:inline-block; color:#111318; white-space:nowrap; }
.gw-warm .gw-hero--plano h1 .plano-h1-accent { color:#2456ff; }
.gw-warm .gw-hero--plano .gw-lead { max-width:560px; margin-top:26px; color:#50545d; font-size:18px; line-height:1.65; }
.gw-warm .gw-hero--plano .gw-actions { align-items:center; gap:22px; margin-top:32px; }
.gw-warm .gw-hero--plano .gw-button--large { min-height:56px; padding-inline:24px; border:1px solid #2456ff; border-radius:8px; background:#2456ff; color:#fff!important; box-shadow:0 12px 28px rgba(36,86,255,.2); }
.gw-warm .gw-hero--plano .gw-button--large:hover { background:#1745e8; filter:none; box-shadow:0 14px 32px rgba(36,86,255,.27); }
.gw-hero__secondary { padding:10px 0 8px; border-bottom:1px solid #111318; color:#111318!important; font-size:14px; font-weight:750; }
.gw-hero__secondary:hover { color:#2456ff!important; border-color:#2456ff; }
.gw-warm .gw-hero--plano .gw-offerline { display:flex; flex-wrap:wrap; gap:7px 12px; margin-top:16px; color:#4f5560; font-size:12px; font-weight:650; line-height:1.6; }
.gw-warm .gw-hero--plano .gw-offerline span + span::before { content:""; display:inline-block; width:4px; height:4px; margin:0 12px 2px 0; border-radius:50%; background:#2456ff; }

.plano-hero-visual {
  position:relative;
  min-width:0;
  min-height:540px;
  overflow:hidden;
  border-radius:28px;
  background:radial-gradient(circle at 86% 12%,rgba(36,86,255,.42),transparent 32%),#111318;
  box-shadow:0 30px 70px rgba(17,19,24,.2);
}
.plano-hero-visual::after { content:""; position:absolute; right:28px; bottom:26px; width:18px; height:18px; background:#2456ff; }
.plano-mockup { position:absolute; overflow:hidden; margin:0; border:1px solid rgba(255,255,255,.24); background:#fff; box-shadow:0 24px 50px rgba(0,0,0,.38); }
.plano-mockup img { display:block; width:100%; height:calc(100% - 25px); object-fit:cover; object-position:top center; }
.plano-browser-bar { display:flex; height:25px; align-items:center; gap:5px; padding:0 9px; background:#f2f3f5; }
.plano-browser-bar i { width:6px; height:6px; border-radius:50%; background:#b8bdc7; }
.plano-browser-bar i:first-child { background:#2456ff; }
.plano-browser-bar b { margin-left:5px; color:#6d727c; font-size:7px; font-weight:700; }
.plano-mockup--giorgaras { z-index:2; top:86px; left:8%; width:70%; aspect-ratio:1.56; border-radius:12px; transform:rotate(-2.5deg); }
.plano-mockup--dromeas { z-index:1; top:18px; right:2%; width:57%; aspect-ratio:1.7; border-radius:11px; transform:rotate(3deg); }
.plano-mockup--epipla { z-index:3; right:6%; bottom:4%; width:25%; aspect-ratio:9/17.5; border:6px solid #111318; border-radius:24px; transform:rotate(3deg); }
.plano-mockup--epipla img { height:100%; object-position:42% top; }
.plano-phone-speaker { position:absolute; z-index:2; top:7px; left:50%; width:32%; height:5px; border-radius:999px; background:#111318; transform:translateX(-50%); }

.dn-call-fab {
  right:20px;
  bottom:20px;
  left:auto;
  width:56px;
  height:56px;
  padding:0;
  border-radius:50%;
  background:#2456ff;
  color:#fff;
  box-shadow:0 12px 28px rgba(36,86,255,.28);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(12px) scale(.9);
}
.dn-call-fab.is-scroll-visible { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
.dn-call-fab:hover { background:#1745e8; box-shadow:0 14px 32px rgba(36,86,255,.34); }
.dn-call-fab svg { stroke:#fff; }
.dn-call-fab::before,.dn-call-fab-label { display:none; }
.dn-call-popup { right:20px; bottom:88px; left:auto; }

@media (max-width:1080px) {
  .gw-warm .gw-hero--plano h1 { font-size:clamp(54px,6vw,66px); }
  .plano-hero-visual { min-height:500px; }
}
@media (max-width:980px) {
  .gw-header.gw-header--plano { grid-template-columns:1fr auto auto; }
  .gw-header--plano .gw-menu summary { border-color:#d5d8df; border-radius:7px; }
  .gw-header--plano .gw-menu summary span { background:#111318; }
  .gw-header--plano .gw-menu nav { position:fixed; top:84px; right:12px; width:min(310px,calc(100vw - 24px)); border-color:#e1e3e8; border-radius:12px; background:#fff; box-shadow:0 20px 50px rgba(17,19,24,.15); }
  .gw-header--plano .gw-menu nav>a:not(.gw-button) { color:#111318; font-weight:700; }
  .gw-warm .gw-hero--plano { grid-template-columns:1fr; gap:48px; min-height:0; padding-top:64px; padding-bottom:64px; }
  .gw-warm .gw-hero--plano .gw-hero__copy { max-width:720px; }
  .plano-hero-visual { width:100%; min-height:520px; }
}
@media (max-width:680px) {
  .gw-header.gw-header--plano { grid-template-columns:1fr auto; min-height:72px; padding:8px 16px; }
  .gw-header--plano .gw-brand,.gw-header--plano .gw-brand img { width:119px; }
  .gw-header--plano .gw-button--header { display:none; }
  .gw-header--plano .gw-menu nav { top:72px; }
  .gw-warm .gw-hero--plano { gap:38px; padding:48px 20px 54px; }
  .gw-warm .gw-hero--plano .gw-kicker { margin-bottom:18px; font-size:9px; }
  .gw-warm .gw-hero--plano h1 { font-size:clamp(38px,11.6vw,54px); letter-spacing:-.055em; }
  .gw-warm .gw-hero--plano .gw-lead { margin-top:22px; font-size:17px; line-height:1.55; }
  .gw-warm .gw-hero--plano .gw-actions { align-items:flex-start; gap:18px; margin-top:26px; }
  .gw-warm .gw-hero--plano .gw-button--large { width:100%; padding-inline:18px; }
  .gw-warm .gw-hero--plano .gw-offerline { margin-top:14px; gap:6px 10px; }
  .gw-warm .gw-hero--plano .gw-offerline span + span::before { margin-right:10px; }
  .plano-hero-visual { min-height:370px; border-radius:20px; }
  .plano-mockup--giorgaras { top:70px; left:6%; width:74%; }
  .plano-mockup--dromeas { top:14px; right:1%; width:59%; }
  .plano-mockup--epipla { right:6%; bottom:4%; width:27%; border-width:4px; border-radius:17px; }
  .dn-call-fab { right:16px; bottom:16px; left:auto; }
  .dn-call-popup { right:16px; bottom:84px; left:auto; width:calc(100vw - 32px); }
}

/* PLANO homepage system */
body:has(.gw-home) {
  --gw-bg:#f5f7fb;
  --gw-panel:#fff;
  --gw-panel-2:#f7f5f0;
  --gw-line:#dce2ec;
  --gw-gold:#2456ff;
  --gw-gold-light:#2456ff;
  --gw-text:#111318;
  --gw-muted:#5b6270;
  background:#f5f7fb;
  color:#111318;
}
body:has(.gw-home) .gw-page { background:#f5f7fb; color:#111318; }
body:has(.gw-home) .gw-kicker,
body:has(.gw-home) .gw-project__meta i,
body:has(.gw-home) .gw-service-card>span,
body:has(.gw-home) .gw-process-compact article>span { color:#2456ff; }
body:has(.gw-home) .gw-button { border-color:#2456ff; background:#2456ff; color:#fff!important; box-shadow:none; }
body:has(.gw-home) .gw-button:hover { border-color:#1745e8; background:#1745e8; color:#fff!important; }
body:has(.gw-home) .gw-button--outline { background:transparent; color:#2456ff!important; }
body:has(.gw-home) .gw-button--outline:hover { background:#2456ff; color:#fff!important; }

body:has(.gw-home) .gw-header.gw-header--plano {
  top:14px;
  width:calc(100% - 32px);
  max-width:1440px;
  min-height:80px;
  margin:14px auto 0;
  padding:10px 24px;
  border:1px solid rgba(13,19,36,.09);
  border-radius:20px;
  background:rgba(255,255,255,.88);
  box-shadow:0 14px 36px rgba(13,19,36,.1);
  backdrop-filter:blur(18px);
}
body:has(.gw-home) .gw-header.gw-header--plano.is-scrolled { background:rgba(255,255,255,.94); box-shadow:0 18px 42px rgba(13,19,36,.13); }

body:has(.gw-home) .gw-featured,
body:has(.gw-home) .gw-w-outcomes,
body:has(.gw-home) .gw-home-services,
body:has(.gw-home) .gw-process-compact,
body:has(.gw-home) .gw-founder,
body:has(.gw-home) .gw-home-faq,
body:has(.gw-home) .gw-closing { color:#111318; }
body:has(.gw-home) .gw-section__head h2,
body:has(.gw-home) .gw-w-outcomes h2,
body:has(.gw-home) .gw-service-card h3,
body:has(.gw-home) .gw-process-compact h3,
body:has(.gw-home) .gw-founder h2,
body:has(.gw-home) .gw-home-faq summary { color:#111318; }

body:has(.gw-home) .gw-home-projects {
  padding:104px max(28px,calc((100vw - 1280px)/2));
  border:0;
  background:#fff;
}
body:has(.gw-home) .gw-home-projects .gw-section__head { max-width:820px; margin-bottom:36px; }
body:has(.gw-home) .gw-home-projects .gw-section__head p:last-child { max-width:660px; color:#5b6270; line-height:1.7; }
body:has(.gw-home) .gw-home-projects .gw-featured__grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
body:has(.gw-home) .gw-home-projects .gw-project { border:1px solid #dce2ec; border-radius:18px; background:#fff; box-shadow:0 20px 48px rgba(13,19,36,.08); }
body:has(.gw-home) .gw-home-projects .gw-project:hover { border-color:rgba(36,86,255,.42); }
body:has(.gw-home) .gw-home-projects .gw-project__image { height:auto; aspect-ratio:16/10; background:#e9edf5; }
body:has(.gw-home) .gw-home-projects .gw-project__meta { min-height:132px; padding:20px; }
body:has(.gw-home) .gw-home-projects .gw-project__meta strong { color:#111318; }
body:has(.gw-home) .gw-home-projects .gw-project__meta small { color:#5b6270; }
body:has(.gw-home) .gw-home-projects .gw-project__meta b { color:#2456ff; }
body:has(.gw-home) .gw-home-projects .gw-centered { margin-top:32px; }

body:has(.gw-home) .gw-w-outcomes {
  max-width:none;
  padding:96px max(28px,calc((100vw - 1180px)/2));
  background:#f5f7fb;
}
body:has(.gw-home) .gw-w-outcomes article { border:1px solid #dce2ec; border-radius:18px; background:#fff; box-shadow:0 18px 42px rgba(13,19,36,.06); }
body:has(.gw-home) .gw-w-outcomes article:hover { border-color:rgba(36,86,255,.4); box-shadow:0 24px 48px rgba(13,19,36,.09); }
body:has(.gw-home) .gw-w-icon { border-color:rgba(36,86,255,.2); background:rgba(36,86,255,.08); color:#2456ff; }

body:has(.gw-home) .gw-w-offer {
  grid-template-columns:.9fr 1.1fr;
  gap:clamp(36px,6vw,80px);
  max-width:1180px;
  margin:0 auto 104px;
  padding:clamp(36px,5vw,64px);
  border:0;
  border-radius:24px;
  background:#0d1324;
  color:#fff;
  box-shadow:0 28px 70px rgba(13,19,36,.18);
}
body:has(.gw-home) .gw-w-price { border-color:rgba(255,255,255,.16); }
body:has(.gw-home) .gw-w-price p { border-color:rgba(255,255,255,.14); }
body:has(.gw-home) .gw-w-price strong { color:#fff; }
body:has(.gw-home) .gw-w-price span,
body:has(.gw-home) .gw-w-price small,
body:has(.gw-home) .gw-w-offercopy>p { color:#c6ccda; }
body:has(.gw-home) .gw-w-price p:nth-of-type(2) strong,
body:has(.gw-home) .gw-w-price p:nth-of-type(3) strong { color:#fff; font-size:clamp(28px,3vw,40px); }
body:has(.gw-home) .gw-w-offercopy h2,
body:has(.gw-home) .gw-w-incl li { color:#fff; }
body:has(.gw-home) .gw-w-incl li::before { color:#2456ff; }

body:has(.gw-home) .gw-home-services { max-width:1280px; padding:104px 28px; }
body:has(.gw-home) .gw-home-services .gw-section__head { max-width:780px; }
body:has(.gw-home) .gw-home-services .gw-section__head>p:last-child { color:#5b6270; }
body:has(.gw-home) .gw-home-services .gw-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
body:has(.gw-home) .gw-home-services .gw-service-card { min-height:260px; border:1px solid #dce2ec; border-radius:18px; background:#fff; box-shadow:none; }
body:has(.gw-home) .gw-home-services .gw-service-card::after { content:none; }
body:has(.gw-home) .gw-home-services .gw-service-card p { color:#5b6270; }
body:has(.gw-home) .gw-home-services .gw-service-card a { color:#2456ff; }

body:has(.gw-home) .gw-process-compact { padding:96px max(28px,calc((100vw - 1180px)/2)); background:#fff; }
body:has(.gw-home) .gw-process-compact>div:last-child { border-color:#dce2ec; }
body:has(.gw-home) .gw-process-compact article+article { border-color:#dce2ec; }
body:has(.gw-home) .gw-process-compact p { color:#5b6270; }

body:has(.gw-home) .gw-founder {
  grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);
  gap:clamp(48px,8vw,104px);
  max-width:1180px;
  padding:104px 28px;
  border:0;
}
body:has(.gw-home) .gw-founder::before { content:none; }
body:has(.gw-home) .gw-founder__photo { position:relative; min-height:470px; overflow:hidden; border:1px solid #d4dcea; border-radius:22px; background:linear-gradient(145deg,#edf1f8,#dbe3f0); }
body:has(.gw-home) .gw-founder__photo::after { content:"ΦΩΤΟΓΡΑΦΙΑ FOUNDER"; position:absolute; left:24px; bottom:22px; color:#667085; font-size:10px; font-weight:800; letter-spacing:.15em; }
body:has(.gw-home) .gw-founder p { color:#5b6270; }
body:has(.gw-home) .gw-founder .gw-text-link { border-color:rgba(36,86,255,.4); color:#2456ff!important; }

body:has(.gw-home) .gw-home-faq { max-width:1000px; margin:auto; padding:96px 28px; }
body:has(.gw-home) .gw-home-faq .gw-section__head { max-width:720px; margin-bottom:30px; }
body:has(.gw-home) .gw-home-faq .gw-faq__grid { display:grid; gap:10px; }
body:has(.gw-home) .gw-home-faq details { border:1px solid #dce2ec; border-radius:14px; background:#fff; }
body:has(.gw-home) .gw-home-faq summary { padding:20px 22px; cursor:pointer; font-weight:750; }
body:has(.gw-home) .gw-home-faq details p { margin:0; padding:0 22px 22px; color:#5b6270; line-height:1.7; }
body:has(.gw-home) .gw-home-faq summary::marker { color:#2456ff; }

body:has(.gw-home) .gw-closing--quiz { max-width:1180px; margin:0 auto 104px; padding:clamp(36px,5vw,64px); border:0; border-radius:24px; background:#f7f5f0; box-shadow:none; }
body:has(.gw-home) .gw-closing--quiz>div>p:not(.gw-kicker) { color:#5b6270; }
body:has(.gw-home) .gw-closing--quiz .gw-form { border:1px solid #dce2ec; background:#fff; box-shadow:0 18px 48px rgba(13,19,36,.08); }
body:has(.gw-home) .gw-closing--quiz .gw-form label,
body:has(.gw-home) .gw-closing--quiz .gw-form [data-gd-form-note] { color:#5b6270; }
body:has(.gw-home) .gw-closing--quiz .gw-form input { border-color:#d4dbea; background:#f5f7fb; color:#111318; }
body:has(.gw-home) .gw-closing--quiz .gw-quiz__progress>span { background:rgba(36,86,255,.12); }
body:has(.gw-home) .gw-closing--quiz .gw-quiz__progress i { background:#2456ff; }
body:has(.gw-home) .gw-closing--quiz .gw-quiz__progress b,
body:has(.gw-home) .gw-closing--quiz .gw-quiz__step>small { color:#2456ff; }
body:has(.gw-home) .gw-closing--quiz .gw-quiz__step input:focus { border-color:#2456ff; box-shadow:0 0 0 4px rgba(36,86,255,.1); }

body:has(.gw-home) .gw-footer {
  grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);
  gap:64px;
  padding:76px max(28px,calc((100vw - 1280px)/2)) 28px;
  border:0;
  background:#0d1324;
  color:#fff;
}
body:has(.gw-home) .gw-footer .gw-brand img { filter:brightness(0) invert(1); }
body:has(.gw-home) .gw-footer .gw-brand>span { color:#9fb4ff; }
body:has(.gw-home) .gw-footer__intro p,
body:has(.gw-home) .gw-footer__links a { color:#c6ccda; }
body:has(.gw-home) .gw-footer__links strong { color:#fff; }
body:has(.gw-home) .gw-footer__links a:hover,
body:has(.gw-home) .gw-footer__contacts a { color:#fff; }
body:has(.gw-home) .gw-footer__contacts { display:grid; gap:6px; margin-top:18px; }
body:has(.gw-home) .gw-footer__contacts a:first-child { font-size:22px; font-weight:800; }
body:has(.gw-home) .gw-footer__cta { display:inline-flex; margin-top:24px; padding:14px 18px; border-radius:9px; background:#2456ff; color:#fff!important; font-weight:800; }
body:has(.gw-home) .gw-footer__bottom { grid-column:1/-1; display:grid; grid-template-columns:1fr auto auto; gap:24px; margin-top:12px; padding-top:24px; border-color:rgba(255,255,255,.14); color:#aeb6c8; }
body:has(.gw-home) .gw-footer__bottom nav { display:flex; gap:18px; }
body:has(.gw-home) .gw-footer__bottom a { color:#c6ccda; }

body:has(.gw-home) .dn-call-popup { border-color:#dce2ec; background:#fff; color:#111318; }
body:has(.gw-home) .dn-call-popup-title,
body:has(.gw-home) .dn-call-hours-title { color:#111318; }
body:has(.gw-home) .dn-viber-btn { background:#2456ff; color:#fff; }

@media (max-width:980px) {
  body:has(.gw-home) .gw-header.gw-header--plano { width:calc(100% - 24px); }
  body:has(.gw-home) .gw-header--plano .gw-menu nav { top:104px; }
  body:has(.gw-home) .gw-home-projects .gw-featured__grid { grid-template-columns:1fr; }
  body:has(.gw-home) .gw-w-offer { grid-template-columns:1fr; margin-inline:24px; }
  body:has(.gw-home) .gw-w-price { padding:0 0 24px; border-right:0; border-bottom:1px solid rgba(255,255,255,.16); }
  body:has(.gw-home) .gw-founder { grid-template-columns:1fr; }
  body:has(.gw-home) .gw-founder__photo { min-height:420px; }
  body:has(.gw-home) .gw-footer { grid-template-columns:1fr; }
  body:has(.gw-home) .gw-footer__bottom { grid-template-columns:1fr; }
}
@media (max-width:680px) {
  body:has(.gw-home) .gw-header.gw-header--plano { top:8px; width:calc(100% - 20px); min-height:70px; margin-top:8px; padding:8px 14px; border-radius:16px; }
  body:has(.gw-home) .gw-header--plano .gw-menu nav { top:88px; }
  body:has(.gw-home) .gw-home-projects,
  body:has(.gw-home) .gw-w-outcomes,
  body:has(.gw-home) .gw-home-services,
  body:has(.gw-home) .gw-process-compact,
  body:has(.gw-home) .gw-founder,
  body:has(.gw-home) .gw-home-faq { padding:72px 18px; }
  body:has(.gw-home) .gw-home-services .gw-service-grid { grid-template-columns:1fr; }
  body:has(.gw-home) .gw-w-offer { margin:0 14px 72px; padding:30px 22px; border-radius:18px; }
  body:has(.gw-home) .gw-founder__photo { min-height:340px; }
  body:has(.gw-home) .gw-closing--quiz { margin:0 14px 72px; padding:30px 20px; border-radius:18px; }
  body:has(.gw-home) .gw-footer { gap:40px; padding:58px 22px 24px; }
  body:has(.gw-home) .gw-footer__links { grid-template-columns:1fr 1fr; }
  body:has(.gw-home) .gw-footer__bottom nav { flex-wrap:wrap; }
}

/* Header geometry and surface measured from the live Dromeas island, adapted to PLANO content. */
.gw-header.gw-header--plano,
body:has(.gw-home) .gw-header.gw-header--plano {
  position:sticky;
  top:14px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:0;
  width:calc(100% - 32px);
  max-width:1200px;
  min-height:72px;
  margin:14px auto 0;
  padding:0 8px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:50px;
  background:rgba(255,255,255,.92);
  box-shadow:0 4px 28px rgba(0,0,0,.07),0 1px 3px rgba(0,0,0,.04),inset 0 1px 0 rgba(255,255,255,.7);
  backdrop-filter:blur(12px);
}
.gw-header.gw-header--plano.is-scrolled,
body:has(.gw-home) .gw-header.gw-header--plano.is-scrolled {
  background:rgba(255,255,255,.96);
  box-shadow:0 4px 28px rgba(0,0,0,.07),0 1px 3px rgba(0,0,0,.04),inset 0 1px 0 rgba(255,255,255,.7);
}
.gw-header--plano .gw-nav { gap:2px; }
.gw-header--plano .gw-nav--left { justify-content:flex-end; }
.gw-header--plano .gw-nav a { padding:18px 16px; color:#111318; font-size:12px; font-weight:600; }
.gw-header--plano .gw-brand { width:132px; margin:0 14px; align-items:center; }
.gw-header--plano .gw-brand img { width:132px; }
.gw-nav-right { display:flex; min-width:0; align-items:center; justify-content:flex-start; }
.gw-header--plano .gw-nav-right .gw-nav { justify-content:flex-start; }
.gw-header--plano .gw-button--header {
  min-height:54px;
  margin-left:4px;
  padding-inline:18px;
  border-radius:0;
  white-space:nowrap;
}

.gw-legal { min-height:100vh; background:#f5f7fb; color:#111318; }
.gw-legal__hero { max-width:1040px; margin:auto; padding:118px 28px 58px; }
.gw-legal__hero h1 { max-width:820px; margin:0; color:#111318; font-size:clamp(46px,7vw,84px); line-height:.98; letter-spacing:-.055em; }
.gw-legal__hero>p:last-child { margin:24px 0 0; color:#667085; }
.gw-legal__content { display:grid; gap:14px; max-width:900px; margin:0 auto; padding:0 28px 104px; }
.gw-legal__content section { padding:28px 30px; border:1px solid #dce2ec; border-radius:16px; background:#fff; }
.gw-legal__content h2 { margin:0 0 12px; color:#111318; font-size:22px; letter-spacing:-.025em; }
.gw-legal__content p,.gw-legal__content li { color:#535b69; font-size:15px; line-height:1.75; }
.gw-legal__content p { margin:10px 0 0; }
.gw-legal__content ul { display:grid; gap:7px; margin:12px 0 0; padding-left:20px; }
.gw-legal__content a { color:#2456ff; text-decoration:underline; text-underline-offset:3px; }
.gw-legal__content code { padding:2px 5px; border-radius:4px; background:#eef2ff; color:#111318; }

body:has(.gw-home) .gw-founder__photo { margin:0; background:#111318; }
body:has(.gw-home) .gw-founder__photo::after { content:none; }
body:has(.gw-home) .gw-founder__photo img { width:100%; height:100%; min-height:470px; object-fit:cover; object-position:center 22%; }

@media (max-width:980px) {
  .gw-header.gw-header--plano,
  body:has(.gw-home) .gw-header.gw-header--plano { grid-template-columns:1fr auto; width:calc(100% - 24px); }
  .gw-header--plano .gw-nav--left,.gw-header--plano .gw-nav-right { display:none; }
  .gw-header--plano .gw-brand { grid-column:1; margin:0 0 0 10px; justify-self:start; }
  .gw-header--plano .gw-menu { grid-column:2; }
  .gw-header--plano .gw-menu summary { border:0; border-radius:50%; }
  .gw-header--plano .gw-menu nav,
  body:has(.gw-home) .gw-header--plano .gw-menu nav { top:96px; right:12px; }
}
@media (max-width:680px) {
  .gw-header.gw-header--plano,
  body:has(.gw-home) .gw-header.gw-header--plano { top:10px; width:calc(100% - 24px); min-height:60px; margin-top:10px; padding:0 8px; border-radius:50px; }
  .gw-header--plano .gw-brand,.gw-header--plano .gw-brand img { width:112px; }
  .gw-header--plano .gw-menu nav,
  body:has(.gw-home) .gw-header--plano .gw-menu nav { top:80px; }
  .gw-legal__hero { padding:88px 20px 42px; }
  .gw-legal__content { padding:0 16px 72px; }
  .gw-legal__content section { padding:22px 20px; border-radius:14px; }
  body:has(.gw-home) .gw-founder__photo img { min-height:340px; }
}

/* PLANO launch v27 — focused conversion hierarchy */
.plano-announce {
  position:fixed;
  z-index:9010;
  inset:0 0 auto;
  height:38px;
  background:#0d1324;
  color:#fff;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.plano-announce a {
  display:flex;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:inherit!important;
  font-size:11px;
  letter-spacing:.02em;
}
.plano-announce strong { color:#fff; font-size:10px; letter-spacing:.13em; }
.plano-announce span { font-weight:800; }
.plano-announce small { color:#cbd4eb; font-size:10px; }
.plano-announce b { margin-left:8px; color:#fff; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }

.gw-header.gw-header--plano.plano-island,
body:has(.gw-home) .gw-header.gw-header--plano.plano-island {
  --plano-row:78px;
  position:fixed;
  z-index:9000;
  top:14px;
  left:50%;
  display:block;
  width:calc(100vw - 32px);
  min-width:860px;
  max-width:1440px;
  height:var(--plano-row);
  min-height:0;
  margin:0;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(17,19,24,.09);
  border-radius:20px;
  background:rgba(255,255,255,.88);
  box-shadow:0 8px 28px rgba(13,19,36,.09),0 1px 3px rgba(13,19,36,.04),inset 0 1px 0 rgba(255,255,255,.7);
  backdrop-filter:blur(18px);
  transform:translateX(-50%);
  transition:height .48s cubic-bezier(.32,.72,0,1),border-radius .48s cubic-bezier(.32,.72,0,1),box-shadow .3s ease;
}
.gw-header.gw-header--plano.plano-island.plano-open,
body:has(.gw-home) .gw-header.gw-header--plano.plano-island.plano-open {
  height:340px;
  border-radius:22px;
  box-shadow:0 12px 50px rgba(0,0,0,.13),0 2px 8px rgba(0,0,0,.06),inset 0 1px 0 rgba(255,255,255,.8);
}
.gw-header.gw-header--plano.plano-island.is-scrolled { background:rgba(255,255,255,.94); }
.plano-row { position:relative; z-index:2; display:flex; height:78px; align-items:center; justify-content:center; padding:0 14px; }
.plano-nav { display:flex; min-width:0; flex:1; align-items:center; gap:2px; }
.plano-nav--left { justify-content:flex-end; }
.plano-nav--right { justify-content:flex-start; }
.plano-nav-btn {
  display:flex;
  height:34px;
  align-items:center;
  gap:4px;
  padding:0 13px;
  border:0;
  border-radius:50px;
  background:transparent;
  color:#343943!important;
  font:450 13px/1 Inter,ui-sans-serif,system-ui,sans-serif;
  cursor:pointer;
  white-space:nowrap;
}
.plano-nav-btn:hover,.plano-nav-btn[aria-expanded="true"] { background:#eef2ff; color:#2456ff!important; }
.plano-nav-btn svg { width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:1.5; transition:transform .25s ease; }
.plano-nav-btn[aria-expanded="true"] svg { transform:rotate(180deg); }
.gw-header--plano .plano-brand { display:flex; width:104px; flex-shrink:0; align-items:center; justify-content:center; margin:0 20px; padding:0; }
.gw-header--plano .plano-brand img { display:block; width:104px; height:auto; }
.plano-nav-btn.plano-nav-hot {
  height:42px;
  align-self:center;
  margin:0 2px 0 8px;
  padding:0 15px;
  border-radius:10px;
  background:#2456ff;
  color:#fff!important;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.025em;
}
.plano-nav-btn.plano-nav-hot:hover { background:#1745e8; color:#fff!important; }
.plano-nav-hot span { font-size:17px; font-weight:500; }

.plano-drop { position:relative; display:grid; grid-template-columns:270px 1fr; gap:18px; padding:18px 24px 22px; opacity:0; transition:opacity .25s ease .05s; }
.plano-open .plano-drop { opacity:1; }
.plano-drop__intro { display:flex; flex-direction:column; min-height:218px; padding:22px; border-radius:15px; background:#0d1324; color:#fff; }
.plano-drop__intro small { color:#839cff; font-size:9px; font-weight:800; letter-spacing:.15em; }
.plano-drop__intro strong { margin-top:18px; font-size:23px; line-height:1.08; letter-spacing:-.04em; }
.plano-drop__intro a { margin-top:auto; color:#fff!important; font-size:12px; font-weight:750; }
.plano-drop__grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.plano-drop__grid>a { display:grid; grid-template-columns:34px 1fr auto; gap:12px; align-items:center; min-width:0; padding:16px; border:1px solid #e5e9f0; border-radius:13px; background:#fff; color:#111318!important; transition:border-color .2s ease,background .2s ease,transform .2s ease; }
.plano-drop__grid>a:hover { border-color:#b9c7ff; background:#f6f8ff; transform:translateY(-1px); }
.plano-drop__grid i { display:grid; width:34px; height:34px; place-items:center; border-radius:9px; background:#eef2ff; color:#2456ff; font-size:10px; font-style:normal; font-weight:800; }
.plano-drop__grid span { display:flex; min-width:0; flex-direction:column; gap:5px; }
.plano-drop__grid strong { font-size:14px; }
.plano-drop__grid small { color:#697180; font-size:10px; line-height:1.35; }
.plano-drop__grid b { color:#2456ff; font-size:16px; }
.plano-header-spacer { height:108px; }
.plano-mobile-menu { display:none; }

.gw-warm .gw-hero--plano { min-height:650px; padding-top:42px; padding-bottom:44px; }
.gw-warm .gw-hero--plano .gw-lead { margin-top:20px; }
.plano-hero-offer {
  display:flex;
  max-width:590px;
  align-items:center;
  gap:22px;
  margin-top:22px;
  padding:14px 16px;
  border:1px solid #ccd6f7;
  border-left:4px solid #2456ff;
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 30px rgba(13,19,36,.07);
}
.plano-hero-offer>div { min-width:186px; }
.plano-hero-offer>div>small { display:block; color:#2456ff; font-size:9px; font-weight:850; letter-spacing:.11em; }
.plano-hero-offer strong { display:block; margin-top:4px; color:#111318; font-size:33px; line-height:1; letter-spacing:-.045em; }
.plano-hero-offer sup { position:relative; top:-5px; color:#111318; font-size:12px; letter-spacing:0; }
.plano-hero-offer>p { margin:0; padding-left:20px; border-left:1px solid #e0e5ef; color:#383e49; font-size:13px; font-weight:700; line-height:1.45; }
.plano-hero-offer>p>span { padding:0 4px; color:#2456ff; }
.plano-hero-offer>p>small { display:block; margin-top:5px; color:#687181; font-size:10px; font-weight:600; }
.gw-warm .gw-hero--plano .gw-actions { margin-top:20px; }
.gw-warm .gw-hero--plano .gw-offerline { margin-top:12px; }

.dn-call-fab,
.dn-call-fab.is-scroll-visible {
  position:fixed;
  z-index:8000;
  right:24px;
  bottom:24px;
  left:auto;
  display:flex;
  width:auto;
  height:50px;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 18px 0 14px;
  border:0;
  border-radius:50px;
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff;
  box-shadow:0 4px 20px rgba(22,163,74,.35),0 2px 6px rgba(0,0,0,.1);
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
  cursor:pointer;
}
.dn-call-fab:hover { background:linear-gradient(135deg,#22c55e,#158f42); box-shadow:0 6px 24px rgba(22,163,74,.42),0 2px 6px rgba(0,0,0,.12); transform:translateY(-1px); }
.dn-call-fab::before { content:""; position:absolute; display:block; inset:-6px; border:2px solid rgba(34,197,94,.4); border-radius:50px; animation:dn-pulse 2s ease-out infinite; }
.dn-call-fab svg { width:20px; height:20px; fill:none; stroke:#fff; stroke-width:1.8; }
.dn-call-fab .dn-call-fab-label { display:block; color:#fff; font-size:13px; font-weight:750; }
.dn-call-popup { right:24px; bottom:86px; left:auto; }
.dn-call-popup .dn-call-number { border:0; background:linear-gradient(135deg,#22c55e,#16a34a)!important; color:#fff!important; box-shadow:none; }
.dn-call-popup .dn-call-number svg { stroke:#fff; }
.dn-call-popup .dn-viber-btn { border:0; background:#0d1324!important; color:#fff!important; box-shadow:none; }
.dn-call-popup .dn-call-tap-hint { color:#687181; }

@media (max-width:1024px) {
  .gw-header.gw-header--plano.plano-island,
  body:has(.gw-home) .gw-header.gw-header--plano.plano-island { min-width:0; width:calc(100% - 24px); overflow:visible; }
  .plano-nav { display:none; }
  .plano-row { justify-content:space-between; padding:0 10px 0 14px; }
  .gw-header--plano .plano-brand { width:108px; margin:0; }
  .gw-header--plano .plano-brand img { width:108px; }
  .plano-mobile-menu { display:block; margin-left:auto; }
  .gw-header--plano .plano-mobile-menu summary { display:flex; width:38px; height:38px; align-items:center; justify-content:center; flex-direction:column; gap:4px; border:0; border-radius:50%; background:#f0f3fa; }
  .gw-header--plano .plano-mobile-menu summary span { width:16px; height:1.5px; background:#111318; }
  .gw-header--plano .plano-mobile-menu nav,
  body:has(.gw-home) .gw-header--plano .plano-mobile-menu nav { position:fixed; top:112px; right:12px; display:flex; width:min(360px,calc(100vw - 24px)); max-height:calc(100vh - 126px); flex-direction:column; gap:0; overflow:auto; padding:14px; border:1px solid #e0e5ef; border-radius:18px; background:#fff; box-shadow:0 24px 60px rgba(13,19,36,.2); }
  .gw-header--plano .plano-mobile-menu nav strong { padding:10px 12px 6px; color:#2456ff; font-size:9px; letter-spacing:.14em; }
  .gw-header--plano .plano-mobile-menu nav>a:not(.gw-button) { padding:10px 12px; color:#111318; font-size:14px; font-weight:650; }
  .gw-header--plano .plano-mobile-menu nav hr { width:100%; margin:8px 0; border:0; border-top:1px solid #e5e9f0; }
  .gw-header--plano .plano-mobile-menu nav .gw-button { justify-content:center; margin-top:8px; }
  .plano-drop { display:none; }
  .dn-call-fab,.dn-call-fab.is-scroll-visible { right:auto; left:24px; width:50px; height:50px; padding:0; border-radius:50%; }
  .dn-call-fab .dn-call-fab-label { display:none; }
  .dn-call-popup { right:auto; left:24px; }
}
@media (max-width:680px) {
  .plano-announce a { gap:7px; padding:0 12px; }
  .plano-announce strong { display:none; }
  .plano-announce span { font-size:10px; }
  .plano-announce small { font-size:9px; }
  .plano-announce b { margin-left:auto; font-size:0; }
  .plano-announce b::after { content:"→"; font-size:15px; }
  .gw-header.gw-header--plano.plano-island,
  body:has(.gw-home) .gw-header.gw-header--plano.plano-island { top:12px; height:64px; margin:0; border-radius:18px; }
  .plano-row { height:64px; }
  .plano-header-spacer { height:88px; }
  .gw-header--plano .plano-mobile-menu nav,
  body:has(.gw-home) .gw-header--plano .plano-mobile-menu nav { top:88px; }
  .gw-warm .gw-hero--plano { padding-top:36px; }
  .plano-hero-offer { display:grid; gap:10px; margin-top:20px; padding:14px; }
  .plano-hero-offer>div { min-width:0; }
  .plano-hero-offer strong { font-size:31px; }
  .plano-hero-offer>p { padding:10px 0 0; border-top:1px solid #e0e5ef; border-left:0; }
  .dn-call-popup { right:16px; bottom:142px; left:16px; width:auto; }
}
@media (max-width:400px) {
  .dn-call-fab,.dn-call-fab.is-scroll-visible { bottom:80px; left:16px; }
}

/* One clear featured case, with supporting work alongside it. */
body:has(.gw-home) .gw-home-projects .gw-featured__grid { grid-template-columns:minmax(0,1.35fr) minmax(330px,.85fr); grid-template-rows:repeat(2,minmax(0,1fr)); }
body:has(.gw-home) .gw-home-projects .gw-project--large { grid-row:span 2; }
body:has(.gw-home) .gw-home-projects .gw-project--large .gw-project__image { min-height:310px; }
body:has(.gw-home) .gw-home-projects .gw-project__meta small { line-height:1.55; }
@media (max-width:760px) {
  body:has(.gw-home) .gw-home-projects .gw-featured__grid { grid-template-columns:1fr; grid-template-rows:auto; }
  body:has(.gw-home) .gw-home-projects .gw-project--large { grid-row:auto; }
}

/* Reference-matched PLANO homepage proportions.  This stays deliberately scoped
   to the home page so the service pages retain their individual layouts. */
@media (min-width:981px) {
  body:has(.gw-home) .plano-header-spacer { height:108px; }
  body:has(.gw-home) .gw-warm .gw-hero--plano {
    grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);
    gap:clamp(42px,5vw,72px);
    min-height:548px;
    padding-top:28px;
    padding-bottom:30px;
    align-items:center;
  }
  body:has(.gw-home) .gw-warm .gw-hero--plano .gw-hero__copy { min-width:0; max-width:555px; }
  body:has(.gw-home) .gw-warm .gw-hero--plano .gw-kicker { margin-bottom:16px; font-size:10px; }
  body:has(.gw-home) .gw-warm .gw-hero--plano h1 { font-size:clamp(48px,3.65vw,50px); line-height:.94; }
  body:has(.gw-home) .gw-warm .gw-hero--plano .gw-lead { max-width:510px; margin-top:16px; font-size:16px; line-height:1.52; }
  body:has(.gw-home) .plano-hero-offer { max-width:500px; gap:16px; margin-top:17px; padding:11px 13px; }
  body:has(.gw-home) .plano-hero-offer>div { min-width:170px; }
  body:has(.gw-home) .plano-hero-offer strong { font-size:29px; }
  body:has(.gw-home) .plano-hero-offer>p { padding-left:15px; font-size:11px; }
  body:has(.gw-home) .plano-hero-offer>p>small { font-size:9px; }
  body:has(.gw-home) .gw-warm .gw-hero--plano .gw-actions { gap:18px; margin-top:17px; }
  body:has(.gw-home) .gw-warm .gw-hero--plano .gw-button--large { min-height:47px; padding-inline:18px; font-size:12px; }
  body:has(.gw-home) .gw-warm .gw-hero--plano .gw-offerline { margin-top:10px; font-size:10px; }
  body:has(.gw-home) .plano-hero-visual { width:100%; min-width:0; height:456px; min-height:456px; max-height:456px; border-radius:22px; }
  body:has(.gw-home) .plano-mockup--giorgaras { top:73px; left:8%; width:69%; }
  body:has(.gw-home) .plano-mockup--dromeas { top:17px; right:3%; width:55%; }
  body:has(.gw-home) .plano-mockup--epipla { right:7%; bottom:4%; width:24%; }

  body:has(.gw-home) .gw-home-projects { padding-top:82px; padding-bottom:82px; }
  body:has(.gw-home) .gw-home-projects .gw-section__head { margin-bottom:28px; }
  body:has(.gw-home) .gw-home-projects .gw-project { border-radius:14px; }
  body:has(.gw-home) .gw-home-projects .gw-project__meta { min-height:116px; padding:16px; }
  body:has(.gw-home) .gw-home-projects .gw-project__meta strong { font-size:18px; }
  body:has(.gw-home) .gw-home-projects .gw-project__meta small { font-size:12px; }
  body:has(.gw-home) .gw-home-projects .gw-project--large .gw-project__image { min-height:286px; }

  body:has(.gw-home) .gw-w-outcomes { padding-top:70px; padding-bottom:70px; }
  body:has(.gw-home) .gw-w-outcomes__intro { margin-bottom:28px; }
  body:has(.gw-home) .gw-w-outcomes article { min-height:88px; padding:16px; border-radius:14px; }
  body:has(.gw-home) .gw-w-outcomes article h2 { margin:0 0 4px; font-size:15px; }
  body:has(.gw-home) .gw-w-outcomes article p { font-size:12px; line-height:1.4; }
  body:has(.gw-home) .gw-w-icon { width:34px; height:34px; }

  body:has(.gw-home) .gw-w-offer { gap:clamp(32px,5vw,64px); margin-bottom:80px; padding:40px 46px; border-radius:18px; }
  body:has(.gw-home) .gw-w-offercopy h2 { font-size:31px; line-height:1.02; }
  body:has(.gw-home) .gw-w-offercopy>p { font-size:13px; line-height:1.48; }
  body:has(.gw-home) .gw-w-price p:nth-of-type(2) strong,body:has(.gw-home) .gw-w-price p:nth-of-type(3) strong { font-size:31px; }

  body:has(.gw-home) .gw-home-services { padding-top:82px; padding-bottom:82px; }
  body:has(.gw-home) .gw-home-services .gw-section__head { margin-bottom:34px; }
  body:has(.gw-home) .gw-home-services .gw-service-card { min-height:206px; padding:22px; border-radius:14px; }
  body:has(.gw-home) .gw-home-services .gw-service-card h3 { font-size:20px; }
  body:has(.gw-home) .gw-home-services .gw-service-card p { font-size:13px; line-height:1.5; }

  body:has(.gw-home) .gw-process-compact { padding-top:78px; padding-bottom:78px; }
  body:has(.gw-home) .gw-process-compact .gw-section__head { margin-bottom:30px; }
  body:has(.gw-home) .gw-process-compact article { padding:25px 24px; }
  body:has(.gw-home) .gw-process-compact article h3 { font-size:16px; }
  body:has(.gw-home) .gw-process-compact article p { font-size:12px; }

  body:has(.gw-home) .gw-founder { gap:70px; padding-top:82px; padding-bottom:82px; }
  body:has(.gw-home) .gw-founder__photo { min-height:390px; border-radius:16px; }
  body:has(.gw-home) .gw-founder h2 { font-size:clamp(40px,4.4vw,56px); line-height:.96; }
  body:has(.gw-home) .gw-founder p { font-size:15px; line-height:1.55; }

  body:has(.gw-home) .gw-home-faq { max-width:1100px; padding-top:76px; padding-bottom:76px; }
  body:has(.gw-home) .gw-home-faq .gw-faq__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  body:has(.gw-home) .gw-home-faq summary { padding:14px 16px; font-size:12px; }
  body:has(.gw-home) .gw-home-faq details p { padding:0 16px 16px; font-size:12px; }
  body:has(.gw-home) .gw-closing--quiz { margin-bottom:78px; padding:42px; border-radius:18px; }
}

/* Lock legacy warm-theme selectors to the PLANO palette on the homepage. */
body:has(.gw-home) .gw-warm .gw-kicker,
body:has(.gw-home) .gw-warm .gw-hero h1 em,
body:has(.gw-home) .gw-warm .gw-offerline i,
body:has(.gw-home) .gw-warm .gw-text-link { color:#2456ff!important; }
body:has(.gw-home) .gw-warm .gw-hero h1 em { font-style:normal; }
body:has(.gw-home) .gw-warm .gw-lead { color:#5b6270; }
body:has(.gw-home) .gw-warm .gw-text-link { border-bottom-color:rgba(36,86,255,.42); }

/* PLANO offer: the conversion page uses the same blue, navy and white system as the homepage. */
body:has(.gw-preview) { background:#f5f7fb; }
.gw-preview {
  --gw-gold:#2456ff;
  --gw-gold-light:#2456ff;
  --gw-text:#111318;
  --gw-muted:#5b6270;
  --gw-panel:#fff;
  --gw-line:#dce2ec;
  background:#f5f7fb;
  color:#111318;
}
.gw-preview .gw-kicker,
.gw-preview .gwp-hero__copy h1 em,
.gw-preview .gwp-compare__after h3 em { color:#2456ff; }
.gw-preview :focus-visible { outline-color:rgba(36,86,255,.45); }
body:has(.gw-preview) .gw-header.gw-header--plano {
  border-color:rgba(13,19,36,.09);
  background:rgba(255,255,255,.92);
  box-shadow:0 8px 28px rgba(13,19,36,.09),0 1px 3px rgba(13,19,36,.04);
}
.gw-preview .gw-button { border-color:#2456ff; background:#2456ff; color:#fff!important; box-shadow:none; }
.gw-preview .gw-button:hover { border-color:#1745e8; background:#1745e8; }
.gwp-hero__copy>p,
.gwp-yours__caption,
.gwp-compare__after p,
.gwp-outcomes p,
.gwp-faq details p,
.gwp-form-section>div>p,
.gw-preview .gw-form [data-gd-form-note] { color:#5b6270; }
.gwp-yours__window { border-color:#dce2ec; box-shadow:0 34px 80px -30px rgba(13,19,36,.28); }
.gwp-yours__bar { background:#f5f7fb; }
.gwp-yours__bar i { background:#aeb8ca; }
.gwp-yours__bar span { color:#667085; }
.gwp-yours__screen,
.gwp-yours__phone>div {
  background:radial-gradient(circle at 80% 12%,rgba(78,119,255,.5),transparent 42%),linear-gradient(145deg,#1b47dc,#0d1324);
}
.gwp-yours__screen small,.gwp-yours__phone small { color:#c4d0ff; }
.gwp-yours__screen>span { background:#fff; color:#2456ff; }
.gwp-yours__phone { border-color:#111318; box-shadow:0 24px 44px -14px rgba(13,19,36,.46); }
.gwp-compare__before>div { border-color:#dce2ec; background:#eef1f6; }
.gwp-compare__before>span { background:#667085; }
.gwp-compare__after>span { background:#2456ff; color:#fff; }
.gwp-compare__arrow { color:#2456ff; }
.gwp-compare__after>div,
.gwp-form-section {
  border-color:rgba(36,86,255,.2);
  background:radial-gradient(circle at 88% 0,rgba(36,86,255,.11),transparent 42%),linear-gradient(145deg,#fff,#f5f7fb);
  box-shadow:0 24px 60px -34px rgba(13,19,36,.2);
}
.gwp-compare__after small,
.gwp-compare__after .gwp-compare__fake-button { color:#2456ff; }
.gwp-compare__after button,
.gwp-compare__after .gwp-compare__fake-button { background:#2456ff; color:#fff; }
.gwp-outcomes article,
.gwp-faq details { border-color:#dce2ec; background:#fff; box-shadow:0 18px 44px -30px rgba(13,19,36,.14); }
.gwp-outcomes article>span { background:rgba(36,86,255,.1); color:#2456ff; }
.gwp-concepts article>div { border-color:#dce2ec; background:#edf1f8; box-shadow:0 22px 54px -32px rgba(13,19,36,.2); }
.gwp-concepts article>span { background:#0d1324; color:#fff; }
.gwp-offer {
  border-color:rgba(36,86,255,.25);
  background:#0d1324;
  box-shadow:0 34px 90px -46px rgba(13,19,36,.45);
  color:#fff;
}
.gwp-offer .gw-kicker,
.gwp-offer h2,
.gwp-offer>div strong,
.gwp-offer li { color:#fff; }
.gwp-offer>div>p:nth-of-type(1),
.gwp-offer>div>span,
.gwp-offer>div small { color:#c6ccda; }
.gwp-offer li::before { color:#7e9aff; }
.gwp-offer .gw-button { background:#2456ff; }
.gwp-process { background:#fff; }
.gwp-process>div:last-child { border-color:#dce2ec; }
.gwp-process article+article { border-color:#dce2ec; }
.gwp-process article>span { border-color:rgba(36,86,255,.35); color:#2456ff; }
.gwp-form-section .gw-form input { border-color:#d4dbea; background:#f5f7fb; color:#111318; }
.gwp-form-section .gw-form label span { color:#5b6270; }
.gwp-footer { border-color:#17213a; background:#0d1324; }
.gwp-footer p { color:#c6ccda; }
body:has(.gw-preview) .gw-footer {
  border:0;
  background:#0d1324;
  color:#fff;
}
body:has(.gw-preview) .gw-footer .gw-brand img { filter:brightness(0) invert(1); }
body:has(.gw-preview) .gw-footer__intro p,
body:has(.gw-preview) .gw-footer__links a,
body:has(.gw-preview) .gw-footer__bottom { color:#c6ccda; }
body:has(.gw-preview) .gw-footer__links strong,
body:has(.gw-preview) .gw-footer__contacts a { color:#fff; }
body:has(.gw-preview) .gw-footer__cta,
body:has(.gw-preview) .dn-viber-btn,
body:has(.gw-preview) .dn-call-popup .dn-call-number { background:#2456ff!important; color:#fff!important; }
body:has(.gw-preview) .dn-call-fab { background:#2456ff; color:#fff; box-shadow:0 6px 22px rgba(36,86,255,.3); }
body:has(.gw-preview) .dn-call-fab svg { stroke:#fff; }
body:has(.gw-preview) .dn-call-popup { border-color:#dce2ec; background:#fff; box-shadow:0 20px 58px rgba(13,19,36,.16); }
.gwp-trust-rail { border-color:#dce2ec; background:#fff; box-shadow:0 18px 44px rgba(13,19,36,.06); }
.gwp-trust-rail article+article { border-color:#dce2ec; }
.gwp-trust-rail small { color:#2456ff; }
.gwp-trust-rail strong { color:#111318; }
.gwp-trust-rail__icon { border-color:rgba(36,86,255,.2); background:rgba(36,86,255,.09); color:#2456ff; }
.gwp-trust-rail__trend i { background:#2456ff; }
.gwp-audit { border-color:#dce2ec; background:#fff; box-shadow:0 20px 55px rgba(13,19,36,.07); }
.gwp-audit__journey article { border-color:#dce2ec; background:#f5f7fb; }
.gwp-audit__journey article>span { color:#2456ff; }
.gwp-audit__journey i { background:#dce2ec; }
.gwp-concept-browser { border-color:#dce2ec; box-shadow:0 22px 54px rgba(13,19,36,.12); }
.gwp-concept-browser__bar { background:#f5f7fb; color:#667085; }
.gwp-concept-browser__bar i { background:#aeb8ca; }
.gwp-concept-card__meta>span { color:#2456ff; }
.gwp-concept-card__meta p { color:#5b6270; }
.gwp-concept-villa__copy span,
.gwp-concept-villa__direct,
.gwp-concept-pro__nav i,
.gwp-concept-pro__hero span { background:#2456ff; color:#fff; }
.gwp-concept-pro__hero em { color:#2456ff; }
.gwp-concept-pro__chart path { stroke:#2456ff; filter:drop-shadow(0 0 5px rgba(36,86,255,.25)); }
.gwp-concept-pro__chart .gwp-concept-pro__chart-fill { fill:rgba(36,86,255,.12); stroke:none; }

/* Homepage live-project explorer: depth on desktop, direct horizontal cards on touch devices. */
.plano-projects {
  position:relative;
  min-height:165vh;
  overflow:clip;
  background:radial-gradient(circle at 72% 38%,rgba(36,86,255,.1),transparent 33%),linear-gradient(180deg,#fff,#f5f7fb);
}
.plano-projects__sticky { position:sticky; top:0; min-height:100vh; display:grid; align-items:center; }
.plano-projects__layout {
  display:grid;
  grid-template-columns:minmax(310px,.8fr) minmax(560px,1.2fr);
  align-items:center;
  gap:clamp(42px,6vw,104px);
  width:min(1280px,calc(100% - 56px));
  margin:auto;
  padding:86px 0 42px;
}
.plano-projects__content { position:relative; z-index:5; }
.plano-eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 24px; color:#2456ff; font-size:11px; font-weight:800; letter-spacing:.13em; }
.plano-eyebrow span { width:7px; height:7px; border-radius:50%; background:#2456ff; }
.plano-projects__content h2 { max-width:590px; margin:0; color:#111318; font-size:clamp(40px,4.4vw,70px); font-weight:800; line-height:.99; letter-spacing:-.055em; }
.plano-projects__content h2 em { color:#2456ff; font-style:normal; }
.plano-projects__content>p:not(.plano-eyebrow) { max-width:480px; margin:26px 0 34px; color:#5b6270; font-size:17px; line-height:1.7; }
.plano-project-list { display:grid; gap:7px; max-width:460px; }
.plano-project-list button {
  display:grid;
  grid-template-columns:40px 1fr 22px;
  gap:14px;
  align-items:center;
  width:100%;
  min-height:76px;
  padding:14px 18px;
  border:1px solid transparent;
  border-radius:15px;
  background:transparent;
  color:#111318;
  text-align:left;
  cursor:pointer;
  transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease;
}
.plano-project-list button:hover { transform:translateX(4px); }
.plano-project-list button.is-active { border-color:#e1e6f0; background:rgba(255,255,255,.9); box-shadow:0 16px 42px rgba(13,19,36,.08); }
.plano-project-list b { color:#667085; font-size:18px; }
.plano-project-list .is-active b { color:#2456ff; }
.plano-project-list span { display:grid; gap:4px; }
.plano-project-list small { color:#8b94a5; font-size:10px; font-weight:750; letter-spacing:.1em; }
.plano-project-list strong { font-size:16px; font-weight:750; }
.plano-project-list i { color:#2456ff; font-size:21px; font-style:normal; opacity:0; transform:translateX(-6px); transition:.22s ease; }
.plano-project-list .is-active i { opacity:1; transform:none; }
.plano-projects__all { display:inline-flex; align-items:center; gap:24px; min-height:58px; margin-top:30px; padding:0 24px; border-radius:10px; background:#0d1324; color:#fff; font-size:14px; font-weight:800; transition:transform .2s ease,background .2s ease; }
.plano-projects__all:hover { transform:translateY(-3px); background:#2456ff; }
.plano-projects__visual { position:relative; min-height:560px; display:grid; place-items:center; perspective:1500px; }
.plano-carousel-scene { position:relative; z-index:3; width:min(650px,100%); height:430px; display:grid; place-items:center; perspective:1500px; }
.plano-carousel-ring { --plano-turn:0deg; position:relative; width:540px; height:355px; transform-style:preserve-3d; transform:rotateY(var(--plano-turn)); transition:transform .8s cubic-bezier(.2,.75,.2,1); will-change:transform; }
.plano-project-card { position:absolute; inset:0; overflow:hidden; border:1px solid rgba(13,19,36,.1); border-radius:23px; background:#fff; box-shadow:0 28px 72px rgba(13,19,36,.18); transform:rotateY(var(--plano-card-angle)) translateZ(350px); backface-visibility:hidden; }
.plano-project-card:nth-child(1) { --plano-card-angle:0deg; }
.plano-project-card:nth-child(2) { --plano-card-angle:120deg; }
.plano-project-card:nth-child(3) { --plano-card-angle:240deg; }
.plano-project-card a { display:grid; grid-template-rows:1fr auto; height:100%; color:#111318; }
.plano-project-card img { width:100%; height:100%; min-height:0; object-fit:cover; object-position:top center; }
.plano-project-card footer { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:78px; padding:15px 19px; background:rgba(255,255,255,.96); }
.plano-project-card footer span { display:grid; gap:4px; }
.plano-project-card footer small { color:#2456ff; font-size:9px; font-weight:800; letter-spacing:.1em; }
.plano-project-card footer strong { font-size:17px; }
.plano-project-card footer b { display:grid; place-items:center; width:36px; height:36px; border:1px solid #dce2ec; border-radius:50%; color:#2456ff; }
.plano-carousel-platform { position:absolute; z-index:1; top:53%; left:50%; width:min(800px,118%); aspect-ratio:2.7/1; border-radius:50%; background:radial-gradient(ellipse,rgba(255,255,255,.98) 0 39%,rgba(225,232,255,.72) 54%,rgba(36,86,255,.13) 66%,transparent 69%); filter:drop-shadow(0 30px 35px rgba(13,19,36,.11)); transform:translate(-50%,-50%) rotateX(68deg); }
.plano-carousel-platform i { position:absolute; border:2px solid rgba(36,86,255,.18); border-radius:50%; inset:8%; }
.plano-carousel-platform i:nth-child(2) { inset:16%; border-color:rgba(13,19,36,.1); }
.plano-carousel-platform i:nth-child(3) { inset:24%; border-color:rgba(36,86,255,.12); }
.plano-carousel-controls { position:absolute; z-index:5; bottom:52px; left:50%; display:flex; align-items:center; justify-content:space-between; width:min(560px,80%); transform:translateX(-50%); }
.plano-carousel-controls button { display:grid; place-items:center; width:52px; height:52px; border:1px solid #dce2ec; border-radius:50%; background:rgba(255,255,255,.94); box-shadow:0 12px 30px rgba(13,19,36,.1); color:#111318; font-size:22px; cursor:pointer; transition:.2s ease; }
.plano-carousel-controls button:hover { background:#2456ff; border-color:#2456ff; color:#fff; transform:scale(1.05); }
.plano-carousel-controls p { display:flex; align-items:center; gap:4px; min-width:94px; height:44px; justify-content:center; margin:0; border:1px solid #dce2ec; border-radius:50px; background:#fff; color:#6a7485; font-size:14px; box-shadow:0 12px 30px rgba(13,19,36,.08); }
.plano-carousel-controls strong { color:#2456ff; font-size:17px; }
.plano-scroll-hint { position:absolute; bottom:0; left:50%; display:grid; justify-items:center; gap:8px; margin:0; transform:translateX(-50%); color:#6d7584; font-size:12px; white-space:nowrap; }
.plano-scroll-hint i { width:20px; height:30px; border:2px solid #667085; border-radius:20px; }
@media (max-width:980px) {
  .plano-projects { min-height:auto; }
  .plano-projects__sticky { position:relative; min-height:auto; }
  .plano-projects__layout { grid-template-columns:1fr; width:min(720px,calc(100% - 36px)); padding:92px 0; }
  .plano-projects__content { text-align:center; }
  .plano-eyebrow { justify-content:center; }
  .plano-projects__content h2,.plano-projects__content>p:not(.plano-eyebrow) { margin-left:auto; margin-right:auto; }
  .plano-project-list { display:none; }
  .plano-projects__all { margin-inline:auto; }
  .plano-projects__visual { min-height:auto; display:block; }
  .plano-carousel-scene { width:100%; height:auto; overflow-x:auto; padding:24px 0 30px; scrollbar-width:none; }
  .plano-carousel-scene::-webkit-scrollbar { display:none; }
  .plano-carousel-ring { width:max-content; height:auto; display:flex; gap:18px; padding:0 10px; transform:none!important; }
  .plano-project-card { position:relative; width:min(78vw,500px); height:360px; flex:0 0 auto; transform:none!important; scroll-snap-align:center; }
  .plano-carousel-platform,.plano-scroll-hint { display:none; }
  .plano-carousel-controls { position:relative; left:auto; bottom:auto; width:220px; margin:0 auto; transform:none; }
}
@media (max-width:600px) {
  .plano-projects__layout { width:calc(100% - 28px); padding:72px 0; }
  .plano-projects__content h2 { font-size:clamp(38px,11vw,52px); }
  .plano-projects__content>p:not(.plano-eyebrow) { font-size:16px; }
  .plano-project-card { width:84vw; height:324px; border-radius:18px; }
  .plano-project-card footer { min-height:70px; padding:13px 15px; }
  .plano-project-card footer strong { font-size:15px; }
}
@media (prefers-reduced-motion:reduce) {
  .plano-projects { min-height:auto; }
  .plano-projects__sticky { position:relative; }
  .plano-carousel-ring { transition:none; }
}

/* Homepage hero visual: photographic hardware with a live, high-resolution site layer. */
.plano-hero-visual.plano-hero-laptop {
  position:relative;
  overflow:visible;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.plano-hero-laptop::after { content:none; }
.plano-laptop-stage {
  position:absolute;
  z-index:1;
  top:-3%;
  left:50%;
  width:112%;
  aspect-ratio:3/2;
  transform:translateX(-50%);
  transform-origin:50% 72%;
  will-change:transform;
}
.plano-laptop-stage__hardware {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  user-select:none;
}
.plano-laptop-stage::after {
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  clip-path:polygon(38.74% 9.77%,83.66% 12.11%,80.86% 57.03%,35.29% 51.37%);
  background:linear-gradient(115deg,transparent 36%,rgba(255,255,255,.15) 49%,transparent 62%);
  background-position:150% 0;
  background-size:250% 100%;
  pointer-events:none;
}
@media (prefers-reduced-motion:no-preference) {
  .plano-laptop-stage { animation:plano-laptop-float 6.5s ease-in-out infinite; }
  .plano-laptop-stage::after { animation:plano-screen-sheen 8s ease-in-out infinite; }
}
@keyframes plano-laptop-float {
  0%,100% { transform:translate3d(-50%,0,0) rotate(.15deg); }
  50% { transform:translate3d(-50%,-7px,0) rotate(-.25deg); }
}
@keyframes plano-screen-sheen {
  0%,62% { background-position:150% 0; opacity:0; }
  72% { opacity:.58; }
  88%,100% { background-position:-65% 0; opacity:0; }
}
body:has(.gw-home) .gw-footer__addresses {
  display:grid;
  gap:8px;
  margin-top:14px;
  color:#c6ccda;
  font-size:12px;
  font-style:normal;
  line-height:1.45;
}
body:has(.gw-home) .gw-footer__addresses address { display:grid; font-style:normal; }
body:has(.gw-home) .gw-footer__addresses strong { color:#fff; font-size:11px; }
body:has(.gw-home) .gw-footer__addresses small { color:#9faac0; font-size:11px; }
@media (max-width:680px) {
  .plano-laptop-stage { top:0; width:126%; }
}

/* Mobile-only homepage reset: touch-first composition, never a scaled desktop layout. */
.plano-mobile-dots,.gw-footer__mobile-links { display:none; }

@media (max-width:767px) {
  html,body:has(.gw-home),body:has(.gw-home) .gw-page { max-width:100%; overflow-x:clip; }
  body:has(.gw-home) .gw-page { font-size:15px; }
  body:has(.gw-home) .gw-page :is(p,li,input,select,textarea,button) { font-size:max(15px,1em); }

  /* Header */
  .gw-header.gw-header--plano.plano-island,
  body:has(.gw-home) .gw-header.gw-header--plano.plano-island {
    --plano-row:64px;
    top:8px;
    width:calc(100% - 20px);
    height:64px;
    min-width:0;
    margin:0;
    border-radius:18px;
  }
  .plano-row { height:64px; padding:0 10px; }
  .plano-header-spacer { height:84px; }
  .gw-header--plano .plano-brand,.gw-header--plano .plano-brand img { width:110px; }
  .gw-header--plano .plano-mobile-menu summary { width:42px; height:42px; border:1px solid #e0e5ef; background:#fff; box-shadow:0 4px 12px rgba(13,19,36,.06); }
  .gw-header--plano .plano-mobile-menu nav,
  body:has(.gw-home) .gw-header--plano .plano-mobile-menu nav { top:82px; right:10px; width:calc(100vw - 20px); max-height:calc(100svh - 96px); }
  .gw-header.gw-header--plano.plano-island.plano-open,
  body:has(.gw-home) .gw-header.gw-header--plano.plano-island.plano-open { height:64px; overflow:visible; }

  /* Hero */
  .gw-warm .gw-hero--plano,
  body:has(.gw-home) .gw-warm .gw-hero--plano {
    grid-template-columns:1fr;
    gap:18px;
    min-height:0;
    padding:24px 20px 12px;
  }
  .gw-warm .gw-hero--plano .gw-hero__copy { width:100%; max-width:none; }
  .gw-warm .gw-hero--plano .gw-kicker { margin-bottom:14px; font-size:10px; }
  .gw-warm .gw-hero--plano h1 { max-width:100%; font-size:44px; line-height:.98; letter-spacing:-.06em; text-wrap:initial; }
  .gw-warm .gw-hero--plano h1 .plano-h1-line { white-space:normal; }
  .gw-warm .gw-hero--plano .gw-lead { margin-top:18px; font-size:16px; line-height:1.55; }
  .plano-hero-offer { display:grid; grid-template-columns:1fr; gap:0; width:100%; max-width:none; margin-top:18px; padding:14px; }
  .plano-hero-offer>div { min-width:0; padding-bottom:12px; border-bottom:1px solid #e0e5ef; }
  .plano-hero-offer strong { font-size:36px; }
  .plano-hero-offer>p { display:grid; gap:4px; padding:12px 0 0; border:0; font-size:15px; line-height:1.45; }
  .plano-hero-offer>p>small { font-size:13px; line-height:1.45; }
  .gw-warm .gw-hero--plano .gw-actions { display:grid; width:100%; gap:14px; margin-top:18px; }
  .gw-warm .gw-hero--plano .gw-button--large { width:100%; min-height:56px; justify-content:center; padding-inline:14px; }
  .gw-hero__secondary { justify-self:center; font-size:15px; }
  .gw-warm .gw-hero--plano .gw-offerline { display:grid; gap:8px; margin-top:14px; color:#424957; font-size:14px; }
  .gw-warm .gw-hero--plano .gw-offerline span + span::before { width:5px; height:5px; margin:0 8px 2px 0; }
  .plano-hero-visual.plano-hero-laptop,
  body:has(.gw-home) .plano-hero-visual.plano-hero-laptop {
    width:100%;
    height:320px;
    min-height:320px;
    max-height:320px;
    margin:0;
    overflow:hidden;
    perspective:none;
  }
  .plano-laptop-stage { top:0; width:126%; max-width:560px; }

  /* Projects: horizontal swipe cards, no sticky 3D rig. */
  .plano-projects { min-height:0; overflow:hidden; background:linear-gradient(180deg,#fff,#f5f7fb); }
  .plano-projects__sticky { position:relative; top:auto; display:block; min-height:0; }
  .plano-projects__layout { display:block; width:100%; min-width:0; margin:0; padding:48px 0 42px; }
  .plano-projects__content { width:100%; min-width:0; padding:0 20px; text-align:left; }
  .plano-eyebrow { justify-content:flex-start; margin-bottom:14px; font-size:10px; }
  .plano-projects__content h2 { width:100%; max-width:100%; margin:0; font-size:36px; line-height:1.01; overflow-wrap:break-word; }
  .plano-projects__content>p:not(.plano-eyebrow) { width:100%; max-width:100%; margin:16px 0 0; font-size:15px; line-height:1.55; }
  .plano-project-list,.plano-projects__all,.plano-carousel-platform,.plano-carousel-controls,.plano-scroll-hint { display:none; }
  .plano-projects__visual { display:block; width:100%; min-width:0; min-height:0; margin-top:20px; perspective:none; }
  .plano-carousel-scene { display:block; width:100%; min-width:0; height:auto; padding:0; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding-inline:7vw; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .plano-carousel-scene::-webkit-scrollbar { display:none; }
  .plano-carousel-ring { width:max-content; height:auto; display:flex; gap:16px; padding:0 7vw; transform:none!important; transform-style:flat; }
  .plano-project-card { position:relative; inset:auto; width:86vw; height:300px; flex:0 0 86vw; border-radius:16px; transform:none!important; scroll-snap-align:center; box-shadow:0 16px 34px rgba(13,19,36,.12); backface-visibility:visible; }
  .plano-project-card a { grid-template-rows:minmax(0,1fr) auto; }
  .plano-project-card footer { min-height:72px; padding:12px 15px; }
  .plano-project-card footer small { font-size:10px; }
  .plano-project-card footer strong { font-size:16px; }
  .plano-mobile-dots { display:flex; justify-content:center; gap:7px; margin-top:16px; }
  .plano-mobile-dots button { width:7px; height:7px; padding:0; border:0; border-radius:50%; background:#c6cedd; cursor:pointer; transition:width .2s ease,background .2s ease; }
  .plano-mobile-dots button.is-active { width:22px; border-radius:10px; background:#2456ff; }

  /* Benefits */
  body:has(.gw-home) .gw-w-outcomes { display:grid; grid-template-columns:1fr; gap:0; padding:46px 20px; }
  body:has(.gw-home) .gw-w-outcomes__intro { margin:0 0 18px; text-align:left; }
  body:has(.gw-home) .gw-w-outcomes__intro h2 { font-size:30px; line-height:1.06; }
  body:has(.gw-home) .gw-w-outcomes article { grid-template-columns:38px minmax(0,1fr); gap:12px; min-height:0; padding:16px 0; border:0; border-radius:0; border-bottom:1px solid #dce2ec; background:transparent; box-shadow:none; }
  body:has(.gw-home) .gw-w-outcomes article:hover { border-color:#dce2ec; box-shadow:none; transform:none; }
  body:has(.gw-home) .gw-w-icon { width:38px; height:38px; }
  body:has(.gw-home) .gw-w-icon svg { width:19px; height:19px; }
  body:has(.gw-home) .gw-w-outcomes article h2 { font-size:16px; }
  body:has(.gw-home) .gw-w-outcomes article p { font-size:15px; line-height:1.45; }

  /* Pricing */
  body:has(.gw-home) .gw-w-offer { display:grid; grid-template-columns:1fr; gap:28px; margin:0 20px 56px; padding:28px 20px; border-radius:18px; }
  body:has(.gw-home) .gw-w-price { gap:14px; padding:0 0 20px; border-right:0; border-bottom:1px solid rgba(255,255,255,.18); }
  body:has(.gw-home) .gw-w-price p { gap:5px; }
  body:has(.gw-home) .gw-w-price p:nth-of-type(2) strong,body:has(.gw-home) .gw-w-price p:nth-of-type(3) strong { font-size:38px; }
  body:has(.gw-home) .gw-w-price span,body:has(.gw-home) .gw-w-price small { font-size:14px; line-height:1.5; }
  body:has(.gw-home) .gw-w-price small:last-child { display:block; padding:12px; border-radius:10px; background:rgba(255,255,255,.08); color:#fff; }
  body:has(.gw-home) .gw-w-offercopy h2 { font-size:30px; line-height:1.04; }
  body:has(.gw-home) .gw-w-offercopy>p { font-size:15px; line-height:1.55; }
  body:has(.gw-home) .gw-w-incl { grid-template-columns:1fr; gap:9px; }
  body:has(.gw-home) .gw-w-offer .gw-button { width:100%; min-height:56px; justify-content:center; }

  /* Services */
  body:has(.gw-home) .gw-home-services { padding:54px 20px; }
  body:has(.gw-home) .gw-home-services .gw-section__head h2 { font-size:32px; }
  body:has(.gw-home) .gw-home-services .gw-service-grid { grid-template-columns:1fr; gap:12px; margin-top:26px; }
  body:has(.gw-home) .gw-home-services .gw-service-card { display:grid; min-height:220px; padding:18px; border-radius:14px; }
  body:has(.gw-home) .gw-home-services .gw-service-card h3 { margin:24px 0 8px; font-size:18px; }
  body:has(.gw-home) .gw-home-services .gw-service-card p { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:4; font-size:14px; line-height:1.45; }
  body:has(.gw-home) .gw-home-services .gw-service-card a { right:18px; bottom:16px; }

  /* Process */
  body:has(.gw-home) .gw-process-compact { padding:52px 20px; }
  body:has(.gw-home) .gw-process-compact .gw-section__head { margin-bottom:22px; }
  body:has(.gw-home) .gw-process-compact .gw-section__head h2 { font-size:30px; }
  body:has(.gw-home) .gw-process-compact>div:last-child { position:relative; display:grid; grid-template-columns:1fr; gap:0; border:0; }
  body:has(.gw-home) .gw-process-compact>div:last-child::before { content:""; position:absolute; top:22px; bottom:22px; left:17px; width:1px; background:#cbd5ee; }
  body:has(.gw-home) .gw-process-compact article { position:relative; padding:0 0 26px 50px; border:0!important; }
  body:has(.gw-home) .gw-process-compact article:last-child { padding-bottom:0; }
  body:has(.gw-home) .gw-process-compact article span { position:absolute; top:0; left:0; display:grid; width:35px; height:35px; place-items:center; border-radius:50%; background:#2456ff; color:#fff; font-size:12px; font-weight:800; }
  body:has(.gw-home) .gw-process-compact article h3 { margin:2px 0 7px; font-size:17px; }
  body:has(.gw-home) .gw-process-compact article p { margin:0; font-size:15px; line-height:1.5; }

  /* Founder, FAQ and form */
  body:has(.gw-home) .gw-founder { display:grid; grid-template-columns:1fr; gap:24px; padding:54px 20px; }
  body:has(.gw-home) .gw-founder__photo { min-height:0; max-height:320px; aspect-ratio:4 / 3; border-radius:16px; }
  body:has(.gw-home) .gw-founder__photo img { min-height:0; height:100%; object-position:center top; }
  body:has(.gw-home) .gw-founder h2 { font-size:32px; line-height:1.03; }
  body:has(.gw-home) .gw-founder p { font-size:15px; line-height:1.55; }
  body:has(.gw-home) .gw-home-faq { padding:54px 20px; }
  body:has(.gw-home) .gw-home-faq .gw-section__head { margin-bottom:20px; }
  body:has(.gw-home) .gw-home-faq .gw-section__head h2 { font-size:30px; }
  body:has(.gw-home) .gw-home-faq .gw-faq__grid { grid-template-columns:1fr; }
  body:has(.gw-home) .gw-home-faq summary { min-height:50px; padding:15px 16px; font-size:15px; line-height:1.35; }
  body:has(.gw-home) .gw-home-faq details p { padding:0 16px 16px; font-size:15px; }
  body:has(.gw-home) .gw-closing--quiz { display:grid; grid-template-columns:1fr; gap:26px; margin:0 20px 56px; padding:30px 20px; border-radius:18px; }
  body:has(.gw-home) .gw-closing--quiz h2 { font-size:31px; line-height:1.05; }
  body:has(.gw-home) .gw-closing--quiz .gw-form { display:grid; grid-template-columns:1fr; gap:14px; padding:20px; }
  body:has(.gw-home) .gw-closing--quiz .gw-form label { grid-column:auto; gap:6px; font-size:14px; }
  body:has(.gw-home) .gw-closing--quiz .gw-form :is(input,select) { width:100%; min-height:52px; border-radius:8px; font-size:16px; }
  body:has(.gw-home) .gw-closing--quiz .gw-form .gw-button { grid-column:auto; width:100%; min-height:56px; justify-content:center; }
  body:has(.gw-home) .gw-closing--quiz .gw-form [data-gd-form-note] { grid-column:auto; font-size:14px; text-align:left; }

  /* Footer */
  body:has(.gw-home) .gw-footer { display:grid; grid-template-columns:1fr; gap:24px; padding:42px 20px 24px; }
  body:has(.gw-home) .gw-footer__intro { gap:12px; }
  body:has(.gw-home) .gw-footer__intro p { font-size:15px; line-height:1.55; }
  body:has(.gw-home) .gw-footer__contacts a:first-child { font-size:21px; }
  body:has(.gw-home) .gw-footer__addresses { font-size:14px; }
  body:has(.gw-home) .gw-footer__cta { width:100%; min-height:54px; justify-content:center; margin-top:8px; }
  body:has(.gw-home) .gw-footer__links { display:none; }
  body:has(.gw-home) .gw-footer__mobile-links { display:grid; gap:0; border-top:1px solid rgba(255,255,255,.14); }
  body:has(.gw-home) .gw-footer__mobile-links details { border-bottom:1px solid rgba(255,255,255,.14); }
  body:has(.gw-home) .gw-footer__mobile-links summary { display:flex; min-height:50px; align-items:center; justify-content:space-between; color:#fff; font-size:15px; font-weight:750; cursor:pointer; }
  body:has(.gw-home) .gw-footer__mobile-links summary::after { content:"+"; color:#9fb4ff; font-size:21px; font-weight:400; }
  body:has(.gw-home) .gw-footer__mobile-links details[open] summary::after { content:"−"; }
  body:has(.gw-home) .gw-footer__mobile-links div { display:grid; gap:9px; padding:0 0 16px; }
  body:has(.gw-home) .gw-footer__mobile-links a { color:#c6ccda; font-size:14px; }
  body:has(.gw-home) .gw-footer__bottom { display:grid; grid-template-columns:1fr; gap:10px; margin-top:0; padding-top:18px; font-size:11px; }
  body:has(.gw-home) .gw-footer__bottom nav { display:flex; flex-wrap:wrap; gap:12px; }

  /* Floating contact */
  .dn-call-fab,.dn-call-fab.is-scroll-visible { right:14px; bottom:14px; left:auto; width:52px; height:52px; padding:0; border-radius:50%; background:#2456ff; box-shadow:0 12px 28px rgba(36,86,255,.32); }
  .dn-call-fab:hover { background:#1745e8; box-shadow:0 14px 32px rgba(36,86,255,.38); }
  .dn-call-fab::before,.dn-call-fab .dn-call-fab-label { display:none; }
  .dn-call-popup { right:14px; bottom:76px; left:14px; width:auto; }
  .dn-call-popup .dn-call-number { background:#2456ff!important; }
  body.plano-contact-in-view .dn-call-fab { opacity:0; visibility:hidden; pointer-events:none; transform:translateY(10px); }
}

@media (min-width:370px) and (max-width:767px) {
  body:has(.gw-home) .gw-home-services .gw-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body:has(.gw-home) .gw-home-services .gw-service-card { min-height:236px; }
  body:has(.gw-home) .gw-home-services .gw-service-card h3 { font-size:16px; }
}

/* The contact trigger is blue at every breakpoint. */
.dn-call-fab,.dn-call-fab.is-scroll-visible { background:#2456ff; box-shadow:0 12px 28px rgba(36,86,255,.28); }
.dn-call-fab:hover { background:#1745e8; box-shadow:0 14px 32px rgba(36,86,255,.34); }
.dn-call-fab::before { border-color:rgba(36,86,255,.28); }
.dn-call-popup .dn-call-number { background:#2456ff!important; }

/* PLANO Journal — approved articles only. */
.plano-journal-index,.plano-journal-article{background:#f5f7fb;color:#10182b}
.plano-journal-index>header,.plano-journal-hero{padding:clamp(72px,9vw,132px) max(24px,8vw) 54px;background:radial-gradient(circle at 82% 12%,rgba(36,86,255,.15),transparent 32%),#f5f7fb}
.plano-journal-index>header h1,.plano-journal-hero h1{max-width:1050px;margin:12px 0 22px;font-size:clamp(42px,6.5vw,92px);line-height:.96;letter-spacing:-.06em}
.plano-journal-index>header>p:last-child,.plano-journal-lead{max-width:760px;margin:0;color:#4b5568;font-size:clamp(17px,2vw,22px);line-height:1.55}
.plano-journal-index>section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0 max(24px,8vw) 96px}
.plano-journal-card{overflow:hidden;border:1px solid #dce2ec;border-radius:20px;background:#fff;box-shadow:0 18px 44px rgba(13,25,52,.07)}
.plano-journal-card a{display:grid;height:100%;color:inherit;text-decoration:none}
.plano-journal-card img{width:100%;height:320px;object-fit:cover}
.plano-journal-card span{display:grid;gap:13px;padding:28px}
.plano-journal-card small{color:#2456ff;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.plano-journal-card strong{font-size:clamp(24px,2.6vw,38px);line-height:1.02;letter-spacing:-.04em}
.plano-journal-card p{margin:0;color:#596276;line-height:1.55}
.plano-journal-card b{margin-top:8px;color:#2456ff;font-size:14px}
.plano-journal-empty{grid-column:1/-1;padding:54px;border:1px dashed #bcc7da;border-radius:20px;text-align:center}
.plano-journal-date{margin-top:24px;color:#6c7587;font-size:13px}
.plano-journal-cover{width:min(1120px,calc(100% - 48px));margin:0 auto 64px;overflow:hidden;border-radius:24px;background:#dfe5ef;box-shadow:0 24px 62px rgba(13,25,52,.14)}
.plano-journal-cover img{display:block;width:100%;max-height:680px;object-fit:cover}
.plano-journal-body,.plano-journal-sources,.plano-journal-faq{width:min(780px,calc(100% - 48px));margin-inline:auto}
.plano-journal-body{padding-bottom:60px;font-size:18px;line-height:1.78}
.plano-journal-body h2{margin:64px 0 18px;font-size:clamp(30px,4vw,48px);line-height:1.06;letter-spacing:-.045em}
.plano-journal-body h3{margin:36px 0 12px;font-size:25px;line-height:1.2}
.plano-journal-body p{margin:0 0 22px}
.plano-journal-body :is(ul,ol){display:grid;gap:10px;margin:8px 0 28px;padding-left:24px}
.plano-journal-body blockquote{margin:36px 0;padding:26px 30px;border-left:4px solid #2456ff;border-radius:0 14px 14px 0;background:#fff;color:#18223a;font-size:22px;line-height:1.45}
.plano-journal-body a,.plano-journal-sources a{color:#1745e8;text-decoration-thickness:1px;text-underline-offset:3px}
.plano-journal-sources{padding:32px;border:1px solid #dce2ec;border-radius:16px;background:#fff}
.plano-journal-sources h2{margin:0 0 14px;font-size:23px}
.plano-journal-sources ul{display:grid;gap:8px;margin:0;padding-left:20px}
.plano-journal-faq{padding:72px 0 84px}
.plano-journal-faq>h2{margin:10px 0 28px;font-size:clamp(34px,4.5vw,54px);letter-spacing:-.05em}
.plano-journal-faq>div{display:grid;border-top:1px solid #cfd7e5}
.plano-journal-faq details{border-bottom:1px solid #cfd7e5}
.plano-journal-faq summary{padding:22px 4px;font-size:18px;font-weight:750;cursor:pointer}
.plano-journal-faq details p{margin:0;padding:0 4px 22px;color:#556074;line-height:1.65}

@media (max-width:767px){
  .plano-journal-index>header,.plano-journal-hero{padding:54px 20px 38px}
  .plano-journal-index>header h1,.plano-journal-hero h1{font-size:42px}
  .plano-journal-index>section{grid-template-columns:1fr;padding:0 20px 60px}
  .plano-journal-card img{height:220px}
  .plano-journal-cover{width:calc(100% - 40px);margin-bottom:38px;border-radius:15px}
  .plano-journal-body,.plano-journal-sources,.plano-journal-faq{width:calc(100% - 40px)}
  .plano-journal-body{font-size:16px;line-height:1.7}
  .plano-journal-body h2{margin-top:48px;font-size:31px}
  .plano-journal-body blockquote{padding:21px;font-size:19px}
  .plano-journal-sources{padding:22px}
}

/* ============================================================================
   PLANO preset offer (2026-09): plan cards, two-tier pricing, annual bar.
   Same blue / navy / white system as the rest of the homepage.
   ========================================================================== */
.plano-plans { max-width:1180px; margin:0 auto; padding:82px 28px 64px; }
.plano-plans .gw-section__head { max-width:840px; margin-bottom:38px; }
.plano-plans .gw-section__head p:last-child { max-width:720px; margin:14px auto 0; color:#5b6270; font-size:15px; line-height:1.65; }
.plano-plans__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.plano-plan { display:flex; flex-direction:column; overflow:hidden; border:1px solid #dce2ec; border-radius:18px; background:#fff; box-shadow:0 18px 44px rgba(13,19,36,.06); transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease; }
.plano-plan:hover { transform:translateY(-4px); border-color:rgba(36,86,255,.42); box-shadow:0 26px 60px rgba(13,19,36,.11); }

/* Abstract layout sketch per sector — an honest "shape of the page", not a fake client screenshot. */
.plano-plan__screen { position:relative; display:grid; gap:7px; align-content:start; aspect-ratio:16/10; padding:24px 18px 0; overflow:hidden; border-bottom:1px solid #e6eaf2; background:#eef2ff; }
.plano-plan__screen::before { content:""; position:absolute; top:9px; left:16px; width:32px; height:6px; background:radial-gradient(circle,rgba(17,19,24,.16) 2.2px,transparent 2.7px) 0 0/10px 6px repeat-x; }
.plano-plan__screen i { display:block; border-radius:6px; background:rgba(255,255,255,.94); box-shadow:0 1px 2px rgba(13,19,36,.05); }
.plano-plan__screen i b { display:block; border-radius:5px; background:rgba(255,255,255,.94); }
.plano-plan__screen .s-hero { position:relative; height:44%; }
.plano-plan__screen .s-hero::before,.plano-plan__screen .s-hero::after { content:""; position:absolute; left:12px; height:6px; border-radius:3px; background:#d5dbe8; }
.plano-plan__screen .s-hero::before { top:14px; width:46%; }
.plano-plan__screen .s-hero::after { top:26px; width:30%; }
.plano-plan__screen .s-hero b { position:absolute; left:12px; bottom:12px; width:36px; height:9px; background:#2456ff; }
.plano-plan__screen .s-cards,.plano-plan__screen .s-fleet,.plano-plan__screen .s-pair,.plano-plan__screen .s-split { display:grid; gap:7px; background:transparent; box-shadow:none; }
.plano-plan__screen .s-cards { grid-template-columns:repeat(3,1fr); }
.plano-plan__screen .s-cards b { height:34px; }
.plano-plan__screen .s-strip { height:16px; background:linear-gradient(90deg,rgba(255,255,255,.94) 0 68%,#2456ff 68%); }
.plano-plan__screen .s-menu { display:grid; gap:5px; padding:8px 10px; }
.plano-plan__screen .s-menu b { height:7px; background:linear-gradient(90deg,#d5dbe8 0 58%,transparent 58% 84%,#d5dbe8 84%); }
.plano-plan__screen .s-fleet { grid-template-columns:repeat(4,1fr); }
.plano-plan__screen .s-fleet b { height:26px; }
.plano-plan__screen .s-form { height:22px; background:linear-gradient(90deg,rgba(255,255,255,.94) 0 74%,#2456ff 74%); }
.plano-plan__screen .s-split { grid-template-columns:1.1fr 1fr; height:44%; }
.plano-plan__screen .s-split b:first-child { background:linear-gradient(160deg,#9fb2d6,#5c6f96); }
.plano-plan__screen .s-list { display:grid; gap:5px; padding:8px 10px; }
.plano-plan__screen .s-list b { height:7px; width:70%; background:#d5dbe8; }
.plano-plan__screen .s-pair { grid-template-columns:1fr 1fr; height:38%; }
.plano-plan__screen .s-pair b:first-child { background:linear-gradient(160deg,#c9c2b4,#8f8676); }
.plano-plan__screen .s-pair b:last-child { background:linear-gradient(160deg,#f2eee6,#cfc7b8); }
.plano-plan__screen .s-call { height:18px; background:#2456ff; }
.plano-plan__screen--villa { background:linear-gradient(160deg,#e4ecff,#cfdcff); }
.plano-plan__screen--resto { background:linear-gradient(160deg,#fbeadc,#f5d3bf); }
.plano-plan__screen--rentacar { background:linear-gradient(160deg,#dff4ee,#c3e7dd); }
.plano-plan__screen--iatrio { background:linear-gradient(160deg,#e8eef7,#d3ddec); }
.plano-plan__screen--trades { background:linear-gradient(160deg,#f5ebd8,#e9dabd); }
.plano-plan__screen--custom { display:grid; place-items:center; padding:0; background:#0d1324; border-bottom-color:#0d1324; }
.plano-plan__screen--custom::before { background:radial-gradient(circle,rgba(255,255,255,.25) 2.2px,transparent 2.7px) 0 0/10px 6px repeat-x; }
.plano-plan__screen--custom .s-blank { display:grid; place-items:center; width:64px; height:64px; border:1px dashed rgba(255,255,255,.35); border-radius:50%; background:transparent; box-shadow:none; }
.plano-plan__screen--custom .s-blank b { background:transparent; color:#fff; font-size:34px; font-weight:300; line-height:1; }

.plano-plan__body { display:flex; flex:1; flex-direction:column; padding:20px 22px 22px; }
.plano-plan__body > span { color:#2456ff; font-size:10px; font-weight:800; letter-spacing:.13em; }
.plano-plan__body h3 { margin:9px 0 6px; font-size:18px; font-weight:800; letter-spacing:-.02em; line-height:1.2; color:#111318; }
.plano-plan__body p { margin:0; color:#5b6270; font-size:13.5px; line-height:1.55; }
.plano-plan__body ul { display:flex; flex-wrap:wrap; gap:6px; margin:14px 0 0; padding:0; list-style:none; }
.plano-plan__body li { padding:5px 9px; border-radius:50px; background:#f1f4fa; color:#343943; font-size:11.5px; font-weight:650; line-height:1.2; }
.plano-plan__cta { margin-top:auto; padding-top:16px; color:#2456ff!important; font-size:13px; font-weight:800; }
.plano-plan--custom { background:#0d1324; border-color:#0d1324; }
.plano-plan--custom .plano-plan__body > span { color:#839cff; }
.plano-plan--custom h3 { color:#fff; }
.plano-plan--custom p { color:#cbd4eb; }
.plano-plan--custom .plano-plan__cta { color:#fff!important; }
.plano-plans__note { max-width:760px; margin:26px auto 0; color:#5b6270; font-size:13px; line-height:1.6; text-align:center; }

.plano-tiers { max-width:1180px; margin:0 auto; padding:16px 28px 82px; }
.plano-tiers .gw-section__head { margin-bottom:34px; }
.plano-tiers__grid { display:grid; grid-template-columns:1.12fr 1fr; gap:18px; align-items:stretch; }
.plano-tier { position:relative; display:flex; flex-direction:column; padding:34px 32px 30px; border:1px solid #dce2ec; border-radius:20px; background:#fff; }
.plano-tier--plan { border:2px solid #2456ff; box-shadow:0 30px 70px rgba(36,86,255,.14); }
.plano-tier__badge { position:absolute; top:-13px; left:28px; padding:6px 12px; border-radius:50px; background:#2456ff; color:#fff; font-size:10px; font-weight:800; letter-spacing:.12em; }
.plano-tier h3 { margin:0; font-size:22px; font-weight:800; letter-spacing:-.02em; color:#111318; }
.plano-tier__price { display:flex; align-items:baseline; gap:10px; margin:14px 0 0; }
.plano-tier__price strong { font-size:44px; font-weight:800; letter-spacing:-.045em; line-height:1; color:#111318; }
.plano-tier__price span { color:#5b6270; font-size:13px; font-weight:650; }
.plano-tier__lead { margin:12px 0 0; color:#5b6270; font-size:14.5px; line-height:1.6; }
.plano-tier ul { display:grid; gap:9px; margin:22px 0 26px; padding:0; list-style:none; }
.plano-tier li { position:relative; padding-left:26px; color:#111318; font-size:14px; line-height:1.45; }
.plano-tier li::before { content:"✓"; position:absolute; left:0; top:0; color:#2456ff; font-weight:800; }
.plano-tier--custom li::before { color:#8b93a3; }
.plano-tier .gw-button { width:100%; justify-content:center; margin-top:auto; }
body:has(.gw-home) .plano-tier--custom .gw-button--outline { border:1.5px solid #2456ff; }
.plano-tiers__annual { display:grid; grid-template-columns:260px 1fr; gap:28px; align-items:center; margin-top:18px; padding:26px 32px; border-radius:18px; background:#0d1324; color:#fff; }
.plano-tiers__annual strong { display:block; font-size:30px; font-weight:800; letter-spacing:-.04em; line-height:1; }
.plano-tiers__annual strong sup { position:relative; top:-10px; font-size:12px; font-weight:700; letter-spacing:0; }
.plano-tiers__annual div > span { display:block; margin-top:8px; color:#aebbe8; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.plano-tiers__annual p { margin:0; color:#cbd4eb; font-size:14px; line-height:1.65; }
.plano-tiers__annual b { color:#fff; }

/* Lead form: WhatsApp continuation link injected by site.js after submit (success or fallback). */
.gw-form .gw-form__whatsapp { grid-column:1/-1; justify-content:center; min-height:50px; }
.gw-form.is-sent button[type="submit"] { opacity:.75; }

/* Call popup: WhatsApp next to the phone number and Viber. */
.dn-call-popup .dn-wa-btn { display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:6px; padding:11px 16px; border:0; border-radius:12px; background:#25d366!important; color:#fff!important; font-size:15px; font-weight:700; text-decoration:none!important; transition:opacity .15s; }
.dn-call-popup .dn-wa-btn:hover { opacity:.9; }
.dn-wa-btn svg { width:18px; height:18px; flex-shrink:0; fill:none; stroke:#fff; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

@media (max-width:980px) {
  .plano-plans__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .plano-tiers__grid { grid-template-columns:1fr; }
  .plano-tiers__annual { grid-template-columns:1fr; gap:14px; }
}
@media (max-width:767px) {
  .plano-plans { padding:56px 20px 40px; }
  .plano-plans__grid { grid-template-columns:1fr; gap:14px; }
  .plano-plan__screen { aspect-ratio:16/9; }
  .plano-tiers { padding:8px 20px 56px; }
  .plano-tier { padding:30px 22px 24px; }
  .plano-tier__price strong { font-size:40px; }
  .plano-tiers__annual { padding:22px; }
  .plano-tiers__annual strong { font-size:26px; }
  body:has(.gw-home) .plano-hero-offer>p>small { font-size:12px; }
}

/* Refinements after first render: sketches fill their frame, mobile hero breathes, carousel CTA readable. */
.plano-plan__screen { grid-template-rows:1.55fr 1fr .42fr; align-content:stretch; }
.plano-plan__screen .s-hero,.plano-plan__screen .s-split,.plano-plan__screen .s-pair,.plano-plan__screen .s-strip,.plano-plan__screen .s-form,.plano-plan__screen .s-call { height:auto; }
.plano-plan__screen .s-cards b,.plano-plan__screen .s-fleet b { height:auto; }
.plano-plan__screen .s-menu,.plano-plan__screen .s-list { align-content:space-evenly; }
.plano-plan__screen--custom { grid-template-rows:1fr; }
.gw-page .plano-projects__all { color:#fff; }
@media (max-width:767px) {
  .gw-warm .gw-hero--plano h1 { font-size:clamp(34px,10.2vw,40px); line-height:1.02; letter-spacing:-.05em; }
  .gw-warm .gw-hero--plano h1 br { display:none; }
  .gw-warm .gw-hero--plano h1 .plano-h1-line::after { content:" "; }
  .plano-hero-offer>p { display:block; padding-top:12px; }
  .plano-hero-offer>p>span { padding:0 6px; }
  .plano-hero-offer>p>small { display:block; margin-top:6px; }
}

/* fr rows need a definite height: a fixed frame instead of aspect-ratio so the sketch fills it. */
.plano-plan__screen { aspect-ratio:auto; height:236px; }
@media (max-width:980px) { .plano-plan__screen { height:220px; } }
@media (max-width:767px) { .plano-plan__screen { aspect-ratio:auto; height:200px; } }
body:has(.gw-home) .gw-faq summary::after { color:#2456ff; }
