@font-face{font-family:"DM Serif Display";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/dm-serif-display-regular.ttf") format("truetype")}
@font-face{font-family:"DM Serif Display";font-style:italic;font-weight:400;font-display:swap;src:url("../fonts/dm-serif-display-italic.ttf") format("truetype")}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/nunito-sans-regular.ttf") format("truetype")}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/nunito-sans-semibold.ttf") format("truetype")}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/nunito-sans-bold.ttf") format("truetype")}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/nunito-sans-extrabold.ttf") format("truetype")}

:root{
  --gk-color-primary:#6f5a94;
  --gk-color-secondary:#5f9fa3;
  --gk-color-background:#fffefa;
  --gk-color-surface:#fbf8f1;
  --gk-color-text:#40384c;
  --gk-color-muted:#6f6877;
  --gk-font-heading:"DM Serif Display",Georgia,serif;
  --gk-font-body:"Nunito Sans",Arial,sans-serif;
  --gk-content-width:1170px;
  --gk-section-spacing:clamp(4.5rem,8vw,7.5rem);
  --gk-button-background:#6f5a94;
  --gk-button-text:#fff;
  --gk-button-padding:.72rem 1.12rem;
  --gk-button-radius:999px;
  --gk-border-radius:28px;
  --lavender:#9883bb;
  --lavender-deep:var(--gk-color-primary);
  --lavender-wash:#f2eef8;
  --teal:#abd3d5;
  --teal-deep:var(--gk-color-secondary);
  --teal-wash:#eef8f7;
  --ink:var(--gk-color-text);
  --muted:var(--gk-color-muted);
  --ivory:var(--gk-color-background);
  --paper:var(--gk-color-surface);
  --line:#e8e0ed;
  --shadow:0 18px 40px rgba(83,67,103,.11);
  --ease:cubic-bezier(.23,1,.32,1)
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px;overflow-x:hidden;background:var(--ivory);color:var(--ink);font-family:var(--gk-font-body);font-size:16px;line-height:1.6}
body::before{position:fixed;inset:0;z-index:-1;background-image:radial-gradient(rgba(111,90,148,.13) .55px,transparent .55px);background-size:7px 7px;content:"";opacity:.13;pointer-events:none}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.18em}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(95,159,163,.72);outline-offset:3px}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3,h4{font-family:var(--gk-font-heading);font-weight:400;letter-spacing:-.035em;text-wrap:balance}
p,li,figcaption{orphans:2;widows:2;text-wrap:pretty}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-7rem;left:1rem;z-index:90;padding:.75rem 1rem;border-radius:8px;background:var(--lavender-deep);color:#fff;font-weight:800}
.skip-link:focus{top:1rem}
.container{width:min(var(--gk-content-width),calc(100% - 40px));margin-inline:auto}
.content-narrow{max-width:840px}
.section{padding-block:var(--gk-section-spacing)}
.section--paper{background:var(--paper)}
.section--lavender{background:var(--lavender-wash)}
.eyebrow{display:inline-flex;align-items:center;gap:.58rem;margin-bottom:.35rem;color:var(--lavender-deep);font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.eyebrow::before{width:.55rem;height:.55rem;border-radius:1px;background:var(--teal-deep);content:"";transform:rotate(45deg);pointer-events:none}
.eyebrow--light{color:var(--teal)}
.eyebrow--light::before{background:var(--teal)}
.section-title{max-width:700px;margin:.5rem 0 0;color:var(--lavender-deep);font-size:clamp(2.45rem,5vw,4.5rem);line-height:.98}
.section-copy{max-width:680px;margin:1.1rem 0 0;color:var(--muted);font-size:1.06rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:var(--gk-button-padding);border:1px solid transparent;border-radius:var(--gk-button-radius);font-size:.92rem;font-weight:800;text-decoration:none;transition:transform 160ms var(--ease),box-shadow 160ms var(--ease),background 160ms var(--ease)}
.button:hover{transform:translateY(-2px)}
.button:active{transform:scale(.98)}
.button--primary{background:var(--gk-button-background);color:var(--gk-button-text);box-shadow:0 10px 22px rgba(111,90,148,.22)}
.button--primary:hover{background:#5c477f;box-shadow:0 14px 28px rgba(111,90,148,.3)}
.button--teal{background:var(--teal);color:#315f63;box-shadow:0 10px 22px rgba(95,159,163,.18)}
.button--quiet{border-color:rgba(111,90,148,.25);background:rgba(255,255,255,.78);color:var(--lavender-deep)}
.button-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.7rem}
.text-link{color:var(--lavender-deep);font-size:.93rem;font-weight:800;text-decoration:none}
.text-link::after{margin-left:.45rem;content:"→"}

.site-header{position:sticky;top:0;z-index:20;min-height:76px;border-bottom:1px solid rgba(152,131,187,.17);background:rgba(255,254,250,.95);backdrop-filter:blur(14px)}
body.admin-bar .site-header{top:32px}
.header-inner{display:flex;align-items:center;min-height:76px;gap:1rem}
.brand-link{flex:0 0 auto;text-decoration:none}
.brand-logo{width:130px;transition:transform 180ms var(--ease)}
.brand-link:hover .brand-logo{transform:translateY(-2px)}
.header-nav{display:flex;align-items:center;gap:.35rem;margin-left:auto}
.header-nav .menu,.footer-links .menu{display:flex;align-items:center;gap:.12rem;margin:0;padding:0;list-style:none}
.header-nav li{position:relative}
.header-nav a{position:relative;display:block;padding:.56rem .68rem;color:#5f5868;font-size:.87rem;font-weight:800;text-decoration:none}
.header-nav .menu>li>a::after{position:absolute;right:.68rem;bottom:.28rem;left:.68rem;height:2px;border-radius:10px;background:var(--teal-deep);content:"";transform:scaleX(0);transform-origin:left;transition:transform 180ms var(--ease);pointer-events:none}
.header-nav .menu>li>a:hover::after,.header-nav .menu>li>a:focus-visible::after,.header-nav .current-menu-item>a::after{transform:scaleX(1)}
.header-nav .nav-quote{margin-left:.25rem;padding:.65rem .95rem;border-radius:var(--gk-button-radius);background:var(--lavender);color:#fff;box-shadow:0 8px 18px rgba(111,90,148,.18)}
.header-nav .nav-quote:hover{background:var(--lavender-deep);transform:translateY(-1px)}
.header-actions{display:flex;align-items:center;gap:.45rem;order:3}
.header-phone{display:inline-flex;padding:.45rem .55rem;color:var(--lavender-deep);font-size:.83rem;font-weight:800;text-decoration:none}
.nav-toggle{display:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--lavender-wash);color:var(--lavender-deep);cursor:pointer}
.nav-toggle-lines,.nav-toggle-lines::before,.nav-toggle-lines::after{display:block;width:19px;height:2px;margin-inline:auto;border-radius:4px;background:currentColor;content:"";transition:transform 180ms var(--ease)}
.nav-toggle-lines{position:relative}
.nav-toggle-lines::before{position:absolute;top:-6px;left:0}
.nav-toggle-lines::after{position:absolute;top:6px;left:0}
.nav-toggle[aria-expanded="true"] .nav-toggle-lines{background:transparent}
.nav-toggle[aria-expanded="true"] .nav-toggle-lines::before{top:0;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-lines::after{top:0;transform:rotate(-45deg)}
.sub-menu{position:absolute;top:100%;left:0;display:none;min-width:220px;margin:0;padding:.55rem;border:1px solid var(--line);border-radius:14px 5px 14px 5px;background:#fff;box-shadow:var(--shadow);list-style:none}
.menu-item-has-children:hover>.sub-menu,.menu-item-has-children:focus-within>.sub-menu,.menu-item-has-children.submenu-open>.sub-menu{display:block}
.submenu-toggle{position:absolute;top:.43rem;right:-.25rem;width:28px;height:28px;padding:0;border:0;background:transparent;color:var(--lavender-deep);cursor:pointer}

.hero{position:relative;display:grid;min-height:600px;overflow:hidden;align-items:center;padding-block:clamp(4.7rem,8vw,7.2rem)}
.hero--home{background:linear-gradient(109deg,#fffefa 0%,#fffefa 42%,rgba(255,254,250,.8) 61%,rgba(255,254,250,.15) 100%),url("../images/hero-home.webp") center right/cover no-repeat}
.hero--home::before{position:absolute;top:-220px;right:-220px;width:min(650px,60vw);height:min(650px,60vw);border:2px solid rgba(152,131,187,.34);border-radius:50%;content:"";pointer-events:none}
.hero--home::after{position:absolute;bottom:35px;left:-60px;width:270px;height:185px;border-radius:60% 40% 52% 48%;background:rgba(171,211,213,.32);content:"";transform:rotate(-16deg);pointer-events:none}
.hero-content{position:relative;z-index:1;max-width:670px;margin-left:clamp(0rem,5vw,5rem)}
.hero h1{margin:.62rem 0 0;color:var(--lavender-deep);font-size:clamp(3.5rem,7vw,6.55rem);line-height:.9}
.hero h1 em{color:var(--teal-deep);font-style:italic}
.hero-copy{max-width:570px;margin:1.3rem 0 0;color:#645d6c;font-size:1.12rem}
.hero-rule{width:154px;height:8px;margin-top:1.75rem;border-radius:99px;background:var(--teal);transform:rotate(-6deg);pointer-events:none}

.intro-split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(330px,.85fr);align-items:center;gap:clamp(2.5rem,7vw,7rem)}
.intro-copy{max-width:610px}
.intro-copy h2{margin:.55rem 0 0;color:var(--lavender-deep);font-size:clamp(2.55rem,4.8vw,4.6rem);line-height:.98}
.intro-copy .section-copy p{margin-bottom:.8rem}
.intro-message-rule{display:block;width:150px;height:8px;margin:1.55rem 0 0 .6rem;border-radius:99px;background:var(--teal);transform:rotate(-5deg);pointer-events:none}
.intro-image-frame{position:relative;isolation:isolate;min-height:390px;margin:0;padding:.8rem;border-radius:36px 8px 36px 8px;background:#fff;box-shadow:var(--shadow);transform:rotate(1deg)}
.intro-image-frame::before{position:absolute;right:-1.2rem;bottom:-1rem;z-index:-1;width:48%;height:23%;border-radius:58% 42% 45% 55%;background:rgba(171,211,213,.62);content:"";transform:rotate(-10deg);pointer-events:none}
.intro-image-frame img{width:100%;min-height:372px;height:100%;border-radius:29px 5px 29px 5px;object-fit:cover}
.intro-image-frame figcaption{position:absolute;right:-.8rem;bottom:1.25rem;max-width:235px;padding:.65rem .8rem;border-radius:4px 14px 4px 14px;background:var(--teal);color:#416f73;box-shadow:0 10px 20px rgba(95,159,163,.18);font-size:.72rem;font-weight:800;line-height:1.35;transform:rotate(2deg)}

.service-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.3rem}
.service-snapshot-list{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.service-chip{display:flex;min-height:240px;flex-direction:column;padding:1.35rem 1.2rem;border-radius:28px 9px 26px 9px;background:#fff;box-shadow:0 11px 28px rgba(83,67,103,.08)}
.service-chip:nth-child(2n){background:var(--teal-wash);transform:translateY(18px)}
.service-chip:nth-child(3){border-radius:9px 28px 9px 26px;background:var(--lavender-wash)}
.service-chip small{color:var(--teal-deep);font-weight:800;letter-spacing:.1em}
.service-chip h3{margin:1.6rem 0 .75rem;color:var(--lavender-deep);font-size:1.62rem;line-height:1.02}
.service-chip p{margin:auto 0 0;color:var(--muted);font-size:.88rem;line-height:1.48}

.section--process{position:relative;overflow:hidden}
.section--process::after{position:absolute;right:-12rem;bottom:-16rem;width:420px;height:420px;border:2px solid rgba(152,131,187,.18);border-radius:50%;content:"";pointer-events:none}
.how-it-works{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);align-items:center;gap:clamp(2.2rem,5vw,5rem)}
.process-intro{position:relative;z-index:1;max-width:440px}
.process-journey{position:relative;z-index:1;display:grid;gap:.75rem}
.journey-step{display:grid;grid-template-columns:3.85rem minmax(0,1fr);align-items:center;gap:1.1rem;min-height:108px;padding:1.05rem 1.2rem 1.05rem .85rem;border-radius:22px 6px 22px 6px;background:rgba(255,255,255,.76);box-shadow:0 9px 22px rgba(83,67,103,.06)}
.journey-step:nth-child(2){margin-left:1rem;background:rgba(238,248,247,.95)}
.journey-step:nth-child(3){margin-left:2rem}
.journey-number{display:grid;width:2.75rem;height:2.75rem;place-items:center;justify-self:center;border:3px solid var(--lavender-wash);border-radius:50%;background:var(--lavender-deep);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.08em}
.journey-copy h3{margin:0;color:var(--lavender-deep);font-size:clamp(1.55rem,2.4vw,2rem);line-height:1}
.journey-copy p{margin:.35rem 0 0;color:var(--muted);font-size:.91rem}

.availability{position:relative;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:38px 12px 38px 12px;background:var(--lavender-deep);box-shadow:0 24px 45px rgba(80,59,110,.19)}
.availability::before{position:absolute;right:-6%;bottom:-55%;width:380px;height:380px;border:2px solid rgba(171,211,213,.46);border-radius:50%;content:"";pointer-events:none}
.availability-copy{position:relative;z-index:1;padding:clamp(2rem,5vw,4.3rem);color:#fff}
.availability h2{margin:.65rem 0 0;color:#fff;font-size:clamp(2.3rem,4.3vw,4rem);line-height:.98}
.availability p{max-width:520px;color:rgba(255,255,255,.85)}
.availability-image{width:100%;height:100%;min-height:390px;object-fit:cover}

.page-hero{position:relative;overflow:hidden;padding-block:clamp(4.6rem,8vw,7rem)}
.page-hero::after{position:absolute;right:-120px;bottom:-260px;width:560px;height:560px;border:2px solid rgba(152,131,187,.28);border-radius:50%;content:"";pointer-events:none}
.page-hero--about{background:linear-gradient(110deg,#f3eef9,#fffefa)}
.page-hero--services{background:linear-gradient(95deg,var(--teal-wash),#fffefa 70%)}
.page-hero--contact{background:linear-gradient(122deg,#fffefa 0 55%,rgba(171,211,213,.4) 55% 100%)}
.page-hero--privacy{min-height:410px;background:linear-gradient(100deg,#f2eef8,#fffefa 72%)}
.page-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr minmax(340px,.75fr);align-items:center;gap:clamp(2rem,6vw,6rem)}
.page-hero-copy h1,.page-hero h1{max-width:780px;margin:.55rem 0 0;color:var(--lavender-deep);font-size:clamp(3rem,6.5vw,5.7rem);line-height:.95}
.page-hero-copy>p:not(.eyebrow),.page-hero>div>p:not(.eyebrow){max-width:680px;margin:1.15rem 0 0;color:var(--muted);font-size:clamp(1.04rem,2vw,1.18rem)}
.page-hero-image{position:relative;margin:0;padding:.65rem;border-radius:35px 8px 35px 8px;background:#fff;box-shadow:var(--shadow);transform:rotate(1.2deg)}
.page-hero-image img{width:100%;height:320px;border-radius:29px 5px 29px 5px;object-fit:cover}

.about-story{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(2.5rem,7vw,7rem)}
.owner-frame{position:relative;min-height:480px;padding:1rem;border-radius:42px 10px 42px 10px;background:#fff;box-shadow:var(--shadow);transform:rotate(-1.3deg)}
.owner-frame::after{position:absolute;right:-2rem;bottom:-1.6rem;z-index:-1;width:72%;height:31%;border-radius:58% 42% 45% 55%;background:rgba(171,211,213,.58);content:"";transform:rotate(-9deg);pointer-events:none}
.owner-frame img{width:100%;min-height:448px;height:100%;border-radius:31px 7px 31px 7px;object-fit:cover}
.owner-label{position:absolute;right:-1rem;bottom:2.2rem;max-width:220px;padding:.85rem 1rem;border-radius:13px 4px 13px 4px;background:var(--teal);color:#376e73;box-shadow:0 12px 22px rgba(95,159,163,.19);font-size:.8rem;font-weight:800;transform:rotate(3deg)}
.about-copy h2{margin:.5rem 0 0;color:var(--lavender-deep);font-size:clamp(2.5rem,4.8vw,4.3rem);line-height:.98}
.about-copy p{color:var(--muted);font-size:1.04rem}
.note-panel{margin-top:1rem;padding:1.2rem 1.3rem;border-left:4px solid var(--teal);border-radius:3px 16px 3px 16px;background:var(--teal-wash);color:var(--muted)}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.6rem}
.value-card{min-height:205px;padding:1.35rem;border-radius:22px 6px 22px 6px;background:#fff;box-shadow:0 9px 22px rgba(83,67,103,.06)}
.value-card:nth-child(2n){background:var(--teal-wash)}
.value-card:nth-child(3n){background:var(--lavender-wash)}
.value-card h3{margin:0;color:var(--lavender-deep);font-size:1.65rem;line-height:1.05}
.value-card p{margin:.75rem 0 0;color:var(--muted);font-size:.92rem}
.story-panels{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.story-panel{padding:clamp(1.7rem,4vw,3rem);border-radius:32px 8px 32px 8px;background:#fff;box-shadow:var(--shadow)}
.story-panel--accent{background:var(--lavender-wash)}
.story-panel h2{margin:.55rem 0 1rem;color:var(--lavender-deep);font-size:clamp(2rem,3.8vw,3.4rem);line-height:1}
.story-panel p{color:var(--muted)}

.service-list{margin-top:.4rem}
.service-row{display:grid;grid-template-columns:82px minmax(0,1fr) 150px;align-items:center;gap:1.5rem;padding:2.2rem 1.1rem 2.2rem 0;border-top:1px solid rgba(152,131,187,.24);scroll-margin-top:120px;transition:padding 180ms var(--ease),background 180ms var(--ease)}
.service-row:last-child{border-bottom:1px solid rgba(152,131,187,.24)}
.service-row:nth-child(2n){padding-left:1rem;border-radius:22px 5px 22px 5px;background:linear-gradient(90deg,rgba(171,211,213,.2),transparent 78%)}
.service-row:hover{padding-left:1.25rem;background:linear-gradient(90deg,rgba(171,211,213,.32),transparent 78%)}
.service-num{color:var(--teal-deep);font-family:var(--gk-font-heading);font-size:3.4rem;line-height:1}
.service-row h2{margin:0;color:var(--lavender-deep);font-size:clamp(1.9rem,3vw,2.55rem);line-height:1}
.service-row-copy p{max-width:720px;margin:.65rem 0 0;color:var(--muted)}
.quote-tag{padding:.55rem .7rem;border-radius:999px 4px 999px 4px;background:var(--lavender-wash);color:var(--lavender-deep);font-size:.74rem;font-weight:800;text-align:center}
.services-section-action{margin-top:2rem;text-align:center}
.section--scope{background:linear-gradient(180deg,#fffefa,var(--teal-wash))}
.scope-section{margin-top:2.5rem;padding:clamp(1.5rem,4vw,2.8rem);border-radius:32px 8px 32px 8px;background:#fff;box-shadow:var(--shadow)}
.scope-section-title{margin:0;color:var(--lavender-deep);font-size:clamp(2.1rem,4vw,3.4rem);line-height:1}
.scope-intro{max-width:740px;margin:.85rem 0 1.6rem;color:var(--muted)}
.scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem}
.scope-room{padding:1.2rem;border:1px solid rgba(152,131,187,.18);border-radius:18px 5px 18px 5px;background:#fffefa}
.scope-room h3{margin:0;color:var(--lavender-deep);font-size:1.4rem;line-height:1.05}
.scope-room ul{margin:.9rem 0 0;padding-left:1.15rem;color:var(--muted);font-size:.87rem}
.scope-room li+li{margin-top:.28rem}

.faq-layout{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);align-items:start;gap:clamp(2rem,6vw,6rem)}
.faq-intro{position:sticky;top:130px}
.faq-list{display:grid;gap:.72rem}
.faq-item{border:1px solid rgba(152,131,187,.2);border-radius:18px 5px 18px 5px;background:#fff;box-shadow:0 7px 18px rgba(83,67,103,.05)}
.faq-item summary{position:relative;padding:1.05rem 3rem 1.05rem 1.15rem;color:var(--lavender-deep);font-family:var(--gk-font-heading);font-size:1.28rem;line-height:1.1;cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{position:absolute;top:50%;right:1.15rem;color:var(--teal-deep);content:"+";font-family:var(--gk-font-body);font-size:1.4rem;font-weight:800;transform:translateY(-50%)}
.faq-item[open] summary::after{content:"−"}
.faq-item p{margin:0;padding:0 1.15rem 1.15rem;color:var(--muted)}

.documents-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.4rem}
.document-card{position:relative;min-height:245px;padding:1.5rem;overflow:hidden;border:1px dashed rgba(111,90,148,.35);border-radius:22px 7px 22px 7px;background:linear-gradient(135deg,#fff 0 78%,rgba(171,211,213,.16) 78%);box-shadow:5px 6px 0 rgba(152,131,187,.08)}
.document-card h3{margin:1rem 0 .35rem;color:var(--lavender-deep);font-size:1.55rem}
.document-card p{margin:0;color:var(--muted);font-size:.86rem}
.document-card .button{margin-top:1rem}
.document-icon{display:block;width:42px;height:42px;border-radius:50%;background:var(--teal-wash)}
.document-icon::before{display:block;width:14px;height:18px;margin:0 auto;border:2px solid var(--teal-deep);border-radius:2px;content:"";transform:translateY(11px);pointer-events:none}

.contact-layout{display:grid;grid-template-columns:.82fr 1.18fr;align-items:start;gap:clamp(2rem,6vw,6rem)}
.contact-visual{position:relative;overflow:hidden;border-radius:40px 10px 40px 10px}
.contact-visual img{width:100%;height:390px;object-fit:cover}
.contact-details-list{padding-top:.6rem}
.contact-detail{display:flex;gap:.85rem;margin-top:1.2rem}
.contact-icon{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;border-radius:50%;background:var(--lavender-wash);color:var(--lavender-deep);font-style:normal}
.contact-detail strong{display:block;color:var(--lavender-deep);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}
.contact-detail a,.contact-detail div>span{display:inline-block;margin-top:.12rem;color:var(--muted);text-decoration:none;overflow-wrap:anywhere}
.payment-note{margin-top:2rem;padding:1.2rem 1.3rem;border-radius:19px 6px 19px 6px;background:var(--teal-wash)}
.payment-note h2{margin:0;color:var(--teal-deep);font-family:var(--gk-font-body);font-size:.9rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.payment-note p{margin:.45rem 0 0;color:#52777a;font-size:.92rem}
.form-card{position:relative;padding:clamp(1.5rem,4vw,2.7rem);border-radius:34px 8px 34px 8px;background:#fff;box-shadow:var(--shadow)}
.form-card::before{position:absolute;top:1.3rem;right:1.6rem;width:12px;height:12px;border-radius:2px;background:var(--teal-deep);content:"";transform:rotate(45deg);pointer-events:none}
.form-card h2{margin:0;color:var(--lavender-deep);font-size:clamp(2.2rem,3.4vw,3.25rem);line-height:1}
.form-card>p{margin:.7rem 0 1.5rem;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-field--full{grid-column:1/-1}
.form-field label{display:block;margin-bottom:.4rem;color:var(--lavender-deep);font-size:.82rem;font-weight:800}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:.8rem .85rem;border:1px solid #dfd5e7;border-radius:12px 4px 12px 4px;background:#fffefa;color:var(--ink)}
.form-field textarea{min-height:145px;resize:vertical}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--teal-deep);box-shadow:0 0 0 4px rgba(171,211,213,.35);outline:0}
.form-submit{width:100%;margin-top:1.1rem;border:0;cursor:pointer}
.form-privacy{margin:.8rem 0 0!important;font-size:.78rem}
.form-notice{margin:0 0 1rem;padding:.85rem 1rem;border-radius:12px;font-weight:700}
.form-notice.is-success{background:#e5f6ec;color:#285d3c}
.form-notice.is-error{background:#fff0ef;color:#8b3730}
.honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

.policy-card{position:relative;max-width:900px;padding:clamp(1.5rem,4vw,3.3rem);border-radius:34px 8px 34px 8px;background:linear-gradient(90deg,rgba(171,211,213,.18) 0 10px,#fff 10px);box-shadow:var(--shadow)}
.policy-card h2{margin:2rem 0 .7rem;color:var(--lavender-deep);font-size:clamp(1.75rem,3vw,2.35rem);line-height:1}
.policy-card h2:first-child{margin-top:0}
.policy-card p{margin:0;color:var(--muted)}
.policy-note{margin-top:2rem;padding:.95rem 1rem;border-left:4px solid var(--teal);background:var(--teal-wash);font-weight:700}
.policy-updated{margin-top:1.2rem!important;font-size:.82rem}
.generic-page h1{color:var(--lavender-deep);font-size:clamp(2.8rem,6vw,5rem);line-height:1}
.entry-content>*+*{margin-top:1em}
.post-list{display:grid;gap:1rem;margin-top:2rem}
.post-card{padding:1.4rem;border-radius:20px;background:#fff;box-shadow:var(--shadow)}
.not-found{display:grid;min-height:70vh;place-items:center;padding:4rem 1.5rem;background:var(--paper);text-align:center}
.not-found h1{margin:.5rem 0;color:var(--lavender-deep);font-size:clamp(3rem,8vw,5.5rem)}
.not-found p{max-width:440px;color:var(--muted)}

.site-footer{padding:0;background:linear-gradient(135deg,#4e3d67,#6f5a94)}
.footer-paper{width:min(var(--gk-content-width),calc(100% - 40px));margin-inline:auto;padding:1.55rem 0 .8rem}
.footer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:2rem}
.footer-brand{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:1.05rem;min-width:0}
.footer-logo{width:96px;flex:0 0 96px}
.footer-brand-copy{min-width:0}
.footer-copy{max-width:560px;margin:0;color:rgba(255,254,250,.87);font-size:.88rem}
.footer-contact-list{display:grid;grid-template-columns:minmax(140px,.8fr) minmax(230px,1.35fr) minmax(190px,1fr);gap:.55rem;margin:.75rem 0 0;padding:0;list-style:none}
.footer-contact-item{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:.55rem;min-width:0;padding:.5rem .6rem;border:1px solid rgba(255,254,250,.15);border-radius:13px 4px 13px 4px;background:rgba(255,255,255,.06)}
.footer-contact-icon{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:rgba(171,211,213,.18);color:var(--teal);font-size:.75rem;font-weight:800}
.footer-contact-copy{min-width:0}
.footer-contact-label{display:block;color:rgba(255,254,250,.58);font-size:.6rem;font-weight:800;letter-spacing:.08em;line-height:1.1;text-transform:uppercase}
.footer-contact-copy a,.footer-contact-value{display:block;margin-top:.1rem;color:#fffefa;font-size:.72rem;font-weight:700;line-height:1.3;text-decoration:none;overflow-wrap:anywhere}
.footer-links .menu{flex-wrap:wrap;justify-content:flex-end;gap:.55rem 1rem}
.footer-links a{color:rgba(255,254,250,.91);font-size:.84rem;font-weight:800;text-decoration:none}
.footer-links a:hover,.footer-contact-copy a:hover{color:var(--teal)}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;padding-top:.8rem;border-top:1px solid rgba(255,254,250,.22);color:rgba(255,254,250,.62);font-size:.78rem}
.footer-credit{display:flex;gap:.35rem;color:rgba(171,211,213,.96);font-weight:700}
.footer-credit a{color:#fffefa}
.mobile-call{position:fixed;right:1rem;bottom:1rem;z-index:18;display:none;align-items:center;justify-content:center;min-width:136px;min-height:50px;padding:.72rem 1rem;border-radius:999px;background:var(--lavender-deep);color:#fff;font-size:.92rem;font-weight:800;text-decoration:none;box-shadow:0 14px 28px rgba(81,60,110,.28);opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity 180ms var(--ease),transform 180ms var(--ease)}
.mobile-call.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}

@media (max-width:1024px){
  .header-phone{display:none}
  .header-nav a{padding-inline:.5rem}
  .hero-content{margin-left:1rem}
  .service-snapshot-list{grid-template-columns:repeat(2,1fr)}
  .scope-grid{grid-template-columns:repeat(2,1fr)}
  .values-grid{grid-template-columns:repeat(2,1fr)}
  .footer-row{grid-template-columns:1fr}
  .footer-links .menu{justify-content:flex-start}
}

@media (max-width:782px){body.admin-bar .site-header{top:46px}}

@media (max-width:767px){
  :root{--gk-section-spacing:4.35rem}
  body{padding-bottom:78px}
  .container{width:min(100% - 32px,var(--gk-content-width))}
  .site-header,.header-inner{min-height:70px}
  .brand-logo{width:122px}
  .header-actions{margin-left:auto}
  .nav-toggle{display:block}
  .header-nav{position:absolute;top:100%;right:0;left:0;display:none;max-height:calc(100vh - 70px);flex-direction:column;align-items:stretch;gap:.5rem;margin:0;padding:.7rem 1rem 1.15rem;overflow-y:auto;border-bottom:1px solid var(--line);background:var(--ivory);box-shadow:0 15px 24px rgba(83,67,103,.1)}
  .header-nav.open{display:flex}
  .header-nav .menu{flex-direction:column;align-items:stretch}
  .header-nav li{width:100%}
  .header-nav a{padding:.82rem .75rem}
  .header-nav .nav-quote{margin:.35rem .25rem 0;text-align:center}
  .header-nav .menu>li>a::after{display:none}
  .sub-menu{position:static;display:none;margin:.1rem .7rem .5rem;padding:.25rem;border:0;box-shadow:none;background:var(--lavender-wash)}
  .menu-item-has-children.submenu-open>.sub-menu{display:block}
  .submenu-toggle{top:.55rem;right:.4rem}
  .hero{min-height:590px;padding-block:4.2rem 3rem}
  .hero--home{background:linear-gradient(105deg,rgba(255,254,250,.98),rgba(255,254,250,.9) 64%,rgba(255,254,250,.48)),url("../images/hero-home.webp") 66% center/cover no-repeat}
  .hero-content{max-width:calc(100% - 1rem);margin-left:.5rem}
  .hero h1{font-size:clamp(3rem,14vw,4.4rem)}
  .hero-copy{font-size:1rem}
  .intro-split,.how-it-works,.availability,.page-hero-inner,.about-story,.story-panels,.faq-layout,.contact-layout{grid-template-columns:minmax(0,1fr)}
  .page-hero-inner>*,.contact-layout>*,.intro-split>*,.how-it-works>*,.availability>*{min-width:0;max-width:100%}
  .page-hero-copy{min-width:0;max-width:100%;overflow-wrap:anywhere}
  .intro-image-frame{min-height:290px;transform:none}
  .intro-image-frame img{min-height:275px}
  .service-head{align-items:flex-start;flex-direction:column;gap:1rem}
  .service-chip:nth-child(2n){transform:none}
  .process-journey{margin-top:1rem}
  .journey-step,.journey-step:nth-child(2),.journey-step:nth-child(3){margin-left:0}
  .availability-image{min-height:240px;order:-1}
  .page-hero{padding-block:4.2rem}
  .page-hero-inner{gap:2rem}
  .page-hero-image img{height:260px}
  .owner-frame{min-height:370px}
  .owner-frame img{min-height:340px}
  .values-grid{grid-template-columns:1fr}
  .value-card{min-height:auto}
  .service-row{grid-template-columns:48px minmax(0,1fr);gap:1rem;padding-block:1.8rem}
  .service-row:nth-child(2n),.service-row:hover{padding-left:.45rem}
  .service-num{font-size:2.6rem}
  .quote-tag{grid-column:2;justify-self:start}
  .scope-grid{grid-template-columns:1fr}
  .faq-intro{position:static}
  .documents-grid{grid-template-columns:1fr}
  .document-card{min-height:0}
  .contact-visual img{height:270px}
  .form-grid{grid-template-columns:1fr}
  .form-field--full{grid-column:auto}
  .footer-paper{width:min(100% - 32px,var(--gk-content-width));padding:1.4rem 0 .7rem}
  .footer-row{grid-template-columns:1fr;gap:1.3rem}
  .footer-contact-list{grid-template-columns:1fr}
  .footer-links .menu{justify-content:flex-start}
  .footer-bottom{align-items:flex-start;flex-direction:column;gap:.2rem}
  .mobile-call{display:inline-flex}
}

@media (max-width:460px){
  .container{width:min(100% - 28px,var(--gk-content-width))}
  .service-snapshot-list{grid-template-columns:1fr}
  .service-chip{min-height:auto}
  .journey-step{grid-template-columns:3.2rem minmax(0,1fr);padding-left:.6rem}
  .page-hero h1,.page-hero-copy h1{font-size:clamp(2.75rem,14vw,4rem)}
  .owner-label{right:-.3rem;bottom:1rem}
  .footer-brand{grid-template-columns:74px minmax(0,1fr);align-items:start}
  .footer-logo{width:74px}
  .footer-credit{flex-wrap:wrap}
}

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

@media print{
  .site-header,.site-footer,.mobile-call,.button-row{display:none!important}
  body{padding:0;background:#fff;color:#000}
  .section{padding-block:1.5rem}
}
