.rsr-landing {
      --green: #52584c;
      --green-dark: #383d35;
      --green-light: #697063;
      --gold: #b89b6a;
      --gold-light: #d2bd98;
      --ink: #20231f;
      --paper: #f5f3ee;
      --white: #ffffff;
      --line: rgba(82,88,76,.18);
      --shadow: 0 24px 70px rgba(31,35,29,.14);
      --heading: "The Seasons", "Cormorant Garamond", Georgia, serif;
      --body: "Gill Sans", "Montserrat", Arial, sans-serif;
      --container: min(1240px, calc(100vw - 48px));
    }
.rsr-landing, .rsr-landing * { box-sizing: border-box; }
.rsr-landing { scroll-behavior: smooth; }
.rsr-landing {
      margin: 0;
      color: var(--ink);
      background: var(--paper);
      font-family: var(--body);
      font-size: 16px;
      line-height: 1.65;
      -webkit-font-smoothing: antialiased;
    }
body.rsr-menu-open { overflow: hidden; }
.rsr-landing img { display: block; width: 100%; }
.rsr-landing a { color: inherit; text-decoration: none; }
.rsr-landing button, .rsr-landing input, .rsr-landing textarea, .rsr-landing select { font: inherit; }
.rsr-landing section { scroll-margin-top: 92px; }
.rsr-landing .container { width: var(--container); margin: 0 auto; }
.rsr-landing .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      color: var(--gold);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: .18em;
      text-transform: uppercase;
    }
.rsr-landing .eyebrow::before { content: ""; width: 36px; height: 1px; background: currentColor; }
.rsr-landing h1, .rsr-landing h2, .rsr-landing h3, .rsr-landing h4 { font-family: var(--heading); font-weight: 500; line-height: 1.02; margin: 0; }
.rsr-landing h1 { font-size: clamp(56px, 8vw, 116px); letter-spacing: -.035em; }
.rsr-landing h2 { font-size: clamp(44px, 5.3vw, 76px); letter-spacing: -.03em; }
.rsr-landing h3 { font-size: clamp(29px, 3vw, 40px); letter-spacing: -.02em; }
.rsr-landing p { margin: 0; }
.rsr-landing .lead { font-size: clamp(18px, 2vw, 22px); line-height: 1.6; color: rgba(32,35,31,.78); }
.rsr-landing .section-pad { padding: 120px 0; }
.rsr-landing .section-head { max-width: 810px; margin-bottom: 56px; }
.rsr-landing .section-head .eyebrow { margin-bottom: 22px; }
.rsr-landing .section-head p { margin-top: 24px; max-width: 720px; }
.rsr-landing .btn {
      min-height: 54px;
      padding: 0 27px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      border: 1px solid transparent;
      border-radius: 1px;
      cursor: pointer;
      font-size: 13px;
      font-weight: 600;
      letter-spacing: .08em;
      text-transform: uppercase;
      transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
    }
.rsr-landing .btn:hover { transform: translateY(-2px); }
.rsr-landing .btn-gold { background: var(--gold); color: #171914; }
.rsr-landing .btn-gold:hover { background: var(--gold-light); }
.rsr-landing .btn-outline { border-color: rgba(255,255,255,.55); color: white; background: rgba(255,255,255,.04); backdrop-filter: blur(8px); }
.rsr-landing .btn-outline:hover { background: white; color: var(--green-dark); }
.rsr-landing .btn-green { background: var(--green); color: white; }
.rsr-landing .btn-green:hover { background: var(--green-dark); }
.rsr-landing .arrow { font-size: 19px; line-height: 1; transition: transform .25s ease; }
.rsr-landing .btn:hover .arrow { transform: translateX(4px); }
.rsr-landing .site-header {
      position: fixed;
      inset: 0 0 auto 0;
      height: 86px;
      z-index: 100;
      color: white;
      transition: background .3s ease, box-shadow .3s ease, color .3s ease;
    }
.rsr-landing .site-header.scrolled {
      color: var(--ink);
      background: rgba(245,243,238,.94);
      box-shadow: 0 1px 0 var(--line);
      backdrop-filter: blur(14px);
    }
.rsr-landing .nav-wrap { width: var(--container); height: 100%; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.rsr-landing .brand { display: flex; align-items: center; min-width: 188px; }
.rsr-landing .brand img { width: 180px; max-height: 51px; object-fit: contain; }
.rsr-landing .site-header.scrolled .brand img { filter: none; }
.rsr-landing .brand-fallback { display:none; font-family: var(--heading); font-size: 26px; letter-spacing: .08em; line-height: .85; }
.rsr-landing .brand-fallback small { display:block; font-family:var(--body); font-size:7px; letter-spacing:.42em; margin-top:7px; text-align:center; }
.rsr-landing .desktop-nav { display: flex; align-items: center; gap: 32px; margin-left: auto; }
.rsr-landing .desktop-nav a { font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; position: relative; }
.rsr-landing .desktop-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-7px; height:1px; background:var(--gold); transition:right .25s ease; }
.rsr-landing .desktop-nav a:hover::after { right:0; }
.rsr-landing .header-cta { min-height: 46px; padding: 0 21px; }
.rsr-landing .menu-toggle { display:none; width:46px; height:46px; border:0; background:transparent; color:currentColor; cursor:pointer; }
.rsr-landing .menu-toggle span { display:block; width:24px; height:1px; background:currentColor; margin:6px auto; transition:.25s ease; }
.rsr-landing .mobile-menu {
      display:none;
      position:fixed;
      inset:86px 0 0 0;
      z-index:99;
      background:var(--paper);
      padding:38px 24px;
      color:var(--ink);
    }
.rsr-landing .mobile-menu.open { display:flex; flex-direction:column; }
.rsr-landing .mobile-menu a { padding:18px 0; border-bottom:1px solid var(--line); font-family:var(--heading); font-size:34px; line-height:1; }
.rsr-landing .mobile-menu .btn { margin-top:28px; font-family:var(--body); font-size:12px; }
.rsr-landing .hero {
      min-height: 100svh;
      position: relative;
      display: flex;
      align-items: flex-end;
      overflow: hidden;
      color: white;
      background: var(--green-dark);
    }
.rsr-landing .hero-media { position:absolute; inset:0; display:block; }
.rsr-landing .hero-main { width:100%; height:100%; min-height:620px; background-image:url("../images/hero-dubai-kitchen.webp"); background-size:cover; background-position:center; }
.rsr-landing .hero-overlay { position:absolute; inset:0; background: linear-gradient(90deg, rgba(19,24,18,.82) 0%, rgba(19,24,18,.54) 47%, rgba(19,24,18,.12) 75%), linear-gradient(0deg, rgba(18,22,17,.5), transparent 50%); }
.rsr-landing .hero-grain { position:absolute; inset:0; opacity:.12; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E"); }
.rsr-landing .hero-content { position:relative; z-index:2; width:var(--container); margin:0 auto; padding:160px 0 74px; }
.rsr-landing .hero-content-inner { max-width: 880px; }
.rsr-landing .hero .eyebrow { margin-bottom: 26px; color: var(--gold-light); }
.rsr-landing .hero h1 em { font-style:italic; font-weight:400; }
.rsr-landing .hero-copy { max-width:690px; margin-top:26px; font-size:clamp(18px,2vw,23px); color:rgba(255,255,255,.88); }
.rsr-landing .hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:38px; }
.rsr-landing .hero-foot { margin-top:60px; display:flex; gap:44px; flex-wrap:wrap; color:rgba(255,255,255,.72); font-size:12px; letter-spacing:.09em; text-transform:uppercase; }
.rsr-landing .hero-foot span { display:flex; align-items:center; gap:10px; }
.rsr-landing .hero-foot span::before { content:""; width:5px; height:5px; background:var(--gold); border-radius:50%; }
.rsr-landing .scroll-cue { position:absolute; z-index:2; right:34px; bottom:34px; display:flex; align-items:center; gap:14px; font-size:10px; letter-spacing:.18em; text-transform:uppercase; writing-mode:vertical-rl; }
.rsr-landing .scroll-cue::after { content:""; width:1px; height:58px; background:rgba(255,255,255,.5); }
.rsr-landing .credentials { background:var(--green); color:white; border-top:1px solid rgba(255,255,255,.12); }
.rsr-landing .credentials-inner { min-height:110px; display:grid; grid-template-columns:repeat(3,1fr); align-items:center; }
.rsr-landing .credential { padding:22px 42px; display:flex; align-items:center; gap:18px; border-right:1px solid rgba(255,255,255,.15); }
.rsr-landing .credential:last-child { border-right:0; }
.rsr-landing .credential-number { font-family:var(--heading); font-size:42px; color:var(--gold-light); line-height:1; }
.rsr-landing .credential strong { display:block; font-family:var(--heading); font-size:22px; font-weight:500; line-height:1.1; }
.rsr-landing .credential small { color:rgba(255,255,255,.66); font-size:11px; text-transform:uppercase; letter-spacing:.11em; }
.rsr-landing .intro { background: var(--paper); }
.rsr-landing .intro-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:10vw; align-items:start; }
.rsr-landing .intro-aside { position:static; top:auto; display:flex; flex-direction:column; gap:0; }
.rsr-landing .intro-aside .eyebrow { margin-bottom:22px; }
.rsr-landing .intro-aside p { max-width:420px; }
.rsr-landing .intro-visual { position:relative; margin-top:34px; width:100%; max-width:460px; aspect-ratio:1/1; background:url("../images/intro-dubai-kitchen.webp") center/cover no-repeat; border:1px solid rgba(32,35,31,.08); overflow:hidden; box-shadow:0 18px 50px rgba(20,24,18,.08); }
.rsr-landing .intro-visual::after { content:""; position:absolute; inset:18px; border:1px solid rgba(255,255,255,.62); pointer-events:none; }
.rsr-landing .intro-visual-caption { position:absolute; left:18px; right:18px; bottom:18px; background:rgba(255,255,255,.92); backdrop-filter:blur(10px); padding:14px 16px; display:flex; flex-direction:column; gap:6px; }
.rsr-landing .intro-visual-caption strong { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--green); }
.rsr-landing .intro-visual-caption span { font-size:13px; line-height:1.5; color:rgba(32,35,31,.76); }
.rsr-landing .intro-body h2 { max-width:780px; }
.rsr-landing .intro-body .lead { margin-top:28px; max-width:720px; }
.rsr-landing .intro-body .small-copy { margin-top:24px; max-width:720px; color:rgba(32,35,31,.67); }
.rsr-landing .signature-line { margin-top:42px; padding-top:25px; border-top:1px solid var(--line); display:flex; align-items:center; gap:20px; color:var(--green); }
.rsr-landing .signature-line strong { font-family:var(--heading); font-size:25px; font-weight:500; }
.rsr-landing .services { background:white; }
.rsr-landing .services-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.rsr-landing .service-card { min-height:330px; padding:42px 36px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); position:relative; overflow:hidden; transition:background .3s ease,color .3s ease; }
.rsr-landing .service-card::before { content:""; position:absolute; inset:auto 0 0 0; height:4px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .35s ease; }
.rsr-landing .service-card:hover { background:var(--green); color:white; }
.rsr-landing .service-card:hover::before { transform:scaleX(1); }
.rsr-landing .service-no { color:var(--gold); font-size:12px; letter-spacing:.16em; }
.rsr-landing .service-card h3 { margin-top:58px; font-size:34px; }
.rsr-landing .service-card p { margin-top:18px; color:rgba(32,35,31,.66); transition:color .3s ease; }
.rsr-landing .service-card:hover p { color:rgba(255,255,255,.72); }
.rsr-landing .service-link { position:absolute; right:30px; bottom:26px; width:40px; height:40px; border:1px solid currentColor; display:grid; place-items:center; border-radius:50%; opacity:.55; }
.rsr-landing .design-led { background:var(--green-dark); color:white; overflow:hidden; }
.rsr-landing .design-grid { display:grid; grid-template-columns:1fr 1fr; min-height:760px; }
.rsr-landing .design-image { background:url("../images/design-led-dubai-outdoor-living.webp") center/cover no-repeat; min-height:620px; position:relative; }
.rsr-landing .design-image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, transparent 65%, rgba(56,61,53,.8)); }
.rsr-landing .design-copy { padding:110px max(44px,8vw) 100px 7vw; display:flex; flex-direction:column; justify-content:center; }
.rsr-landing .design-copy .eyebrow { margin-bottom:24px; }
.rsr-landing .design-copy h2 { max-width:610px; }
.rsr-landing .design-copy .lead { color:rgba(255,255,255,.74); margin-top:28px; }
.rsr-landing .design-points { margin-top:40px; display:grid; gap:20px; }
.rsr-landing .design-point { display:grid; grid-template-columns:34px 1fr; gap:16px; align-items:start; padding-top:20px; border-top:1px solid rgba(255,255,255,.15); }
.rsr-landing .design-point span { color:var(--gold-light); font-family:var(--heading); font-size:24px; }
.rsr-landing .design-point strong { display:block; font-size:14px; letter-spacing:.06em; text-transform:uppercase; }
.rsr-landing .design-point p { color:rgba(255,255,255,.6); margin-top:5px; font-size:14px; }
.rsr-landing .concepts { background:var(--paper); }
.rsr-landing .concept-head-row { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:48px; }
.rsr-landing .concept-head-row .section-head { margin-bottom:0; }
.rsr-landing .concept-note { max-width:360px; font-size:12px; color:rgba(32,35,31,.55); border-left:2px solid var(--gold); padding-left:16px; }
.rsr-landing .concept-grid { display:grid; grid-template-columns:1.1fr .9fr; grid-template-rows:440px 360px; gap:18px; }
.rsr-landing .concept-card { position:relative; overflow:hidden; color:white; background:var(--green); }
.rsr-landing .concept-card:first-child { grid-row:1 / 3; }
.rsr-landing .concept-card img { height:100%; object-fit:cover; transition:transform .7s ease; }
.rsr-landing .concept-card:hover img { transform:scale(1.035); }
.rsr-landing .concept-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(18,22,17,.78), transparent 65%); }
.rsr-landing .concept-info { position:absolute; inset:auto 32px 30px 32px; z-index:2; }
.rsr-landing .concept-tag { display:inline-flex; padding:7px 10px; background:rgba(184,155,106,.92); color:#171914; font-size:9px; letter-spacing:.16em; text-transform:uppercase; font-weight:600; }
.rsr-landing .concept-info h3 { margin-top:14px; font-size:clamp(30px,3vw,44px); }
.rsr-landing .concept-info p { max-width:560px; color:rgba(255,255,255,.76); margin-top:9px; font-size:14px; }
.rsr-landing .transformations { background:var(--paper); }
.rsr-landing .transformations-head { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:48px; }
.rsr-landing .transformations-head .section-head { margin-bottom:0; }
.rsr-landing .transformations-note { max-width:400px; font-size:12px; color:rgba(32,35,31,.55); border-left:2px solid var(--gold); padding-left:16px; }
.rsr-landing .transformation-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:22px; }
.rsr-landing .transformation-card { background:#fff; border:1px solid rgba(32,35,31,.09); display:flex; flex-direction:column; overflow:hidden; box-shadow:0 12px 40px rgba(20,24,18,.06); }
.rsr-landing .compare-stage { position:relative; display:grid; grid-template-columns:1fr 1fr; height:336px; background:#ddd4c6; }
.rsr-landing .compare-stage::after { content:""; position:absolute; top:0; bottom:0; left:50%; width:2px; transform:translateX(-1px); background:rgba(255,255,255,.9); box-shadow:0 0 0 1px rgba(20,24,18,.08); z-index:1; }
.rsr-landing .compare-stage img { width:100%; height:100%; object-fit:cover; display:block; }
.rsr-landing .compare-badge { position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); width:56px; height:56px; border-radius:999px; background:rgba(255,255,255,.96); box-shadow:0 12px 30px rgba(20,24,18,.18); color:var(--green); display:grid; place-items:center; z-index:2; font-size:18px; font-weight:700; }
.rsr-landing .compare-label { position:absolute; top:16px; z-index:2; display:inline-flex; align-items:center; padding:9px 12px; font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.rsr-landing .compare-label.before { left:16px; background:rgba(20,24,18,.92); color:#fff; }
.rsr-landing .compare-label.after { right:16px; background:rgba(184,155,106,.96); color:#171914; }
.rsr-landing .transformation-body { padding:28px 30px 32px; }
.rsr-landing .transformation-kicker { display:inline-flex; padding:9px 12px; background:rgba(184,155,106,.95); color:#171914; font-size:10px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; }
.rsr-landing .transformation-body h3 { margin-top:18px; font-size:clamp(30px,3vw,46px); line-height:1.08; letter-spacing:-.04em; }
.rsr-landing .transformation-body p { margin-top:16px; font-size:14px; color:rgba(32,35,31,.7); }
.rsr-landing .transformation-points { margin-top:24px; padding-top:22px; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.rsr-landing .transformation-points h4 { font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--green); }
.rsr-landing .transformation-points p { margin-top:11px; font-size:14px; line-height:1.6; color:rgba(32,35,31,.72); }
.rsr-landing .possibilities { background:white; }
.rsr-landing .possibility-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:54px; counter-reset:item; }
.rsr-landing .possibility { padding:34px 28px 38px; border-top:1px solid var(--line); border-right:1px solid var(--line); }
.rsr-landing .possibility:first-child { border-left:1px solid var(--line); }
.rsr-landing .possibility::before { counter-increment:item; content:"0" counter(item); color:var(--gold); font-size:11px; letter-spacing:.16em; }
.rsr-landing .possibility h4 { margin-top:40px; font-size:28px; }
.rsr-landing .possibility p { margin-top:15px; font-size:14px; color:rgba(32,35,31,.64); }
.rsr-landing .process { background:var(--green); color:white; }
.rsr-landing .process .section-head p { color:rgba(255,255,255,.68); }
.rsr-landing .process-list { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.18); }
.rsr-landing .process-step { padding:42px 28px 20px 0; border-right:1px solid rgba(255,255,255,.15); min-height:330px; }
.rsr-landing .process-step:not(:first-child) { padding-left:28px; }
.rsr-landing .process-step:last-child { border-right:0; }
.rsr-landing .step-no { font-family:var(--heading); font-size:58px; color:var(--gold-light); line-height:1; }
.rsr-landing .process-step h3 { font-size:31px; margin-top:72px; }
.rsr-landing .process-step p { color:rgba(255,255,255,.62); margin-top:15px; font-size:14px; }
.rsr-landing .why { background:var(--paper); }
.rsr-landing .why-grid { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:center; }
.rsr-landing .why-image { height:700px; background:url("../images/why-regent-dubai-kitchen.webp") center/cover no-repeat; position:relative; }
.rsr-landing .why-image::after { content:""; position:absolute; inset:28px; border:1px solid rgba(255,255,255,.62); }
.rsr-landing .why-copy .eyebrow { margin-bottom:22px; }
.rsr-landing .why-copy .lead { margin-top:26px; }
.rsr-landing .why-list { margin-top:36px; }
.rsr-landing .why-item { display:grid; grid-template-columns:44px 1fr; gap:18px; padding:22px 0; border-top:1px solid var(--line); }
.rsr-landing .why-item span { width:34px; height:34px; border:1px solid var(--gold); display:grid; place-items:center; color:var(--gold); border-radius:50%; font-size:12px; }
.rsr-landing .why-item strong { display:block; font-family:var(--heading); font-size:25px; font-weight:500; }
.rsr-landing .why-item p { font-size:14px; color:rgba(32,35,31,.63); margin-top:4px; }
.rsr-landing .faq { background:white; }
.rsr-landing .faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; }
.rsr-landing .faq-side { position:sticky; top:130px; align-self:start; }
.rsr-landing .faq-side .eyebrow { margin-bottom:22px; }
.rsr-landing .faq-side p { margin-top:22px; color:rgba(32,35,31,.65); }
.rsr-landing .accordion { border-top:1px solid var(--line); }
.rsr-landing .faq-item { border-bottom:1px solid var(--line); }
.rsr-landing .faq-question { width:100%; padding:26px 0; border:0; background:none; text-align:left; display:flex; align-items:center; justify-content:space-between; gap:24px; cursor:pointer; color:var(--ink); }
.rsr-landing .faq-question strong { font-family:var(--heading); font-size:27px; font-weight:500; }
.rsr-landing .faq-icon { width:32px; height:32px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; flex:none; transition:transform .3s ease; }
.rsr-landing .faq-answer { display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s ease; }
.rsr-landing .faq-answer > div { overflow:hidden; }
.rsr-landing .faq-answer p { color:rgba(32,35,31,.65); padding:0 52px 25px 0; }
.rsr-landing .faq-item.open .faq-answer { grid-template-rows:1fr; }
.rsr-landing .faq-item.open .faq-icon { transform:rotate(45deg); }
.rsr-landing .contact { background:var(--green-dark); color:white; position:relative; overflow:hidden; }
.rsr-landing .contact::before { content:""; position:absolute; inset:0 55% 0 0; background:url("../images/contact-dubai-villa.webp") center/cover; opacity:.2; filter:saturate(.7); }
.rsr-landing .contact::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(56,61,53,.95) 0%, rgba(56,61,53,.93) 44%, rgba(56,61,53,1) 62%); }
.rsr-landing .contact-inner { position:relative; z-index:2; display:grid; grid-template-columns:.82fr 1.18fr; gap:8vw; }
.rsr-landing .contact-copy .eyebrow { margin-bottom:22px; }
.rsr-landing .contact-copy h2 { max-width:560px; }
.rsr-landing .contact-copy .lead { margin-top:26px; color:rgba(255,255,255,.7); }
.rsr-landing .contact-details { margin-top:48px; display:grid; gap:17px; font-size:14px; }
.rsr-landing .contact-details a { display:flex; align-items:center; gap:14px; }
.rsr-landing .contact-details a span { color:var(--gold-light); }
.rsr-landing .contact-form { background:var(--paper); color:var(--ink); padding:46px; box-shadow:var(--shadow); }
.rsr-landing .form-title { font-family:var(--heading); font-size:38px; margin-bottom:8px; }
.rsr-landing .form-intro { color:rgba(32,35,31,.62); font-size:14px; margin-bottom:28px; }
.rsr-landing .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.rsr-landing .field { display:flex; flex-direction:column; gap:8px; }
.rsr-landing .field.full { grid-column:1/-1; }
.rsr-landing .field label { font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--green); }
.rsr-landing .field input, .rsr-landing .field textarea, .rsr-landing .field select { width:100%; border:1px solid rgba(82,88,76,.28); border-radius:0; background:white; color:var(--ink); padding:14px 15px; outline:none; transition:border-color .2s ease, box-shadow .2s ease; }
.rsr-landing .field input, .rsr-landing .field select { height:52px; }
.rsr-landing .field textarea { min-height:125px; resize:vertical; }
.rsr-landing .field input:focus, .rsr-landing .field textarea:focus, .rsr-landing .field select:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(184,155,106,.12); }
.rsr-landing .form-actions { display:flex; align-items:center; gap:18px; margin-top:24px; }
.rsr-landing .form-actions .btn { flex:none; }
.rsr-landing .form-note { font-size:10px; color:rgba(32,35,31,.52); line-height:1.5; }
.rsr-landing .form-success { display:none; margin-top:18px; padding:14px 16px; background:rgba(82,88,76,.09); border-left:3px solid var(--green); font-size:13px; }
.rsr-landing .form-success.show { display:block; }
.rsr-landing footer { background:#262a24; color:rgba(255,255,255,.72); padding:52px 0 28px; }
.rsr-landing .footer-top { display:flex; justify-content:space-between; gap:50px; align-items:flex-start; padding-bottom:38px; border-bottom:1px solid rgba(255,255,255,.12); }
.rsr-landing .footer-brand img { width:190px; }
.rsr-landing .footer-brand .brand-fallback { display:none; color:white; }
.rsr-landing .footer-brand p { margin-top:20px; max-width:450px; font-size:13px; }
.rsr-landing .footer-links { display:grid; grid-template-columns:repeat(2, minmax(145px,1fr)); gap:12px 40px; font-size:12px; letter-spacing:.07em; text-transform:uppercase; }
.rsr-landing .footer-links a:hover { color:var(--gold-light); }
.rsr-landing .footer-bottom { padding-top:24px; display:flex; justify-content:space-between; gap:20px; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.rsr-landing .footer-bottom a { color: #13b0d6; }
.rsr-landing .whatsapp-float { position:fixed; right:22px; bottom:22px; width:58px; height:58px; border-radius:50%; background:var(--gold); color:#171914; z-index:90; display:grid; place-items:center; box-shadow:0 12px 32px rgba(0,0,0,.22); transition:transform .25s ease; }
.rsr-landing .whatsapp-float:hover { transform:translateY(-3px) scale(1.03); }
.rsr-landing .whatsapp-float svg { width:26px; height:26px; fill:currentColor; }
.rsr-landing .reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.rsr-landing .reveal.visible { opacity:1; transform:none; }
@media (max-width: 1100px){.rsr-landing .desktop-nav { gap:20px; }
.rsr-landing .desktop-nav a { display:none; }
.rsr-landing .desktop-nav a:last-child { display:inline-flex; }
.rsr-landing .hero-media { grid-template-columns:1fr; }
.rsr-landing .hero-side { display:none; }
.rsr-landing .hero-overlay { background:linear-gradient(90deg,rgba(19,24,18,.82),rgba(19,24,18,.35)); }
.rsr-landing .services-grid { grid-template-columns:repeat(2,1fr); }
.rsr-landing .concept-grid { grid-template-columns:1fr 1fr; grid-template-rows:430px 320px; }
.rsr-landing .transformation-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.rsr-landing .possibility-grid { grid-template-columns:repeat(2,1fr); }
.rsr-landing .possibility:nth-child(3) { border-left:1px solid var(--line); }
.rsr-landing .process-list { grid-template-columns:repeat(2,1fr); }
.rsr-landing .process-step:nth-child(2) { border-right:0; }
.rsr-landing .process-step:nth-child(n/**/+3) { border-top:1px solid rgba(255,255,255,.15); }
.rsr-landing .contact-inner { grid-template-columns:1fr; }
.rsr-landing .contact-copy { max-width:760px; }}
@media (max-width: 780px){.rsr-landing { --container: min(100% - 32px, 680px); }
.rsr-landing .section-pad { padding:82px 0; }
.rsr-landing .site-header { height:74px; }
.rsr-landing .brand img { width:155px; }
.rsr-landing .desktop-nav { display:none; }
.rsr-landing .menu-toggle { display:block; }
.rsr-landing .mobile-menu { inset:74px 0 0; }
.rsr-landing .hero-content { padding:140px 0 54px; }
.rsr-landing .hero h1 { font-size:clamp(52px,16vw,78px); }
.rsr-landing .hero-copy { font-size:18px; }
.rsr-landing .hero-actions .btn { width:100%; }
.rsr-landing .hero-foot { gap:14px 25px; margin-top:38px; }
.rsr-landing .scroll-cue { display:none; }
.rsr-landing .credentials-inner { grid-template-columns:1fr; }
.rsr-landing .credential { border-right:0; border-bottom:1px solid rgba(255,255,255,.15); padding:22px 4px; }
.rsr-landing .credential:last-child { border-bottom:0; }
.rsr-landing .intro-grid, .rsr-landing .design-grid, .rsr-landing .why-grid, .rsr-landing .faq-grid { grid-template-columns:1fr; gap:44px; }
.rsr-landing .intro-aside, .rsr-landing .faq-side { position:static; }
.rsr-landing .intro-visual { max-width:100%; aspect-ratio:4 / 5; margin-top:28px; }
.rsr-landing .services-grid { grid-template-columns:1fr; }
.rsr-landing .service-card { min-height:285px; }
.rsr-landing .design-image { min-height:470px; order:2; }
.rsr-landing .design-copy { padding:82px 24px 50px; }
.rsr-landing .concept-head-row { display:block; }
.rsr-landing .concept-note { margin-top:22px; }
.rsr-landing .concept-grid { display:grid; grid-template-columns:1fr; grid-template-rows:auto; }
.rsr-landing .concept-card, .rsr-landing .concept-card:first-child { grid-row:auto; min-height:390px; }
.rsr-landing .transformations-head { display:block; }
.rsr-landing .transformations-note { margin-top:22px; }
.rsr-landing .transformation-grid { grid-template-columns:1fr; }
.rsr-landing .compare-stage { height:280px; }
.rsr-landing .transformation-body { padding:24px; }
.rsr-landing .transformation-points { grid-template-columns:1fr; gap:18px; }
.rsr-landing .possibility-grid { grid-template-columns:1fr; }
.rsr-landing .possibility, .rsr-landing .possibility:nth-child(3) { border-left:1px solid var(--line); }
.rsr-landing .process-list { grid-template-columns:1fr; }
.rsr-landing .process-step, .rsr-landing .process-step:not(:first-child) { padding:32px 0; border-right:0; border-top:1px solid rgba(255,255,255,.15); min-height:auto; }
.rsr-landing .process-step:first-child { border-top:0; }
.rsr-landing .process-step h3 { margin-top:34px; }
.rsr-landing .why-image { height:500px; }
.rsr-landing .contact-form { padding:30px 22px; }
.rsr-landing .form-grid { grid-template-columns:1fr; }
.rsr-landing .field.full { grid-column:auto; }
.rsr-landing .form-actions { align-items:stretch; flex-direction:column; }
.rsr-landing .form-actions .btn { width:100%; }
.rsr-landing .footer-top, .rsr-landing .footer-bottom { flex-direction:column; }
.rsr-landing .footer-links { width:100%; }}
@media (prefers-reduced-motion: reduce){.rsr-landing { scroll-behavior:auto; }
.rsr-landing, .rsr-landing *, .rsr-landing *::before, .rsr-landing *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
.rsr-landing .reveal { opacity:1; transform:none; }}

/* WordPress and Elementor integration */
.rsr-landing {
  --green:#52584c;
  --green-dark:#383d35;
  --green-light:#697063;
  --gold:#b89b6a;
  --gold-light:#d2bd98;
  --ink:#20231f;
  --paper:#f5f3ee;
  --white:#ffffff;
  --line:rgba(82,88,76,.18);
  --shadow:0 24px 70px rgba(31,35,29,.14);
  --heading:"The Seasons","Cormorant Garamond",Georgia,serif;
  --body:"Gill Sans","Montserrat",Arial,sans-serif;
  --container:min(1240px,calc(100vw - 48px));
  width:100%;
  max-width:100%;
  overflow-x:clip;
  position:relative;
  isolation:isolate;
}
.rsr-landing .rsr-skip-link {
  position:fixed;
  top:8px;
  left:8px;
  transform:translateY(-160%);
  z-index:100000;
  background:#fff;
  color:#20231f;
  padding:10px 14px;
  border-radius:2px;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}
.rsr-landing .rsr-skip-link:focus { transform:none; }
.rsr-landing.rsr-hide-header .site-header,
.rsr-landing.rsr-hide-header .mobile-menu { display:none !important; }
.rsr-landing.rsr-hide-footer footer { display:none !important; }
.rsr-landing.rsr-hide-header section { scroll-margin-top:20px; }
body.rsr-menu-open { overflow:hidden !important; }

/* Contact Form 7 integration */
.rsr-landing .rsr-cf7-wrapper .wpcf7 { width:100%; }
.rsr-landing .rsr-cf7-wrapper .wpcf7-form { margin:0; }
.rsr-landing .rsr-cf7-wrapper .wpcf7-form-control-wrap { display:block; width:100%; }
.rsr-landing .rsr-cf7-wrapper .wpcf7-not-valid-tip {
  color:#9e2f2f;
  font-size:13px;
  margin-top:7px;
}
.rsr-landing .rsr-cf7-wrapper .wpcf7-response-output {
  margin:22px 0 0 !important;
  padding:14px 16px !important;
  border:1px solid var(--line) !important;
  font-size:14px;
  line-height:1.5;
}
.rsr-landing .rsr-cf7-wrapper .wpcf7 form.sent .wpcf7-response-output {
  border-color:#6d8b69 !important;
  background:rgba(109,139,105,.08);
}
.rsr-landing .rsr-cf7-wrapper .wpcf7 form.invalid .wpcf7-response-output,
.rsr-landing .rsr-cf7-wrapper .wpcf7 form.unaccepted .wpcf7-response-output,
.rsr-landing .rsr-cf7-wrapper .wpcf7 form.failed .wpcf7-response-output {
  border-color:#9e2f2f !important;
  background:rgba(158,47,47,.05);
}
.rsr-landing .rsr-cf7-wrapper .wpcf7-spinner { margin:0 0 0 12px; }
.rsr-landing .rsr-cf7-wrapper .wpcf7-list-item { margin:0; }
.rsr-landing .rsr-cf7-wrapper .wpcf7-submit {
  width:auto;
  min-height:54px;
  border:0;
  border-radius:1px;
  padding:0 27px;
  background:var(--green);
  color:#fff;
  cursor:pointer;
  font-size:13px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:transform .25s ease,background .25s ease;
}
.rsr-landing .rsr-cf7-wrapper .wpcf7-submit:hover {
  transform:translateY(-2px);
  background:var(--green-dark);
}
.rsr-landing .rsr-cf7-wrapper .wpcf7-submit:disabled {
  opacity:.6;
  cursor:not-allowed;
  transform:none;
}
.rsr-landing input,
.rsr-landing textarea,
.rsr-landing select { max-width:100%; }

/* Enhanced tablet and mobile optimisation */
@media (max-width: 900px) {
  .rsr-landing { --container:min(100% - 36px,760px); }
  .rsr-landing .hero { min-height:100svh; }
  .rsr-landing .hero-main { min-height:100%; background-position:58% center; }
  .rsr-landing .hero-content-inner { max-width:720px; }
  .rsr-landing .contact::before { inset:0; opacity:.1; }
  .rsr-landing .transformation-card { min-width:0; }
  .rsr-landing .compare-stage img { min-width:0; }
}
@media (max-width: 780px) {
  .rsr-landing { --container:min(100% - 28px,680px); }
  .rsr-landing .site-header .nav-wrap { width:calc(100% - 28px); }
  .rsr-landing .mobile-menu {
    overflow-y:auto;
    overscroll-behavior:contain;
    padding-bottom:max(30px,env(safe-area-inset-bottom));
  }
  .rsr-landing .hero {
    min-height:100svh;
    align-items:flex-end;
  }
  .rsr-landing .hero-main {
    min-height:100%;
    background-position:56% center;
  }
  .rsr-landing .hero-overlay {
    background:linear-gradient(180deg,rgba(16,21,15,.3) 0%,rgba(16,21,15,.48) 38%,rgba(16,21,15,.9) 100%);
  }
  .rsr-landing .hero-content { padding:126px 0 38px; }
  .rsr-landing .hero-content-inner { max-width:100%; }
  .rsr-landing .hero h1 {
    font-size:clamp(46px,13vw,68px);
    line-height:.98;
    letter-spacing:-.04em;
    max-width:12ch;
  }
  .rsr-landing .hero-copy {
    font-size:17px;
    line-height:1.6;
    max-width:38rem;
    margin-top:22px;
  }
  .rsr-landing .hero-actions {
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    margin-top:28px;
  }
  .rsr-landing .hero-actions .btn {
    min-height:54px;
    justify-content:space-between;
    padding:0 20px;
  }
  .rsr-landing .hero-foot {
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin-top:30px;
    font-size:11px;
  }
  .rsr-landing .section-head h2,
  .rsr-landing .intro-body h2,
  .rsr-landing .design-copy h2,
  .rsr-landing .why-copy h2,
  .rsr-landing .faq-side h2,
  .rsr-landing .contact-copy h2 {
    font-size:clamp(39px,11vw,55px);
    line-height:1.02;
  }
  .rsr-landing .section-pad { padding:72px 0; }
  .rsr-landing .intro-grid,
  .rsr-landing .design-grid,
  .rsr-landing .why-grid,
  .rsr-landing .faq-grid { gap:34px; }
  .rsr-landing .service-card {
    min-height:0;
    padding:28px 24px 30px;
  }
  .rsr-landing .design-copy { padding:68px 22px 44px; }
  .rsr-landing .design-image {
    min-height:410px;
    background-position:center;
  }
  .rsr-landing .compare-stage { height:255px; }
  .rsr-landing .compare-label {
    top:12px;
    padding:7px 9px;
    font-size:9px;
  }
  .rsr-landing .compare-label.before { left:12px; }
  .rsr-landing .compare-label.after { right:12px; }
  .rsr-landing .compare-badge {
    width:46px;
    height:46px;
    font-size:15px;
  }
  .rsr-landing .transformation-body { padding:22px 20px 26px; }
  .rsr-landing .transformation-body h3 {
    font-size:clamp(31px,9vw,42px);
    line-height:1.06;
  }
  .rsr-landing .transformation-points {
    padding-top:18px;
    margin-top:20px;
  }
  .rsr-landing .process-step h3 { font-size:34px; }
  .rsr-landing .why-image {
    height:430px;
    background-position:center;
  }
  .rsr-landing .why-image::after { inset:16px; }
  .rsr-landing .contact::before { display:none; }
  .rsr-landing .contact-form { padding:26px 18px; }
  .rsr-landing .form-title { font-size:34px; line-height:1.05; }
  .rsr-landing input,
  .rsr-landing select,
  .rsr-landing textarea { font-size:16px; }
  .rsr-landing .rsr-cf7-wrapper .wpcf7-submit {
    width:100%;
    min-height:56px;
  }
  .rsr-landing .rsr-cf7-wrapper .wpcf7-spinner {
    display:block;
    margin:12px auto 0;
  }
  .rsr-landing .footer-links {
    grid-template-columns:1fr 1fr;
    gap:12px 18px;
  }
  .rsr-landing .whatsapp-float {
    right:14px;
    bottom:max(14px,env(safe-area-inset-bottom));
    width:56px;
    height:56px;
  }
}
@media (max-width: 480px) {
  .rsr-landing { --container:calc(100% - 24px); }
  .rsr-landing .site-header { height:68px; }
  .rsr-landing .site-header .nav-wrap { width:calc(100% - 24px); }
  .rsr-landing .brand img { width:138px; }
  .rsr-landing .mobile-menu { inset:68px 0 0; padding:24px 18px 34px; }
  .rsr-landing .mobile-menu a {
    padding:15px 0;
    font-size:30px;
  }
  .rsr-landing .hero-content { padding:110px 0 30px; }
  .rsr-landing .eyebrow {
    gap:9px;
    font-size:10px;
    letter-spacing:.15em;
  }
  .rsr-landing .eyebrow::before { width:24px; }
  .rsr-landing .hero h1 {
    font-size:clamp(43px,13.5vw,58px);
    max-width:11ch;
  }
  .rsr-landing .hero-copy { font-size:16px; }
  .rsr-landing .hero-foot span:nth-child(3) { display:none; }
  .rsr-landing .section-pad { padding:60px 0; }
  .rsr-landing .lead { font-size:17px; }
  .rsr-landing .credentials { padding:8px 0; }
  .rsr-landing .credential { padding:18px 2px; gap:16px; }
  .rsr-landing .credential-number { font-size:28px; }
  .rsr-landing .service-card { padding:25px 20px 27px; }
  .rsr-landing .service-card h3 { font-size:34px; }
  .rsr-landing .design-copy { padding:58px 18px 38px; }
  .rsr-landing .design-image { min-height:350px; }
  .rsr-landing .transformation-grid { gap:18px; }
  .rsr-landing .compare-stage { height:220px; }
  .rsr-landing .transformation-kicker {
    padding:8px 9px;
    font-size:9px;
  }
  .rsr-landing .transformation-body h3 { font-size:31px; }
  .rsr-landing .transformation-body p,
  .rsr-landing .transformation-points p { font-size:13px; }
  .rsr-landing .possibility { padding:24px 20px; }
  .rsr-landing .process-step { padding:28px 0; }
  .rsr-landing .why-image { height:350px; }
  .rsr-landing .why-item { grid-template-columns:26px 1fr; gap:12px; }
  .rsr-landing .faq-question {
    padding:20px 0;
    gap:14px;
  }
  .rsr-landing .faq-question strong { font-size:17px; line-height:1.35; }
  .rsr-landing .contact-form { padding:24px 14px; }
  .rsr-landing .field { gap:7px; }
  .rsr-landing .field input,
  .rsr-landing .field select,
  .rsr-landing .field textarea { padding:13px 12px; }
  .rsr-landing .footer-links { grid-template-columns:1fr; }
  .rsr-landing .footer-bottom { gap:8px; font-size:11px; }
}
@media (max-width: 360px) {
  .rsr-landing .hero h1 { font-size:40px; }
  .rsr-landing .hero-actions .btn { font-size:10px; padding:0 14px; }
  .rsr-landing .compare-stage { height:200px; }
  .rsr-landing .transformation-body h3 { font-size:29px; }
}
