/* =========================================================
   NIKUNJA BANQUET — GLOSSY SERVICE THEME v5
   TRUE left-to-right form + hidden-by-default modal
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700;800&family=Lato:wght@400;500;600;700;800;900&display=swap');

.svc-page * { box-sizing: border-box; }

.svc-page {
    font-family: 'Lato', sans-serif;
    font-weight: 500;
    letter-spacing: .2px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    position: relative;
    overflow: hidden;
    min-height: 100vh;
    padding-bottom: 40px;
    --c1:#ff3d8a; --c2:#ff7eb3; --c3:#ffb86b;
    --glow:rgba(255,90,160,.50); --glow2:rgba(255,180,120,.35);
    --card-bg:rgba(60,10,40,.55); --card-border:rgba(255,140,190,.40);
    --text-bright:#fff; --text-body:#ffeaf3;
    background-color:#1a0415;
    background-image:
        radial-gradient(circle at 12% 8%,  rgba(255,90,160,.35), transparent 42%),
        radial-gradient(circle at 88% 22%, rgba(255,180,120,.28), transparent 45%),
        radial-gradient(circle at 50% 90%, rgba(255,60,130,.25), transparent 55%),
        linear-gradient(150deg, #2a041c 0%, #3d0a2a 45%, #1c0415 100%);
    background-attachment:fixed;
    color:var(--text-body);
}
.svc-theme-florist {
    --c1:#ff3d8a; --c2:#ff7eb3; --c3:#ffb86b;
    --glow:rgba(255,90,160,.50); --glow2:rgba(255,180,120,.35);
    --card-bg:rgba(60,10,40,.55); --card-border:rgba(255,140,190,.40);
    --text-bright:#fff; --text-body:#ffeaf3;
    background-color:#1a0415;
    background-image:
        radial-gradient(circle at 12% 8%,  rgba(255,90,160,.35), transparent 42%),
        radial-gradient(circle at 88% 22%, rgba(255,180,120,.28), transparent 45%),
        radial-gradient(circle at 50% 90%, rgba(255,60,130,.25), transparent 55%),
        linear-gradient(150deg, #2a041c 0%, #3d0a2a 45%, #1c0415 100%);
    background-attachment:fixed;
}
.svc-theme-makeover {
    --c1:#a06bff; --c2:#d29bff; --c3:#ffd15c;
    --glow:rgba(180,110,255,.55); --glow2:rgba(255,210,90,.35);
    --card-bg:rgba(35,10,70,.60); --card-border:rgba(200,150,255,.45);
    --text-bright:#fff; --text-body:#eee1ff;
    background-color:#0e0420;
    background-image:
        radial-gradient(circle at 15% 10%, rgba(170,90,255,.40), transparent 45%),
        radial-gradient(circle at 85% 20%, rgba(255,210,90,.24), transparent 50%),
        radial-gradient(circle at 50% 90%, rgba(140,60,220,.30), transparent 55%),
        linear-gradient(150deg, #14062c 0%, #220a45 45%, #0e0420 100%);
    background-attachment:fixed;
}
.svc-theme-photo {
    --c1:#17d4e0; --c2:#4fc3ff; --c3:#7ce7ff;
    --glow:rgba(60,200,255,.55); --glow2:rgba(80,240,220,.35);
    --card-bg:rgba(5,35,55,.65); --card-border:rgba(90,200,255,.40);
    --text-bright:#fff; --text-body:#e0f6ff;
    background-color:#01080f;
    background-image:
        radial-gradient(circle at 12% 10%, rgba(60,200,255,.40), transparent 45%),
        radial-gradient(circle at 88% 25%, rgba(80,240,220,.28), transparent 50%),
        radial-gradient(circle at 50% 90%, rgba(30,120,220,.35), transparent 55%),
        linear-gradient(150deg, #02121f 0%, #062a42 45%, #01080f 100%);
    background-attachment:fixed;
}

.svc-page::before,
.svc-page::after {
    content:""; position:absolute; border-radius:50%;
    pointer-events:none; filter:blur(30px);
}
.svc-page::before {
    width:560px; height:560px;
    background:radial-gradient(circle, var(--glow), transparent 70%);
    top:280px; left:-280px;
}
.svc-page::after {
    width:480px; height:480px;
    background:radial-gradient(circle, var(--glow2), transparent 70%);
    right:-240px; top:720px;
}

.svc-page .svc-wrap {
    position:relative; z-index:2;
    max-width:1280px; margin:0 auto; padding:0 24px;
}
.svc-page .svc-sec { position:relative; padding:20px 0; }

/* SLIDESHOW */
.svc-page .page-banner {
    position:relative !important;
    width:100% !important; height:220px !important;
    min-height:220px !important; max-height:220px !important;
    overflow:hidden !important; background:#000 !important;
    isolation:isolate;
    box-shadow:0 14px 50px rgba(0,0,0,.65), 0 0 0 1px var(--card-border);
}
.svc-page .page-banner .slide {
    position:absolute !important; inset:0 !important;
    width:100% !important; height:100% !important;
    opacity:0 !important; visibility:hidden !important;
    transform:scale(1.05);
    transition:opacity 1.1s ease, transform 5s ease;
    z-index:1 !important;
}
.svc-page .page-banner .slide.on {
    opacity:1 !important; visibility:visible !important;
    transform:scale(1) !important; z-index:2 !important;
}
.svc-page .page-banner .slide img {
    width:100% !important; height:100% !important;
    object-fit:cover !important; object-position:center 30% !important;
    filter:brightness(.9) saturate(1.25) contrast(1.08);
}
.svc-page .page-banner::after {
    content:"" !important; position:absolute !important;
    inset:0 !important; z-index:4 !important; pointer-events:none;
    background:
        linear-gradient(90deg, rgba(0,0,0,.55) 0%, transparent 55%, rgba(0,0,0,.30) 100%),
        linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.55)) !important;
}
.svc-page .page-banner::before {
    content:""; position:absolute; z-index:5; top:0; left:-35%;
    width:30%; height:100%; transform:skewX(-18deg);
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.25), transparent);
    animation:glossSweep 8s ease-in-out infinite; pointer-events:none;
}
@keyframes glossSweep {
    0%{left:-35%;opacity:0;} 15%{opacity:1;}
    45%{left:110%;opacity:0;} 100%{left:110%;opacity:0;}
}

/* HEADINGS */
.svc-page .svc-head { position:relative; margin-bottom:14px; text-align:center; }
.svc-page .svc-head h1,
.svc-page .svc-head h2 {
    font-family:'Playfair Display', Georgia, serif !important;
    font-weight:800; font-size:2.4rem;
    background:linear-gradient(90deg, var(--c1), var(--c2), var(--c3), var(--c1));
    background-size:300% auto;
    -webkit-background-clip:text; background-clip:text;
    -webkit-text-fill-color:transparent;
    animation:headingShine 5s ease-in-out infinite;
    letter-spacing:.5px;
    filter:drop-shadow(0 0 22px var(--glow));
}
@keyframes headingShine {
    0%,100%{background-position:0% center;}
    50%{background-position:100% center;}
}
.svc-page .svc-head .hi {
    display:inline-flex; align-items:center; justify-content:center;
    width:56px; height:56px; border-radius:50%;
    background:linear-gradient(135deg, var(--c1), var(--c2), var(--c3));
    box-shadow:0 10px 30px var(--glow), inset 0 2px 3px rgba(255,255,255,.55);
    margin-bottom:8px; color:#fff;
}
.svc-page .svc-head .hi svg {
    width:28px; height:28px; stroke:#fff; stroke-width:1.9; fill:none;
}

/* BODY TEXT */
.svc-page .svc-lede {
    max-width:820px; margin:0 auto 18px; text-align:center;
    font-family:'Playfair Display', Georgia, serif;
    font-size:1.4rem; line-height:1.55; font-weight:600;
    color:var(--text-bright);
    text-shadow:0 0 20px var(--glow), 0 0 40px var(--glow), 0 2px 6px rgba(0,0,0,.65);
}
.svc-page .svc-body {
    max-width:1100px; margin:0 auto 18px;
    display:grid; grid-template-columns:1fr 1fr;
    gap:26px; text-align:left;
}
.svc-page .svc-body p {
    color:var(--text-bright);
    line-height:1.8; font-size:1rem; font-weight:500;
    margin:0; padding:16px 18px; border-radius:14px;
    background:rgba(255,255,255,.05);
    border-left:3px solid var(--c2);
    text-shadow:0 1px 3px rgba(0,0,0,.55), 0 0 12px var(--glow);
    box-shadow:0 6px 20px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
}
.svc-page .svc-body p:last-child { border-left-color:var(--c3); }

/* FEATURE CARDS */
.svc-page .feat {
    display:grid; grid-template-columns:repeat(5,1fr);
    gap:16px; margin-top:18px;
}
.svc-page .feat .card {
    position:relative; overflow:hidden; min-height:200px;
    padding:26px 16px 20px; border-radius:20px;
    border:1px solid var(--card-border);
    background:var(--card-bg);
    box-shadow:0 14px 40px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.10);
    text-align:center;
    transition:transform .4s ease, box-shadow .4s ease, border-color .4s ease;
    isolation:isolate;
    backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
}
.svc-page .feat .card::before {
    content:""; position:absolute; inset:0; z-index:0;
    background:
        radial-gradient(circle at 30% 10%, color-mix(in srgb, var(--c1) 30%, transparent), transparent 65%),
        radial-gradient(circle at 90% 90%, color-mix(in srgb, var(--c3) 25%, transparent), transparent 60%);
    pointer-events:none;
}
.svc-page .feat .card::after {
    content:""; position:absolute; top:0; left:-120%;
    width:70%; height:100%; transform:skewX(-20deg);
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
    transition:left .8s ease; z-index:2; pointer-events:none;
}
.svc-page .feat .card:hover::after { left:140%; }
.svc-page .feat .card:hover {
    transform:translateY(-8px);
    border-color:var(--c2);
    box-shadow:0 22px 55px var(--glow), 0 6px 20px rgba(0,0,0,.5);
}
.svc-page .feat .card .hi {
    position:relative; z-index:3;
    display:inline-flex; width:60px; height:60px;
    align-items:center; justify-content:center;
    margin-bottom:14px; border-radius:50%;
    background:linear-gradient(135deg, var(--c1), var(--c2), var(--c3));
    color:#fff;
    box-shadow:0 8px 24px var(--glow), inset 0 2px 3px rgba(255,255,255,.55);
}
.svc-page .feat .card .hi svg {
    width:28px; height:28px; stroke:#fff; stroke-width:1.9; fill:none;
}
.svc-page .feat .card h6 {
    position:relative; z-index:3;
    font-family:'Playfair Display', Georgia, serif;
    font-size:1.05rem; color:#fff;
    margin:0 0 8px;
    text-shadow:0 2px 8px rgba(0,0,0,.75); font-weight:700;
}
.svc-page .feat .card p {
    position:relative; z-index:3; margin:0;
    color:#f5f0fa; font-size:.86rem; line-height:1.6;
    text-shadow:0 1px 6px rgba(0,0,0,.85); font-weight:500;
}

/* =========================================================
   FORM — TRUE LEFT TO RIGHT (FLEXBOX, NO WRAP on desktop)
   ========================================================= */
.svc-page .form-card {
    position:relative; overflow:hidden;
    display:block !important;
    float:none !important;
    width:100% !important; max-width:none !important;
    padding:26px 30px 28px !important;
    border-radius:24px !important;
    border:2px solid rgba(255,255,255,.65) !important;
    background:linear-gradient(135deg, #ffffff 0%, #fdf6ff 55%, #fff3fb 100%) !important;
    box-shadow:
        0 22px 65px rgba(0,0,0,.55),
        0 0 0 1px rgba(255,255,255,.10),
        inset 0 2px 3px rgba(255,255,255,.9);
    color:#1a0b28;
    margin:0 !important;
}
.svc-page #enquirySection .svc-wrap { display:block; width:100%; }
.svc-page .form-card::before {
    content:""; position:absolute; top:-130px; right:-90px;
    width:300px; height:300px; border-radius:50%;
    background:radial-gradient(circle, color-mix(in srgb, var(--c1) 35%, transparent), transparent 70%);
    pointer-events:none;
}
.svc-page .form-card::after {
    content:""; position:absolute; bottom:-150px; left:-110px;
    width:320px; height:320px; border-radius:50%;
    background:radial-gradient(circle, color-mix(in srgb, var(--c3) 30%, transparent), transparent 70%);
    pointer-events:none;
}

/* Form heading — LEFT aligned */
.svc-page .form-card .form-head {
    position:relative; z-index:2;
    display:flex; align-items:center; gap:14px;
    margin-bottom:6px;
    text-align:left;
}
.svc-page .form-card .form-head .hi {
    display:inline-flex; width:50px; height:50px;
    align-items:center; justify-content:center; flex-shrink:0;
    border-radius:50%;
    background:linear-gradient(135deg, var(--c1), var(--c2));
    color:#fff;
    box-shadow:0 8px 22px var(--glow), inset 0 1px 2px rgba(255,255,255,.6);
}
.svc-page .form-card .form-head .hi svg { width:24px; height:24px; stroke:#fff; stroke-width:2; fill:none; }
.svc-page .form-card .form-head h2 {
    font-family:'Playfair Display', Georgia, serif;
    font-size:1.8rem; font-weight:800; margin:0;
    background:linear-gradient(90deg, var(--c1), var(--c2), var(--c3));
    -webkit-background-clip:text; background-clip:text;
    -webkit-text-fill-color:transparent;
    filter:drop-shadow(0 2px 8px var(--glow));
}
.svc-page .form-card > p.form-sub {
    position:relative; z-index:2;
    text-align:left;
    color:#5a4a6e; margin:0 0 20px 64px;
    font-size:.95rem; font-weight:600;
}

/* THE FORM — full-width grid, fields run LEFT → RIGHT across the whole card */
.svc-page .form-card form {
    position:relative; z-index:2;
    display:grid !important;
    grid-template-columns:1fr 1fr 1.1fr 1.8fr auto !important;
    align-items:stretch !important;
    gap:12px !important;
    float:none !important;
    margin:0 !important; padding:0 !important;
    width:100% !important; max-width:none !important;
}
.svc-page .form-card form .f {
    display:block !important;
    float:none !important;
    grid-column:auto !important;
    width:100% !important; max-width:none !important;
    min-width:0 !important;
    height:54px;
    padding:12px 16px;
    border-radius:13px;
    border:2px solid #e6d8f5;
    background:#ffffff;
    color:#1a0b28;
    font-family:'Lato', sans-serif;
    font-size:.94rem; font-weight:600;
    box-shadow:inset 0 2px 6px rgba(100,40,160,.05), 0 2px 8px rgba(60,20,100,.06);
    transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease;
    margin:0 !important;
}
.svc-page .form-card form textarea.f {
    height:54px; min-height:54px;
    resize:none;
    padding-top:16px;
    font-family:'Lato', sans-serif;
}
.svc-page .form-card form .f::placeholder { color:#a395b3; font-weight:500; }
.svc-page .form-card form .f:focus {
    outline:none; border-color:var(--c1); background:#fff;
    box-shadow:0 0 0 5px color-mix(in srgb, var(--c1) 22%, transparent), 0 8px 22px var(--glow);
    transform:translateY(-1px);
}
/* submit cell — sits at the end of the row, LEFT-aligned inside */
.svc-page .form-card form .submit-cell {
    grid-column:auto !important;
    display:flex;
    align-items:stretch;
    justify-content:flex-start;
    margin:0 !important; padding:0 !important; width:auto !important;
}
.svc-page .form-card form .btn {
    height:54px;
    min-width:160px;
    padding:0 28px;
    border:0; border-radius:30px;
    background:linear-gradient(135deg, var(--c1), var(--c2), var(--c3));
    background-size:200% auto;
    color:#fff;
    font-family:'Lato', sans-serif;
    font-size:.84rem; font-weight:900;
    text-transform:uppercase; letter-spacing:.9px;
    cursor:pointer;
    box-shadow:0 10px 26px var(--glow), inset 0 1px 2px rgba(255,255,255,.5);
    transition:transform .25s ease, box-shadow .25s ease, background-position .5s ease;
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    white-space:nowrap;
}
.svc-page .form-card form .btn:hover {
    transform:translateY(-3px);
    background-position:100% center;
    box-shadow:0 16px 36px var(--glow);
}
.svc-page .form-card form .btn:disabled { opacity:.65; cursor:wait; transform:none; }
.svc-page .form-card form .btn svg {
    width:18px; height:18px; stroke:#fff; stroke-width:2; fill:none;
}
.form-msg {
    position:relative; z-index:2;
    margin-top:14px; padding:10px 14px;
    border-radius:10px; font-size:.9rem; font-weight:600;
    display:none;
}
.form-msg.err { display:block; background:#ffe5e5; color:#a01818; border:1px solid #ffb8b8; }

/* =========================================================
   MODAL THANK-YOU — HIDDEN BY DEFAULT (bulletproof)
   ========================================================= */
.svc-page .ty-modal,
div.ty-modal,
.ty-modal,
#tyModal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    display: none !important;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(6,2,14,.80);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .3s ease, visibility .3s ease;
    margin: 0 !important;
    border: 0 !important;
}
.svc-page .ty-modal.show,
div.ty-modal.show,
.ty-modal.show,
#tyModal.show {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    animation: tyFade .35s ease;
}
@keyframes tyFade { from{opacity:0;} to{opacity:1;} }

.ty-card {
    position:relative;
    max-width:520px; width:100%;
    padding:44px 36px 36px;
    border-radius:26px;
    background:linear-gradient(150deg, #ffffff 0%, #fbf4ff 60%, #fff3fb 100%);
    border:2px solid rgba(255,255,255,.9);
    box-shadow:
        0 30px 90px rgba(0,0,0,.75),
        0 0 0 1px rgba(255,255,255,.20),
        inset 0 2px 3px rgba(255,255,255,.9);
    text-align:center;
    color:#1a0b28;
    animation:tyPop .5s cubic-bezier(.34,1.56,.64,1);
}
@keyframes tyPop {
    0% { transform:scale(.85); opacity:0; }
    100% { transform:scale(1); opacity:1; }
}
.ty-card::before {
    content:""; position:absolute; top:-100px; right:-80px;
    width:260px; height:260px; border-radius:50%;
    background:radial-gradient(circle, rgba(200,100,255,.22), transparent 70%);
    pointer-events:none;
}
.ty-card::after {
    content:""; position:absolute; bottom:-120px; left:-90px;
    width:280px; height:280px; border-radius:50%;
    background:radial-gradient(circle, rgba(255,120,180,.18), transparent 70%);
    pointer-events:none;
}
.ty-check {
    position:relative; z-index:2;
    display:inline-flex; width:80px; height:80px;
    background:linear-gradient(135deg,#7a2fd6,#c44dff,#ff6b9d);
    border-radius:50%; align-items:center; justify-content:center;
    margin-bottom:20px; color:#fff; font-size:38px; font-weight:900;
    box-shadow:0 14px 40px rgba(120,30,200,.45), inset 0 2px 4px rgba(255,255,255,.6);
    animation:tyPulse 2s ease-in-out infinite;
}
@keyframes tyPulse {
    0%,100%{ transform:scale(1); box-shadow:0 14px 40px rgba(120,30,200,.45), inset 0 2px 4px rgba(255,255,255,.6); }
    50%{ transform:scale(1.06); box-shadow:0 20px 55px rgba(120,30,200,.6), inset 0 2px 4px rgba(255,255,255,.6); }
}
.ty-card h3 {
    position:relative; z-index:2;
    font-family:'Playfair Display', Georgia, serif;
    font-size:2.1rem; font-weight:800;
    background:linear-gradient(90deg,#7a2fd6,#c44dff,#ff6b9d);
    -webkit-background-clip:text; background-clip:text;
    -webkit-text-fill-color:transparent;
    margin-bottom:12px;
}
.ty-card p {
    position:relative; z-index:2;
    color:#4a3a5e; font-size:1.05rem; font-weight:500;
    line-height:1.7; margin-bottom:26px;
}
.ty-card .ty-btn {
    position:relative; z-index:2;
    display:inline-flex; align-items:center; gap:8px;
    padding:14px 34px; border:0; border-radius:30px;
    background:linear-gradient(135deg,#7a2fd6,#c44dff,#ff6b9d);
    color:#fff; font-family:'Lato',sans-serif;
    font-size:.85rem; font-weight:900;
    text-transform:uppercase; letter-spacing:1px;
    cursor:pointer;
    box-shadow:0 12px 30px rgba(120,30,200,.45), inset 0 1px 2px rgba(255,255,255,.5);
    transition:transform .25s ease, box-shadow .25s ease;
}
.ty-card .ty-btn:hover {
    transform:translateY(-3px);
    box-shadow:0 18px 40px rgba(120,30,200,.55);
}

/* GALLERY */
.svc-page .gal { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.svc-page .gal a {
    position:relative; display:block; overflow:hidden; height:250px;
    border-radius:20px; border:3px solid var(--card-border); background:#000;
    box-shadow:0 14px 40px rgba(0,0,0,.55), 0 0 0 1px var(--card-border);
}
.svc-page .gal a::after {
    content:""; position:absolute; inset:0;
    background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.15) 50%, transparent 70%);
    transform:translateX(-120%); transition:transform .8s ease; pointer-events:none;
}
.svc-page .gal a:hover::after { transform:translateX(120%); }
.svc-page .gal img {
    width:100%; height:100%; object-fit:cover;
    transition:transform .6s ease, filter .4s ease;
    filter:brightness(.95) saturate(1.15);
}
.svc-page .gal a:hover img { transform:scale(1.09); filter:saturate(1.35) brightness(1.05); }

/* LIGHTBOX */
dialog.lb {
    border:0; padding:0; width:min(92vw,1100px); max-width:1100px;
    background:rgba(8,3,15,.98); border-radius:20px;
    box-shadow:0 30px 100px rgba(0,0,0,.85), 0 0 0 1px rgba(180,130,255,.35);
    overflow:hidden;
}
dialog.lb::backdrop { background:rgba(4,1,10,.90); backdrop-filter:blur(10px); }
dialog.lb #lb-img { display:block; width:100%; max-height:85vh; object-fit:contain; margin:auto; }
.lb-x,.lb-n {
    position:absolute; z-index:10; border:0; cursor:pointer; color:#fff;
    background:rgba(255,255,255,.12); backdrop-filter:blur(10px);
    transition:all .25s ease; border:1px solid rgba(255,255,255,.15);
}
.lb-x { top:14px; right:14px; width:44px; height:44px; border-radius:50%; font-size:26px; display:flex; align-items:center; justify-content:center; }
.lb-n { top:50%; transform:translateY(-50%); width:50px; height:50px; border-radius:50%; font-size:22px; display:flex; align-items:center; justify-content:center; }
.lb-n.prev{left:15px;} .lb-n.next{right:15px;}
.lb-x:hover,.lb-n:hover {
    background:linear-gradient(135deg,#a06bff,#ff6b9d);
    transform:translateY(-50%) scale(1.08); border-color:transparent;
}
.lb-x:hover { transform:scale(1.08); }

/* =========================================================
   RESPONSIVE — form only wraps when the screen is truly narrow
   ========================================================= */
@media(max-width:1100px) {
    .svc-page .feat { grid-template-columns:repeat(3,1fr); }
}
@media(max-width:900px) {
    .svc-page .svc-body { grid-template-columns:1fr; gap:14px; }
    /* name+phone on row 1, email+message on row 2, button on row 3 — full width */
    .svc-page .form-card form {
        grid-template-columns:1fr 1fr !important;
    }
    .svc-page .form-card form .submit-cell {
        grid-column:1 / -1 !important;
        justify-content:flex-start !important;
    }
}
@media(max-width:800px) {
    .svc-page .page-banner { height:180px !important; min-height:180px !important; max-height:180px !important; }
    .svc-page .svc-sec { padding:16px 0; }
    .svc-page .svc-lede { font-size:1.10rem; }
    .svc-page .svc-head h1, .svc-page .svc-head h2 { font-size:1.9rem; }
    .svc-page .feat { grid-template-columns:repeat(2,1fr); }
    .svc-page .form-card { padding:20px 18px !important; }
    .svc-page .form-card form { grid-template-columns:1fr !important; }
    .svc-page .form-card form .f,
    .svc-page .form-card form textarea.f,
    .svc-page .form-card form .submit-cell { grid-column:1 / -1 !important; width:100% !important; }
    .svc-page .form-card form .btn { width:100%; }
    .svc-page .form-card form textarea.f { height: 80px; padding-top: 22px; }
    .svc-page .gal { grid-template-columns:1fr; }
    .svc-page .gal a { height:220px; }
    .ty-card { padding:36px 24px 28px; }
    .ty-card h3 { font-size:1.65rem; }
    .svc-page .form-card .form-head h2 { font-size:1.5rem; }
    .svc-page .form-card > p.form-sub { margin-left:0; }
}
@media(max-width:520px) {
    .svc-page .page-banner { height:150px !important; min-height:150px !important; max-height:150px !important; }
    .svc-page .feat { grid-template-columns:1fr; }
    .svc-page .svc-lede { font-size:1rem; }
    .svc-page .svc-head h1, .svc-page .svc-head h2 { font-size:1.65rem; }
}