
    :root {
      color-scheme: light;
      --blue: #2454aa;
      --blue-deep: #182f5f;
      --blue-ink: #10264d;
      --walnut: #92705d;
      --walnut-deep: #76594b;
      --copper: #c97043;
      --gold: #d2ad65;
      --sage: #6f8274;
      --paper: #f6f1e8;
      --sand: #e8ddca;
      --white: #fff;
      --ink: #242322;
      --muted: #69645f;
      --line: #e1d8ca;
      --radius: 22px;
      --shadow: 0 24px 72px rgba(48, 34, 28, .16);
      font-family: "Cairo", Tahoma, Arial, sans-serif;
      font-synthesis: none;
      text-rendering: optimizeLegibility;
    }
    * { box-sizing: border-box; }
    .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
    .skip-link { position: fixed; z-index: 100000; top: 10px; right: 10px; transform: translateY(-160%); padding: 10px 16px; border-radius: 10px; background: var(--blue-ink); color: #fff; font-weight: 800; box-shadow: 0 8px 24px rgba(0,0,0,.18); }
    .skip-link:focus { transform: translateY(0); }
    html { scroll-behavior: smooth; scroll-padding-top: 90px; }
    body { margin: 0; background: var(--paper); color: var(--ink); font-size: 17px; line-height: 1.8; }
    img { display: block; max-width: 100%; }
    a { color: inherit; text-decoration: none; }
    button, input, select, textarea { font: inherit; }
    button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
    :focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
    .container { width: min(1160px, calc(100% - 48px)); margin-inline: auto; }
    .eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--blue); font-size: 14px; font-weight: 700; letter-spacing: .02em; }
    .eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--gold); }
    .section { padding: 96px 0; }
    .section-heading { max-width: 720px; margin-bottom: 38px; }
    h1, h2, h3, .brand-copy strong { font-family: "Cairo", Tahoma, Arial, sans-serif; }
    .section-heading h2 { margin: 12px 0 10px; font-size: clamp(30px, 4vw, 46px); font-weight: 800; line-height: 1.5; }
    .section-heading p { margin: 0; color: var(--muted); font-size: 18px; }
    .button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 11px; padding: 12px 23px; border: 1px solid transparent; border-radius: 999px; font-weight: 700; transition: transform .2s ease, background .2s ease, border-color .2s ease; cursor: pointer; }
    .button:hover { transform: translateY(-2px); }
    .button--gold { background: #a54e29; color: white; box-shadow: 0 10px 24px rgba(201,112,67,.24); }
    .button--gold:hover { background: #914322; }
    .button--outline { color: var(--blue-deep); border-color: rgba(23,63,145,.28); background: rgba(255,255,255,.55); }
    .button--outline:hover { border-color: var(--blue); background: white; }
    .button--white { background: white; color: var(--blue-deep); }
    .arrow { font-size: 20px; line-height: 1; }

    .site-header { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid rgba(72,53,43,.1); background: rgba(247,243,236,.94); backdrop-filter: blur(16px); }
    .header-inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
    .brand { display: inline-flex; align-items: center; gap: 11px; flex-shrink: 0; }
    .brand img { width: 56px; height: 36px; object-fit: contain; }
    .brand-copy { display: grid; line-height: 1.15; }
    .brand-copy strong { color: var(--blue-ink); font-size: 19px; }
    .brand-copy span { margin-top: 4px; color: #70737a; font-size: 10px; letter-spacing: .19em; direction: ltr; text-align: right; }
    .main-nav { display: flex; align-items: center; gap: clamp(16px, 2.3vw, 31px); }
    .main-nav a { color: #424853; font-size: 15px; font-weight: 600; white-space: nowrap; }
    .main-nav a:hover { color: var(--blue); }
    .header-cta { min-height: 46px; padding: 9px 18px; font-size: 14px; }
    .menu-toggle { display: none; width: 46px; height: 46px; border: 1px solid var(--line); border-radius: 50%; color: var(--blue-deep); background: white; cursor: pointer; }
    .menu-toggle svg { width: 21px; height: 21px; }

    .hero { position: relative; padding: 26px 0 68px; }
    .hero::before { content: ""; position: absolute; inset: 0 0 auto; height: 78%; z-index: -1; opacity: .7; background: radial-gradient(circle at 88% 12%, rgba(210,173,101,.17), transparent 28%), radial-gradient(circle at 9% 69%, rgba(36,84,170,.10), transparent 28%); }
    .hero-card { position: relative; min-height: 560px; display: grid; grid-template-columns: 1fr 1.02fr; overflow: hidden; border: 1px solid rgba(255,255,255,.24); border-radius: 30px; background: linear-gradient(125deg, #a98e7d 0%, #c4a994 44%, #7683a0 78%, #546b94 100%); background-size: 230% 230%; animation: hero-color-wave 15s ease-in-out infinite; box-shadow: var(--shadow); }
    .hero-card::before { content: ""; position: absolute; inset: -30%; opacity: .52; background: radial-gradient(ellipse at 20% 30%, rgba(255,235,195,.42), transparent 28%), radial-gradient(ellipse at 66% 75%, rgba(100,135,194,.31), transparent 31%), repeating-linear-gradient(108deg, transparent 0 52px, rgba(255,255,255,.08) 54px, transparent 57px 92px); filter: blur(12px); animation: hero-light-wave 12s ease-in-out infinite alternate; pointer-events: none; }
    @keyframes hero-color-wave { 0%,100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
    @keyframes hero-light-wave { from { transform: translate3d(-3%, 2%, 0) rotate(-2deg) scale(1); } to { transform: translate3d(5%, -3%, 0) rotate(3deg) scale(1.08); } }
    .hero-copy { background: rgba(16,38,77,.68); position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(34px, 6vw, 80px); color: white; }
    .hero-copy::after { content: ""; position: absolute; width: 310px; height: 310px; left: -160px; bottom: -170px; border: 1px solid rgba(210,173,101,.44); border-radius: 50%; box-shadow: 0 0 0 24px rgba(210,173,101,.06), 0 0 0 50px rgba(210,173,101,.04); pointer-events: none; }
    .hero .eyebrow { color: #edd39d; }
    .hero h1 { min-height: 2.75em; max-width: 570px; margin: 24px 0 18px; font-size: clamp(40px, 5.7vw, 66px); font-weight: 800; line-height: 1.4; }
    .type-line { position: relative; display: block; width: max-content; max-width: 100%; white-space: nowrap; }
    .type-line--accent { color: #efcb7d; }
    .heart-icon { width: .78em; height: .78em; display: inline-block; margin-inline-start: -.02em; color: #ef5362; vertical-align: -.06em; filter: drop-shadow(0 3px 8px rgba(239,83,98,.28)); }
    .type-text { display: block; }
    .js .type-text { clip-path: inset(0 0 0 100%); }
    .type-caret { position: absolute; top: .22em; right: 0; width: 3px; height: .86em; border-radius: 3px; opacity: 0; background: var(--copper); }
    .hero-lede { max-width: 505px; margin: 0; color: rgba(255,255,255,.82); font-size: clamp(17px, 1.7vw, 20px); }
    .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
    .hero-photo { position: relative; min-height: 100%; overflow: hidden; margin: 0; background: #7e735e; }
    .hero-slides { position: absolute; inset: 0; }
    .hero-slide { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 560px; object-fit: cover; opacity: 0; transform: scale(1.055); transition: opacity .8s ease; }
    .hero-slide.is-active { z-index: 1; opacity: 1; will-change: opacity, transform; animation-duration: 5s; animation-timing-function: cubic-bezier(.2,.65,.3,1); animation-fill-mode: both; }
    .hero-slide.is-active[data-motion="zoom-out"] { animation-name: hero-zoom-out; }
    .hero-slide.is-active[data-motion="zoom-in"] { animation-name: hero-zoom-in; }
    .hero-slide.is-active[data-motion="pan-left"] { animation-name: hero-pan-left; }
    .hero-slide.is-active[data-motion="pan-right"] { animation-name: hero-pan-right; }
    @keyframes hero-zoom-out {
      from { transform: scale(1.115); }
      to { transform: scale(1.015); }
    }
    @keyframes hero-zoom-in {
      from { transform: scale(1.01); }
      to { transform: scale(1.095); }
    }
    @keyframes hero-pan-left {
      from { transform: scale(1.085) translate3d(2.4%, 0, 0); }
      to { transform: scale(1.045) translate3d(-2.4%, 0, 0); }
    }
    @keyframes hero-pan-right {
      from { transform: scale(1.085) translate3d(-2.4%, 0, 0); }
      to { transform: scale(1.045) translate3d(2.4%, 0, 0); }
    }
    @keyframes hero-mobile-zoom-out {
      from { transform: scale(1.05); }
      to { transform: scale(1); }
    }
    @keyframes hero-mobile-zoom-in {
      from { transform: scale(1); }
      to { transform: scale(1.05); }
    }
    @keyframes hero-mobile-pan-left {
      from { transform: scale(1.035) translate3d(1.1%, 0, 0); }
      to { transform: scale(1.015) translate3d(-1.1%, 0, 0); }
    }
    @keyframes hero-mobile-pan-right {
      from { transform: scale(1.035) translate3d(-1.1%, 0, 0); }
      to { transform: scale(1.015) translate3d(1.1%, 0, 0); }
    }
    .hero-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(270deg, rgba(47,34,30,.28), transparent 48%), linear-gradient(0deg, rgba(17,29,45,.48), transparent 48%); }
    .photo-label { position: absolute; z-index: 3; bottom: 25px; right: 25px; display: inline-flex; align-items: center; gap: 10px; padding: 11px 16px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; color: white; background: rgba(14,29,54,.55); backdrop-filter: blur(10px); font-size: 14px; }
    .photo-label::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--gold); }
    .carousel-nav { position: absolute; z-index: 4; left: 22px; bottom: 23px; display: flex; align-items: center; gap: 8px; direction: ltr; }
    .carousel-button { width: 39px; height: 39px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.34); border-radius: 50%; color: white; background: rgba(14,29,54,.48); backdrop-filter: blur(9px); cursor: pointer; transition: background .2s ease, transform .2s ease; }
    .carousel-button:hover { transform: translateY(-2px); background: rgba(14,29,54,.72); }
    .carousel-button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
    .carousel-pause { position: absolute; z-index: 4; top: 16px; left: 16px; min-height: 44px; padding: 8px 14px; border: 1px solid rgba(255,255,255,.6); border-radius: 999px; background: #182f5f; color: #fff; font-size: 12px; cursor: pointer; }
    .hero-photo.is-paused .hero-slide { animation-play-state: paused; }
    .carousel-count { min-width: 49px; color: rgba(255,255,255,.92); font-size: 12px; font-weight: 700; text-align: center; text-shadow: 0 2px 10px rgba(0,0,0,.45); }
    .hero-foot { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 22px 3px 0; color: #656a73; font-size: 14px; }
    .hero-foot strong { color: var(--blue-deep); }
    .hero-foot-mark { display: inline-flex; align-items: center; gap: 9px; }
    .hero-foot-mark span { display: block; width: 32px; height: 1px; background: var(--gold); }

    .intro { position: relative; overflow: hidden; padding-top: 38px; }
    .intro::after { content: ""; position: absolute; width: 150px; height: 150px; top: 19%; right: -78px; border: 1px solid rgba(36,84,170,.10); transform: rotate(33deg); box-shadow: 0 0 0 28px rgba(36,84,170,.025), 0 0 0 56px rgba(201,112,67,.018); animation: geometry-drift 14s ease-in-out infinite alternate; pointer-events: none; }
    .intro .container { position: relative; z-index: 1; }
    .intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
    .intro-copy h2 { margin: 14px 0; font-size: clamp(31px, 4.2vw, 50px); font-weight: 800; line-height: 1.48; }
    .intro-copy p { max-width: 570px; margin: 0; color: var(--muted); font-size: 18px; }
    .intro-note { position: relative; overflow: hidden; padding: 38px; border: 1px solid #dfd1bd; border-radius: var(--radius); background: linear-gradient(145deg, #eee3d1, #f7f2e9); }
    .intro-note::before { content: ""; position: absolute; width: 200px; height: 200px; top: -96px; left: -80px; border: 1px solid rgba(23,63,145,.16); border-radius: 50%; box-shadow: 0 0 0 20px rgba(23,63,145,.035); }
    .intro-note p { position: relative; margin: 0; color: var(--blue-ink); font-size: 20px; font-weight: 700; }
    .facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 30px; }
    .fact { padding: 19px 16px; border-top: 1px solid var(--gold); background: rgba(255,255,255,.54); }
    .fact strong { display: block; color: var(--blue); font-size: 24px; }
    .fact span { color: var(--muted); font-size: 14px; }

    .services { position: relative; overflow: hidden; background-color: #fff; background-image: radial-gradient(circle at 1px 1px, rgba(36,84,170,.065) 1px, transparent 0), radial-gradient(circle at 88% 14%, rgba(201,112,67,.085) 0 88px, transparent 89px); background-size: 28px 28px, auto; }
    .services::before { content: ""; position: absolute; width: 210px; height: 210px; left: -142px; bottom: 10%; border: 1px solid rgba(210,173,101,.18); transform: rotate(45deg); box-shadow: 0 0 0 26px rgba(210,173,101,.035); animation: geometry-drift 17s ease-in-out -5s infinite alternate; pointer-events: none; }
    .services .container { position: relative; }
    .service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
    .service-card { min-height: 225px; padding: 26px 25px; border: 1px solid var(--line); border-radius: 17px; background: white; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
    .service-card:hover { transform: translateY(-4px); border-color: rgba(23,63,145,.27); box-shadow: 0 14px 32px rgba(23,43,76,.08); }
    .service-icon { width: 47px; height: 47px; display: grid; place-items: center; border-radius: 14px; color: var(--blue); background: #e9eef9; }
    .service-card:nth-child(3n + 2) .service-icon { color: #a95332; background: #f8e9df; }
    .service-card:nth-child(3n) .service-icon { color: #536a5a; background: #e8eee9; }
    .service-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
    .service-card h3 { margin: 18px 0 7px; color: var(--blue-ink); font-size: 20px; }
    .service-card p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.8; }

    .work { color: white; background: linear-gradient(118deg, #10264d 0%, #1a355f 58%, #493229 130%); }
    .work .eyebrow { color: #e7cc8e; }
    .work .section-heading h2 { color: white; }
    .work .section-heading p { color: rgba(255,255,255,.73); }
    .work-filters { display: flex; flex-wrap: wrap; gap: 9px; margin: -7px 0 25px; }
    .work-filter { min-height: 42px; padding: 9px 17px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; color: rgba(255,255,255,.8); background: rgba(255,255,255,.07); font: inherit; font-size: 14px; cursor: pointer; transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease; }
    .work-filter:hover { transform: translateY(-1px); border-color: rgba(231,204,142,.7); color: white; }
    .work-filter[aria-pressed="true"] { border-color: var(--gold); color: var(--blue-ink); background: var(--gold); }
    .work-grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-flow: dense; gap: 18px; align-items: stretch; }
    .work-card { position: relative; min-height: 330px; overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: 18px; background: #22324d; }
    .work-card[hidden] { display: none; }
    .work-card img { width: 100%; height: 100%; min-height: 330px; object-fit: cover; transition: transform .5s ease; }
    .work-card:hover img { transform: scale(1.035); }
    .work-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,19,40,.88), transparent 62%); }
    .work-caption { position: absolute; z-index: 1; right: 23px; bottom: 20px; left: 20px; }
    .work-caption span { color: #e5c881; font-size: 13px; }
    .work-caption h3 { margin: 5px 0 0; font-size: 22px; }
    .work-note { margin-top: 21px; color: rgba(255,255,255,.63); font-size: 13px; }

    #process { position: relative; overflow: hidden; background: radial-gradient(circle at 8% 90%, rgba(36,84,170,.075), transparent 24%), linear-gradient(140deg, rgba(255,255,255,.42), rgba(232,221,202,.24)); }
    #process::after { content: ""; position: absolute; width: 260px; height: 260px; top: 30px; left: -170px; border: 1px solid rgba(201,112,67,.12); border-radius: 50%; box-shadow: 0 0 0 34px rgba(201,112,67,.025), 0 0 0 68px rgba(36,84,170,.018); animation: geometry-float 16s ease-in-out infinite alternate; pointer-events: none; }
    #process .container { position: relative; z-index: 1; }
    .process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border: 1px solid rgba(225,216,202,.86); border-radius: 18px; overflow: hidden; background: rgba(255,255,255,.48); box-shadow: 0 20px 55px rgba(31,48,77,.045); backdrop-filter: blur(7px); }
    .process-step { position: relative; padding: 26px 24px 31px; }
    .process-step + .process-step { border-right: 1px solid var(--line); }
    .process-number { color: #876329; font-size: 14px; font-weight: 700; letter-spacing: .12em; }
    .process-step h3 { margin: 20px 0 7px; color: var(--blue-ink); font-size: 21px; }
    .process-step p { margin: 0; color: var(--muted); font-size: 15px; }

    .contact { position: relative; overflow: hidden; padding: 88px 0; background: linear-gradient(135deg, #eadfce 0%, #f5eee4 54%, #e7ecf4 120%); }
    .contact::before { content: ""; position: absolute; width: 330px; height: 330px; left: -170px; bottom: -170px; border: 1px solid rgba(77,53,45,.11); border-radius: 50%; box-shadow: 0 0 0 35px rgba(77,53,45,.025), 0 0 0 70px rgba(77,53,45,.018); }
    .contact-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 60px; align-items: start; }
    .contact-copy h2 { margin: 13px 0 12px; color: var(--blue-ink); font-size: clamp(33px, 4vw, 48px); line-height: 1.35; }
    .contact-copy > p { margin: 0; color: var(--muted); font-size: 17px; }
    .contact-details { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; margin-top: 30px; }
    .contact-detail { min-height: 64px; display: flex; align-items: center; gap: 12px; padding: 11px 13px; border: 1px solid rgba(36,84,170,.10); border-radius: 13px; color: var(--blue-deep); background: rgba(255,255,255,.42); font-weight: 700; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
    .contact-detail:hover { transform: translateY(-2px); border-color: rgba(36,84,170,.28); background: rgba(255,255,255,.78); }
    .contact-detail svg { width: 23px; height: 23px; flex: 0 0 23px; fill: none; stroke: var(--gold); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    .contact-detail-copy { display: grid; line-height: 1.35; }
    .contact-detail-copy small { color: var(--muted); font-size: 11px; font-weight: 600; }
    .contact-detail-copy span { font-size: 13px; direction: ltr; text-align: right; }
    .contact-detail--wide { grid-column: 1 / -1; }
    .quote-form { padding: clamp(24px, 4vw, 39px); border: 1px solid #e3ded1; border-radius: 20px; background: white; box-shadow: 0 18px 55px rgba(29,43,69,.07); }
    .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
    .field { display: grid; gap: 7px; }
    .field--full { grid-column: 1 / -1; }
    .field label { color: #333b49; font-size: 14px; font-weight: 700; }
    .field input, .field select, .field textarea { width: 100%; min-height: 50px; padding: 11px 13px; border: 1px solid #dcdfe5; border-radius: 10px; outline: none; color: var(--ink); background: #fcfcfb; }
    .field textarea { min-height: 115px; resize: vertical; }
    .field input:focus, .field select:focus, .field textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(23,63,145,.11); }
    .form-submit { width: 100%; margin-top: 20px; border: 0; }
    .form-note { margin: 12px 0 0; color: #6b7079; font-size: 13px; text-align: center; }
    .form-note a { color: var(--blue); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
    .site-footer { position: relative; overflow: hidden; padding: 30px 0; color: rgba(47,34,29,.78); background: linear-gradient(120deg, #dfd1c5, #cdb9aa); }
    .site-footer::before { content: ""; position: absolute; width: 180px; height: 180px; right: -105px; top: -115px; border: 1px solid rgba(255,255,255,.13); transform: rotate(38deg); box-shadow: 0 0 0 25px rgba(255,255,255,.025); animation: geometry-drift 18s ease-in-out -7s infinite alternate; }
    @keyframes geometry-drift { to { transform: translate3d(18px, -12px, 0) rotate(49deg); } }
    @keyframes geometry-float { to { transform: translate3d(22px, 15px, 0) scale(1.035); } }
    .footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
    .footer-brand { display: inline-flex; align-items: center; padding: 9px 16px; border: 1px solid rgba(255,255,255,.20); border-radius: 13px; color: var(--walnut-deep); background: rgba(255,252,246,.13); box-shadow: 0 9px 24px rgba(71,50,41,.08); backdrop-filter: blur(4px); }
    .footer-brand img { width: 150px; height: auto; object-fit: contain; }
    .footer-copy { margin: 0; font-size: 13px; }
    .footer-links { display: flex; flex-wrap: wrap; gap: 18px; font-size: 13px; }
    .footer-links a:hover { color: var(--blue-ink); }

    @media (max-width: 920px) {
      .header-inner { min-height: 74px; }
      .main-nav { gap: 15px; }
      .main-nav a { font-size: 14px; }
      .header-cta { display: none; }
      .hero-card { min-height: 470px; }
      .hero-photo img { min-height: 470px; }
      .service-grid { grid-template-columns: repeat(2, 1fr); }
      .work-grid { grid-template-columns: 1fr 1fr; }
      .contact-layout { gap: 34px; }
    }
    @media (max-width: 680px) {
      body { font-size: 16px; }
      .container { width: min(100% - 30px, 540px); }
      .section { padding: 68px 0; }
      .section-heading { margin-bottom: 28px; }
      .section-heading p { font-size: 16px; }
      .header-inner { min-height: 68px; }
      .brand img { width: 48px; height: 31px; }
      .brand-copy strong { font-size: 17px; }
      .menu-toggle { display: grid; place-items: center; }
      .main-nav { position: absolute; top: calc(100% + 1px); right: 0; left: 0; display: none; align-items: stretch; gap: 0; padding: 9px 15px 15px; border-bottom: 1px solid var(--line); background: #fbfaf7; box-shadow: 0 16px 22px rgba(14,30,58,.09); }
      .main-nav.is-open { display: flex; flex-direction: column; }
      .main-nav a { padding: 12px 10px; border-bottom: 1px solid #eeece6; font-size: 16px; }
      .main-nav a:last-child { border-bottom: 0; }
      .hero { padding-top: 15px; padding-bottom: 32px; }
      .hero-card { display: flex; flex-direction: column; border-radius: 22px; }
      .hero-copy { order: 1; padding: 29px 25px 32px; }
      .hero h1 { margin: 17px 0 11px; font-size: clamp(39px, 11vw, 55px); }
      .hero-lede { font-size: 16px; }
      .hero-actions { width: 100%; margin-top: 23px; }
      .hero-actions .button { flex: 1; padding-inline: 13px; font-size: 14px; }
      .hero-photo { order: 0; height: clamp(290px, 82vw, 335px); min-height: clamp(290px, 82vw, 335px); }
      .hero-slide { height: 100%; min-height: 100%; }
      .hero-slide.is-active[data-motion="zoom-out"] { animation-name: hero-mobile-zoom-out; }
      .hero-slide.is-active[data-motion="zoom-in"] { animation-name: hero-mobile-zoom-in; }
      .hero-slide.is-active[data-motion="pan-left"] { animation-name: hero-mobile-pan-left; }
      .hero-slide.is-active[data-motion="pan-right"] { animation-name: hero-mobile-pan-right; }
      .photo-label { right: 14px; bottom: 13px; padding: 8px 12px; font-size: 12px; }
      .carousel-nav { left: 12px; bottom: 11px; }
      .carousel-button { width: 35px; height: 35px; }
      .carousel-count { display: none; }
      .hero-foot { align-items: flex-start; flex-direction: column; gap: 7px; margin-top: 13px; font-size: 13px; }
      .intro { padding-top: 25px; }
      .intro-grid { grid-template-columns: 1fr; gap: 24px; }
      .intro-copy h2 { font-size: 34px; }
      .intro-copy p { font-size: 16px; }
      .intro-note { padding: 25px; }
      .intro-note p { font-size: 18px; }
      .facts { gap: 8px; margin-top: 19px; }
      .fact { padding: 14px 10px; }
      .fact strong { font-size: 20px; }
      .fact span { font-size: 12px; }
      .service-grid { grid-template-columns: 1fr; gap: 12px; }
      .service-card { min-height: 0; padding: 20px; }
      .service-card h3 { margin-top: 13px; font-size: 19px; }
      .work-grid { grid-template-columns: 1fr; gap: 13px; }
      .work-filters { gap: 7px; margin-bottom: 20px; }
      .work-filter { flex: 1 0 auto; min-height: 40px; padding: 8px 13px; font-size: 13px; }
      .work-card, .work-card img { min-height: 285px; }
      .work-note { font-size: 12px; }
      .process-grid { grid-template-columns: 1fr 1fr; }
      .process-step { padding: 20px 15px 24px; }
      .process-step + .process-step { border-right: 0; }
      .process-step:nth-child(even) { border-right: 1px solid var(--line); }
      .process-step:nth-child(n+3) { border-top: 1px solid var(--line); }
      .process-step h3 { margin-top: 13px; font-size: 18px; }
      .process-step p { font-size: 14px; }
      .contact { padding: 67px 0; }
      .contact-layout { grid-template-columns: 1fr; gap: 26px; }
      .contact-copy h2 { font-size: 35px; }
      .contact-copy > p { font-size: 16px; }
      .contact-details { margin-top: 19px; }
      .contact-details { grid-template-columns: 1fr; }
      .contact-detail--wide { grid-column: auto; }
      .quote-form { padding: 22px 17px; }
      .form-grid { grid-template-columns: 1fr; gap: 13px; }
      .field--full { grid-column: auto; }
      .field label { font-size: 14px; }
      .field input, .field select, .field textarea { font-size: 16px; }
      .footer-inner { align-items: flex-start; flex-direction: column; gap: 15px; }
      .footer-links { gap: 13px; }
    }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
      .hero-card, .hero-card::before { animation: none !important; }
      .hero-slide { transform: none; }
      .js .type-text { clip-path: none !important; }
      .type-caret { display: none; }
    }

    /* V2 refinement layer — preserves the approved design language while adding depth and precision. */
    .site-header {
      box-shadow: 0 8px 32px rgba(24,47,95,.045);
    }
    .brand img {
      width: 64px;
      height: 42px;
    }
    .main-nav a {
      position: relative;
      padding-block: 8px;
    }
    .main-nav a::after {
      content: "";
      position: absolute;
      right: 0;
      bottom: 1px;
      width: 0;
      height: 2px;
      border-radius: 2px;
      background: linear-gradient(90deg, var(--gold), var(--copper));
      transition: width .22s ease;
    }
    .main-nav a:hover::after { width: 100%; }

    .hero-card {
      box-shadow: 0 30px 90px rgba(39,35,48,.20), 0 2px 0 rgba(255,255,255,.32) inset;
    }
    .hero-photo::before {
      content: "";
      position: absolute;
      z-index: 2;
      inset: 18px;
      border: 1px solid rgba(255,255,255,.16);
      border-radius: 20px;
      pointer-events: none;
    }
    .hero-foot {
      padding-inline: 4px;
    }

    .intro-note {
      box-shadow: 0 22px 55px rgba(74,55,43,.07);
    }
    .fact {
      transition: transform .22s ease, background .22s ease;
    }
    .fact:hover {
      transform: translateY(-3px);
      background: rgba(255,255,255,.82);
    }

    .service-card {
      box-shadow: 0 8px 24px rgba(31,48,77,.035);
    }
    .service-icon {
      box-shadow: 0 7px 18px rgba(36,84,170,.08);
    }

    .work-card {
      box-shadow: 0 18px 46px rgba(4,14,34,.20);
    }
    .work-card::before {
      content: "";
      position: absolute;
      z-index: 1;
      inset: 0;
      border: 1px solid rgba(255,255,255,.08);
      border-radius: inherit;
      pointer-events: none;
    }
    .work-caption { z-index: 2; }

    .process-step {
      transition: background .22s ease, transform .22s ease;
    }
    .process-step:hover {
      z-index: 1;
      background: rgba(255,255,255,.88);
      transform: translateY(-3px);
    }

    .quote-form {
      box-shadow: 0 28px 75px rgba(12,32,67,.15);
    }
    .contact-detail {
      transition: transform .2s ease, background .2s ease, border-color .2s ease;
    }
    .contact-detail:hover {
      transform: translateY(-2px);
    }

    #about, #services, #work, #process, #contact { scroll-margin-top: 92px; }
    a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
      outline: 3px solid rgba(197,158,78,.72);
      outline-offset: 3px;
    }

    .whatsapp-float {
      position: fixed !important;
      z-index: 99999 !important;
      right: 22px !important;
      left: auto !important;
      bottom: 22px !important;
      width: 58px;
      height: 58px;
      min-height: 58px;
      display: flex !important;
      align-items: center;
      justify-content: center;
      padding: 0;
      border: 3px solid #fff;
      border-radius: 50%;
      background: #25D366 !important;
      color: #fff !important;
      box-shadow: 0 10px 28px rgba(0,0,0,.24);
      transition: transform .2s ease, box-shadow .2s ease;
    }
    .whatsapp-float:hover {
      transform: translateY(-3px) scale(1.04);
      box-shadow: 0 14px 34px rgba(0,0,0,.28);
    }
    .whatsapp-float svg {
      width: 31px;
      height: 31px;
      fill: currentColor;
      stroke: none;
    }
    .whatsapp-float span { display: none; }
    .wpvibe-preview-active body { padding-bottom: var(--preview-banner-height, 90px); }
    .wpvibe-preview-active .whatsapp-float { bottom: calc(var(--preview-banner-height, 90px) + 14px) !important; }
    .quote-form-visible .whatsapp-float { display: none !important; }
    #phone-help { display: block; color: var(--muted); font-size: 12px; line-height: 1.7; margin-top: 5px; }

    @media (max-width: 760px) {
      .brand img { width: 56px; height: 38px; }
      .hero-photo::before { inset: 10px; border-radius: 16px; }
      .hero-card { box-shadow: 0 20px 55px rgba(39,35,48,.17); }
      .whatsapp-float {
        right: 14px !important;
        left: auto !important;
        bottom: calc(14px + env(safe-area-inset-bottom)) !important;
        width: 56px;
        height: 56px;
        min-height: 56px;
        -webkit-transform: translate3d(0,0,1px);
        transform: translate3d(0,0,1px);
      }
      .wpvibe-preview-active .whatsapp-float {
        bottom: calc(var(--preview-banner-height, 160px) + 14px + env(safe-area-inset-bottom)) !important;
      }
    }
