:root{
  --cham:#5B8FA8; --sage:#7BAF94; --deep:#4A7A9B; --mist:#F4F7F5; --slate:#1E2B30; --navy:#2C5872;
  --water:#E4EEF3; --sagep:#E2EEE6; --paper:#FBFCFB; --body:#34464D;
  --f-h:'Plus Jakarta Sans',system-ui,sans-serif; --f-b:'Mulish',system-ui,sans-serif;
  --t-h1:clamp(50px,6vw,84px); --t-h2:clamp(30px,3vw,42px);
  --sec:96px; --wrap:1180px; --r:22px;
  --ease:cubic-bezier(.22,1,.36,1);
  --g-btn:linear-gradient(100deg,#2C5872 0%,#3F7397 55%,#5B8FA8 100%);
  --g-deep:linear-gradient(150deg,#3E7196 0%,#2C5872 60%,#26506A 100%);
  --g-sage:linear-gradient(150deg,#A9D0BA 0%,#8DBEA3 50%,#7BAF94 100%);
  --sh:0 18px 44px -20px rgba(30,43,48,.28),0 2px 8px rgba(30,43,48,.05);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--f-b);font-size:18px;line-height:1.7;color:var(--body);background:var(--mist);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2{font-family:var(--f-h);color:var(--slate);letter-spacing:-.02em;line-height:1.12}
h2{font-size:var(--t-h2);font-weight:700;margin-bottom:22px}
h2 .lt{font-weight:300}
p+p{margin-top:16px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px;position:relative;z-index:2}
section{position:relative;padding:var(--sec) 0}
.center{text-align:center}
.lead{max-width:720px;margin:0 auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--f-h);font-weight:600;font-size:15px;letter-spacing:.02em;color:#fff;text-decoration:none;background:var(--g-btn);background-size:160% 100%;background-position:0 0;padding:16px 30px;border-radius:999px;border:0;cursor:pointer;box-shadow:0 12px 26px -12px rgba(44,88,114,.6);transition:background-position .5s var(--ease),box-shadow .3s}
.btn:hover{background-position:100% 0;box-shadow:0 16px 30px -12px rgba(44,88,114,.7)}
.btn.lite{background:#fff;color:var(--navy);box-shadow:0 12px 26px -14px rgba(30,43,48,.45)}
.btn.lite:hover{background:var(--mist)}
.bold{font-weight:700;color:var(--slate)}
/* painterly grain on every wave layer */
.paint{position:absolute;pointer-events:none;z-index:0}
.paint svg{display:block;width:100%;height:100%}
.drift{animation:drift 14s ease-in-out infinite alternate}
.drift2{animation:drift 19s ease-in-out infinite alternate-reverse}
@keyframes drift{from{transform:translateX(-22px)}to{transform:translateX(22px)}}

/* ===== HEADER ===== */
.hdr{position:absolute;top:0;left:0;right:0;z-index:50}
.hdr-in{max-width:1280px;margin:0 auto;padding:26px 32px;display:flex;align-items:center;gap:28px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto}
.logo .lm{width:54px;height:auto}
.logo .lw{width:206px;height:auto}
.nav{display:flex;list-style:none;gap:4px;margin-left:auto;align-items:center}
.nav>li{position:relative}
.nav>li>a{display:block;white-space:nowrap;padding:10px 12px;font-family:var(--f-h);font-weight:600;font-size:15px;color:var(--slate);text-decoration:none;border-radius:999px;transition:background .2s,color .2s}
.nav>li>a:hover{background:rgba(255,255,255,.7);color:var(--navy)}
.has>a{cursor:default}
.has>a::after{content:"";display:inline-block;width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);margin:0 0 3px 8px}
.sub{position:absolute;top:100%;left:0;min-width:250px;list-style:none;background:#fff;border-radius:16px;padding:10px;box-shadow:var(--sh);opacity:0;visibility:hidden;transform:translateY(6px);transition:.25s var(--ease)}
.has:hover .sub,.has:focus-within .sub{opacity:1;visibility:visible;transform:none}
.sub a{display:block;padding:9px 14px;border-radius:10px;font-size:15px;text-decoration:none;color:var(--body)}
.sub a:hover{background:var(--water);color:var(--navy)}
.m-cta{display:none}
.hdr-cta{display:flex;align-items:center;gap:16px;flex:0 0 auto}
.tel{font-family:var(--f-h);font-weight:700;font-size:15px;color:var(--navy);text-decoration:none;white-space:nowrap}
.hdr-cta .btn{padding:13px 24px}
.burger{display:none;background:#fff;border:0;width:48px;height:48px;border-radius:50%;box-shadow:var(--sh);cursor:pointer;margin-left:auto;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger span{display:block;width:20px;height:2px;background:var(--navy);border-radius:2px;transition:.3s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ===== HERO ===== */
.hero{padding:190px 0 0;background:linear-gradient(180deg,#F7FAF8 0%,#EEF4F2 100%);overflow:hidden}
.hero .p-top{top:0;left:0;right:0;height:300px}
.hero .p-right{top:0;right:-6%;width:62%;height:100%}
.hero-grid{display:grid;grid-template-columns:1.02fr 1fr;gap:40px;align-items:center;min-height:560px}
.hero h1{font-size:var(--t-h1);font-weight:800;line-height:1.02;margin-bottom:28px}
.hero h1 .g{background:linear-gradient(95deg,#2C5872 0%,#4A7A9B 45%,#7BAF94 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero h1 .lt{font-weight:300}
.hero .sub-h{font-size:20px;font-weight:700;color:var(--slate);line-height:1.5;max-width:520px;margin-bottom:34px}
.hero-photo{position:relative;justify-self:end;width:min(560px,100%)}
.hero-photo .blob{aspect-ratio:1/1.04;clip-path:url(#blobH);position:relative}
.hero-photo .blob img{width:100%;height:100%;object-fit:cover;object-position:46% 50%}
.hero-photo .glow{position:absolute;inset:-6% -8% -4% -6%;z-index:-1;border-radius:46% 54% 50% 50%/52% 46% 54% 48%;background:radial-gradient(60% 60% at 60% 40%,rgba(255,255,255,.95),rgba(255,255,255,0) 72%)}
.hero-photo .ring{position:absolute;inset:-14px;z-index:2;pointer-events:none}
.hero-photo .ring svg{width:100%;height:100%;overflow:visible}
.bokeh{position:absolute;border-radius:50%;background:rgba(255,255,255,.7);filter:blur(1px);pointer-events:none}

/* deep band under the hero (reference logo strip -> the two locations) */
.band{position:relative;margin-top:-40px;z-index:3;height:220px}
.band .paint{inset:0}
.band-in{position:relative;z-index:2;height:100%;display:flex;align-items:center;justify-content:center;gap:56px;padding:20px 32px 0;flex-wrap:wrap}
.loc{display:flex;align-items:center;gap:14px;color:#fff;font-family:var(--f-h);font-weight:600;font-size:18px}
.loc .ic{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;flex:0 0 auto}
.loc svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* ===== TWO SHIPS: three contrast cards ===== */
.ships{background:var(--mist);padding-top:calc(var(--sec) - 20px)}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.c3{border-radius:var(--r);padding:40px 34px 36px;text-align:center;box-shadow:var(--sh);position:relative;overflow:hidden}
.c3 .ic{width:76px;height:76px;border-radius:50%;margin:0 auto 22px;display:grid;place-items:center}
.c3 .ic svg{width:36px;height:36px;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.c3.light{background:linear-gradient(170deg,#fff 0%,#F3F7F5 100%)}
.c3.light .ic{background:var(--g-btn)}
.c3.light .ic svg{stroke:#fff}
.c3.deep{background:var(--g-deep);color:#E8F0F4}
.c3.deep .ic{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3)}
.c3.deep .ic svg{stroke:#fff}
.c3.sage{background:var(--g-sage);color:#1E2B30}
.c3.sage .ic{background:rgba(255,255,255,.55)}
.c3.sage .ic svg{stroke:#2C5872}
.c3::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none;mix-blend-mode:overlay}
.ships-photo{margin-top:56px;position:relative;display:grid;grid-template-columns:1.25fr 1fr;align-items:center}
.ships-photo .pic{border-radius:46% 54% 42% 58%/56% 44% 56% 44%;overflow:hidden;aspect-ratio:16/10;box-shadow:var(--sh)}
.ships-photo .pic img{width:100%;height:100%;object-fit:cover}
.ships-photo .note{background:#fff;border-radius:var(--r);padding:34px 38px;margin-left:-70px;box-shadow:var(--sh);position:relative;z-index:2}
.ships-photo .note p{font-family:var(--f-h);font-size:clamp(20px,1.9vw,25px);font-weight:600;line-height:1.4;color:var(--slate)}

/* ===== HOPE: painted band ===== */
.hope{background:transparent;padding:calc(var(--sec) + 70px) 0}
.hope .paint{inset:0}
.hope-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.hope h2{color:var(--slate)}
.hope .frost{background:rgba(255,255,255,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--r);padding:40px 42px;box-shadow:0 24px 60px -28px rgba(20,40,52,.55)}

/* ===== TALK TO YOURSELF ===== */
.talk{background:var(--mist);overflow:hidden}
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.blobpic{position:relative}
.blobpic .b{clip-path:url(#blob2);aspect-ratio:1/1}
.blobpic .b img{width:100%;height:100%;object-fit:cover}
.blobpic .halo{position:absolute;inset:-5%;z-index:-1;border-radius:50%;background:linear-gradient(140deg,rgba(91,143,168,.28),rgba(123,175,148,.28))}
.talk .p-corner{right:-10%;bottom:-8%;width:52%;height:70%}

/* ===== CUT HIM OUT ===== */
.cut{background:#fff;overflow:hidden}
.cut .closing{margin-top:40px;text-align:center;font-family:var(--f-h);font-weight:600;font-size:clamp(20px,1.9vw,24px);color:var(--slate)}

/* ===== QUIET STUFF (reference closing section, faded photo right) ===== */
.quiet{background:var(--water);overflow:hidden;padding:calc(var(--sec) + 40px) 0}
.quiet .fade{position:absolute;top:0;right:0;bottom:0;width:58%;z-index:0}
.quiet .sep{z-index:3}
.quiet .fade img{width:100%;height:100%;object-fit:cover;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 46%);mask-image:linear-gradient(90deg,transparent 0%,#000 46%)}
.quiet .fade::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(228,238,243,.55),rgba(228,238,243,0) 30%,rgba(228,238,243,0) 70%,rgba(228,238,243,.6))}
.quiet .txt{max-width:560px;background:rgba(255,255,255,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:var(--r);padding:44px 44px;box-shadow:var(--sh)}
.quiet .txt p:last-child{font-weight:700;color:var(--slate)}

/* ===== BABY STEPS ===== */
.steps{background:var(--mist);overflow:hidden}
.steps .q{font-family:var(--f-h);font-size:clamp(24px,2.4vw,32px);font-weight:300;color:var(--navy);margin:6px 0 22px}
.steps .q em{font-weight:600}
.stepline{display:flex;justify-content:center;gap:0;margin:40px auto 40px;max-width:640px;align-items:center}
.stepline .dot{width:18px;height:18px;border-radius:50%;background:var(--g-btn);flex:0 0 auto;box-shadow:0 0 0 7px rgba(91,143,168,.16)}
.stepline .dot.s{background:var(--g-sage);box-shadow:0 0 0 7px rgba(123,175,148,.2)}
.stepline .ln{flex:1;height:2px;background:linear-gradient(90deg,var(--cham),var(--sage));opacity:.55}
.steps .p-l{left:-8%;top:-4%;width:40%;height:60%}
.steps .p-r{right:-8%;bottom:-6%;width:40%;height:60%}

/* ===== GUILD ===== */
.guild{background:var(--navy);color:#E6EEF2;overflow:hidden}
.guild h2{color:#fff}
.emblem{position:relative;display:grid;place-items:center}
.emblem .bl{width:min(480px,100%);aspect-ratio:1/.92;clip-path:url(#blob1);background:linear-gradient(150deg,#E4EEF3 0%,#F4F7F5 50%,#E2EEE6 100%);display:grid;place-items:center}
.emblem img{width:72%}
.emblem .ring{position:absolute;inset:-4% 2%;pointer-events:none}
.emblem .ring svg{width:100%;height:100%;overflow:visible}
.guild p:last-of-type{font-weight:700;color:#fff}

/* ===== PLAIN TALK ===== */
.plain{background:var(--sagep);overflow:hidden}
.plain .c3{text-align:left}
.plain .c3 .ic{margin:0 0 22px}
.plain .cta{text-align:center;margin-top:44px}
.plain .p-top{top:-2px;left:0;right:0;height:140px}

/* ===== SERVICES (B's deep band + 4/3 photo cards, C's rounded corners) ===== */
.svc{background:var(--navy);color:#E6EEF2}
.svc h2{color:#fff}
.b7-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:22px;margin-top:44px}
.b7-grid a{grid-column:span 3;position:relative;display:block;aspect-ratio:3/3.7;background:#FDFEFD;padding:9px;border-radius:var(--r);text-decoration:none;box-shadow:0 30px 50px -30px rgba(0,0,0,.6)}
.b7-grid a:nth-child(n+5){grid-column:span 4;aspect-ratio:4/3.3}
.b7-ph{position:relative;display:block;width:100%;height:100%;border-radius:calc(var(--r) - 8px);overflow:hidden}
.b7-ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.b7-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,43,48,0) 42%,rgba(30,43,48,.8) 100%)}
.b7-grid h3{position:absolute;left:30px;right:72px;bottom:28px;z-index:2;color:#fff;font-family:var(--f-h);font-weight:700;font-size:21px;line-height:1.25}
.b7-arr{position:absolute;right:26px;bottom:26px;z-index:2;width:38px;height:38px;border-radius:50%;background:#FDFEFD;display:grid;place-items:center;transition:background .3s}
.b7-arr svg{width:15px;height:15px;stroke:var(--navy);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.b7-grid a:hover .b7-ph img{transform:scale(1.06)}
.b7-grid a:hover .b7-arr{background:#CFE3D7}
@media (max-width:1024px){.b7-grid a,.b7-grid a:nth-child(n+5){grid-column:span 6;aspect-ratio:4/3.4}.b7-grid a:nth-child(7){grid-column:3 / span 8}}
@media (max-width:768px){.b7-grid{grid-template-columns:1fr 1fr;gap:14px}.b7-grid a,.b7-grid a:nth-child(n+5),.b7-grid a:nth-child(7){grid-column:span 1;aspect-ratio:3/3.8;padding:6px;border-radius:18px}.b7-ph{border-radius:13px}.b7-grid a:nth-child(7){grid-column:1 / -1;aspect-ratio:16/9}.b7-grid h3{left:18px;right:16px;bottom:58px;font-size:17px}.b7-arr{left:18px;right:auto;bottom:18px;width:32px;height:32px}}

/* ===== SIX MONTHS ===== */
.six{background:#fff;overflow:hidden}
.six .split{grid-template-columns:1.05fr .95fr}
.six .note{font-size:16px;color:#5A6C72;font-style:italic}
.six .p-corner{left:-10%;top:-6%;width:46%;height:60%}

/* ===== TESTIMONIALS ===== */
.tst{background:var(--water);overflow:hidden}
.tst-row{display:flex;align-items:flex-start;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:44px 4px 30px;scrollbar-width:none}
.tst-row::-webkit-scrollbar{display:none}
.tq{flex:0 0 calc((100% - 44px)/3);scroll-snap-align:start;background:#fff;border-radius:var(--r);padding:36px 32px 30px;box-shadow:var(--sh);display:flex;flex-direction:column}
.tq:nth-child(3n+2){background:var(--g-deep);color:#E8F0F4}
.tq:nth-child(3n+2) .who{color:#CFE2EA}
.tq:nth-child(3n){background:var(--g-sage);color:#1E2B30}
.tq .mk{font-family:var(--f-h);font-size:64px;line-height:.6;font-weight:800;opacity:.35;margin-bottom:14px}
.tq blockquote{font-size:17px;line-height:1.65;flex:1}
.tq{min-height:var(--tqh,0)}
.tq .more[hidden]{display:none}
.tq .clamp{display:-webkit-box;-webkit-line-clamp:var(--ln,8);-webkit-box-orient:vertical;overflow:hidden}
.tq .clamp.open{-webkit-line-clamp:unset;display:block}
.tq .more{background:none;border:0;font:600 15px var(--f-h);color:var(--navy);cursor:pointer;margin-top:10px;text-decoration:underline;text-underline-offset:3px;align-self:flex-start}
.tq .who{margin-top:18px;font-family:var(--f-h);font-weight:600;font-size:15px;color:var(--deep)}
.tst-nav{display:flex;justify-content:center;gap:12px}
.tst-nav button{width:48px;height:48px;border-radius:50%;border:0;background:#fff;box-shadow:var(--sh);cursor:pointer;display:grid;place-items:center}
.tst-nav button:hover{background:var(--g-btn)}
.tst-nav button:hover svg{stroke:#fff}
.tst-nav svg{width:20px;height:20px;fill:none;stroke:var(--navy);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ===== FINAL CTA ===== */
.final{background:var(--mist);overflow:hidden;padding-bottom:calc(var(--sec) + 120px)}
.final .fade{position:absolute;top:0;right:0;bottom:0;width:50%;z-index:0}
.final .fade img{width:100%;height:100%;object-fit:cover;object-position:50% 75%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.85) 55%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.85) 55%)}
.final .head{max-width:none}
.final .contact-lines{margin-top:32px}
.final .call{font-weight:700;color:var(--slate);margin:18px 0 28px}
.final-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.contact-lines{display:flex;flex-direction:column;gap:14px}
.contact-lines a{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.9);border-radius:999px;padding:10px 24px 10px 10px;text-decoration:none;font-family:var(--f-h);font-weight:600;color:var(--navy);box-shadow:var(--sh);width:max-content;max-width:100%;word-break:break-word}
.contact-lines .ic{width:42px;height:42px;border-radius:50%;background:var(--g-btn);display:grid;place-items:center;flex:0 0 auto}
.contact-lines svg{width:19px;height:19px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.form{background:rgba(255,255,255,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--r);padding:34px;box-shadow:var(--sh)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form .f{margin-bottom:16px}
.form label{display:block;font-family:var(--f-h);font-weight:600;font-size:14px;color:var(--slate);margin-bottom:6px}
.form input,.form textarea{width:100%;font:inherit;font-size:16px;padding:13px 16px;border:1px solid #D3DFE3;border-radius:14px;background:#fff;color:var(--slate)}
.form textarea{min-height:110px;resize:vertical}
.form input:focus,.form textarea:focus{outline:2px solid var(--cham);outline-offset:1px}
.sep{left:0;right:0;bottom:-1px;height:110px;z-index:1}
.talk,.guild,.svc,.steps,.plain{padding-bottom:calc(var(--sec) + 80px)}
.quiet{padding-bottom:calc(var(--sec) + 120px)}
.final .p-bot{left:0;right:0;bottom:-2px;height:170px;z-index:1}

/* ===== FOOTER ===== */
.ftr{background:var(--navy);color:#D8E6EC;padding:30px 0 40px;font-size:15px}
.ftr-in{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.16)}
.ftr-logo img{width:250px}
.social{display:flex;gap:12px}
.social a{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center;color:#fff;text-decoration:none;font-family:var(--f-h);font-weight:700;font-size:14px;transition:background .2s}
.social a:hover{background:rgba(255,255,255,.24)}
.social svg{width:20px;height:20px;fill:#fff}
.ftr-low{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;font-size:14px}
.ftr-low a{color:#D8E6EC;text-decoration:none;margin-right:22px}
.ftr-low a:hover{color:#fff}

/* ===== card icons: gentle motion (Two Ships, Cut Him Out, Plain Talk) ===== */
.ships .c3 .ic,.cut .c3 .ic,.plain .c3 .ic{position:relative}
.ships .c3 .ic::before,.cut .c3 .ic::before,.plain .c3 .ic::before{content:"";position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--cham);opacity:0;animation:icRing 3.6s var(--ease) infinite}
.ships .c3.deep .ic::before,.cut .c3.deep .ic::before,.plain .c3.deep .ic::before{border-color:#fff}
.ships .c3.sage .ic::before,.cut .c3.sage .ic::before,.plain .c3.sage .ic::before{border-color:var(--navy)}
.cards3 .c3:nth-child(2) .ic::before{animation-delay:1.2s}
.cards3 .c3:nth-child(3) .ic::before{animation-delay:2.4s}
@keyframes icRing{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.55);opacity:0}}
.c3 .ic svg *{transform-box:fill-box;transform-origin:center}
/* Two Ships: Saturday sun turns, Monday briefcase bobs, Wednesday moon rocks */
.ships .c3:nth-child(1) .ic svg path{transform-box:view-box;transform-origin:12px 12px;animation:icSpin 16s linear infinite}
.ships .c3:nth-child(1) .ic svg circle{animation:icBeat 3.2s ease-in-out infinite}
.ships .c3:nth-child(2) .ic svg{animation:icBob 2.6s ease-in-out infinite alternate}
.ships .c3:nth-child(3) .ic svg{animation:icRock 4.2s ease-in-out infinite alternate}
/* Cut Him Out: the roof lifts, the scissors snip, the heart beats and its sparks flicker */
.cut .c3:nth-child(1) .ic svg path:first-child{animation:icLift 2.8s ease-in-out infinite alternate}
.cut .c3:nth-child(2) .ic svg{animation:icSnip 2.2s ease-in-out infinite}
.cut .c3:nth-child(3) .ic svg path:first-child{animation:icBeat 1.8s ease-in-out infinite}
.cut .c3:nth-child(3) .ic svg path:last-child{animation:icFlick 1.8s ease-in-out infinite}
/* Plain Talk: the words write themselves, the third presence glows, the loop turns */
.plain .c3:nth-child(1) .ic svg path:last-child{stroke-dasharray:8;animation:icWrite 3s ease-in-out infinite}
.plain .c3:nth-child(2) .ic svg circle:last-of-type{animation:icGlow 2.6s ease-in-out infinite}
.plain .c3:nth-child(3) .ic svg{animation:icSpin 9s linear infinite}
@keyframes icSpin{to{transform:rotate(360deg)}}
@keyframes icBeat{0%,100%{transform:scale(1)}50%{transform:scale(1.14)}}
@keyframes icBob{from{transform:translateY(2px)}to{transform:translateY(-3px)}}
@keyframes icRock{from{transform:rotate(-12deg)}to{transform:rotate(8deg)}}
@keyframes icLift{from{transform:translateY(1px)}to{transform:translateY(-2px)}}
@keyframes icSnip{0%,60%,100%{transform:rotate(0)}70%{transform:rotate(-14deg)}85%{transform:rotate(6deg)}}
@keyframes icFlick{0%,100%{opacity:1}50%{opacity:.2}}
@keyframes icWrite{0%{stroke-dashoffset:8}45%,100%{stroke-dashoffset:0}}
@keyframes icGlow{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.6);opacity:.55}}

/* ===== hero: room between the photo and the location band ===== */
.hero-grid{padding-bottom:70px}
@media (max-width:768px){.hero-grid{padding-bottom:56px}}

/* ===== reveal (one kind only) + safety ===== */
.rv{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
@keyframes forceVisible{to{opacity:1;transform:none}}
.rv{animation:forceVisible 0s 3s forwards}
.hero .rv{opacity:1;transform:none;animation:none}

/* ===== RESPONSIVE ===== */
@media (max-width:1180px){
  .nav>li>a{padding:10px 8px;font-size:14px}
  .logo .lw{width:170px}
  .hdr-cta .tel{display:none}
}
@media (max-width:1024px){
  .hero-grid{grid-template-columns:1fr 1fr}
  .cards3{gap:16px}
  .c3{padding:34px 24px 30px}
  .sv{flex-basis:calc((100% - 44px)/3)}
  .tq{flex-basis:calc((100% - 22px)/2)}
  .split{gap:48px}
}
@media (max-width:768px),(hover:none) and (pointer:coarse) and (max-height:500px){
  :root{--sec:64px}
}
/* header: burger from 1024 down (7 items + phone + CTA don't fit below that) */
@media (max-width:1024px),(hover:none) and (pointer:coarse) and (max-height:500px){
  .hdr-in{padding:16px 20px}
  .logo .lm{width:44px}.logo .lw{width:170px}
  .hdr-cta{display:none}
  .burger{display:flex}
  .nav{position:absolute;top:calc(100% - 4px);left:16px;right:16px;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-radius:20px;padding:12px;box-shadow:0 24px 60px -20px rgba(30,43,48,.4);max-height:calc(100vh - 100px);overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.3s var(--ease)}
  .nav.open{opacity:1;visibility:visible;transform:none}
  .nav>li>a{padding:12px 14px;font-size:16px}
  .nav>li>a:hover{background:var(--water)}
  .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:0 0 6px 14px;min-width:0;background:none}
  .sub a{font-size:15px;padding:8px 14px}
  .m-cta{display:block;padding:8px 4px 4px}
  .m-cta .btn{width:100%}
}
@media (max-width:768px){
  .wrap{padding:0 20px}
  .hero{padding-top:120px}
  .hero .p-top{height:180px}
  .hero-grid{grid-template-columns:1fr;gap:34px;min-height:0}
  .hero .sub-h{font-size:18px}
  .hero-photo{justify-self:center;width:min(420px,100%)}
  .band{height:auto;margin-top:-24px}
  .band-in{flex-direction:column;gap:16px;padding:70px 20px 110px;align-items:flex-start}
  .loc{font-size:16px}
  .cards3{grid-template-columns:1fr}
  .ships-photo{grid-template-columns:1fr}
  .ships-photo .note{margin:-50px 16px 0;padding:28px}
  .hope{padding:calc(var(--sec) + 70px) 0}
  .hope-grid{grid-template-columns:1fr;gap:28px}
  .hope .frost{padding:30px 26px}
  .split,.six .split{grid-template-columns:1fr;gap:40px}
  .talk .blobpic,.six .blobpic{max-width:420px;margin:0 auto;width:100%}
  .quiet{padding:0 0 var(--sec)}
  .quiet .fade{position:relative;width:100%;height:280px}
  .quiet .fade img{-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 55%,transparent 100%)}
  .quiet .txt{margin-top:-70px;padding:30px 26px;position:relative}
  .emblem .bl{width:min(340px,100%)}
  .tq{flex-basis:88%}
  .final{padding-bottom:calc(var(--sec) + 70px)}
  .final .fade{width:100%;opacity:.35}
  .final-grid{grid-template-columns:1fr;gap:32px}
  .form{padding:24px 20px}
  .form .row{grid-template-columns:1fr;gap:0}
  .final .p-bot{height:90px}
  .sep{height:60px}
  .talk,.guild,.svc,.steps,.plain{padding-bottom:calc(var(--sec) + 44px)}
  .quiet{padding-bottom:calc(var(--sec) + 44px)}
  .ftr-in{flex-direction:column;align-items:flex-start}
  .ftr-low{flex-direction:column}
}
@media (max-width:480px){
  .hero h1{font-size:46px}
  .contact-lines a{font-size:15px}
}
@media (hover:none) and (pointer:coarse){
  .form label,.ftr-low,.ftr-low a,.tq .who,.six .note{font-size:15px}
}

/* ══════════════════════════════════════════════════════════════════════
 * WordPress additions (everything above this line is mockup C1's <style>,
 * verbatim). Inner pages reuse the homepage's own pieces: the hero's painted
 * waves + blob photo (.hero/.hero-photo), the "Talk to Yourself" split
 * (.split/.blobpic), the "Hope" layout + frosted card (.hope-grid/.frost on
 * the painted band), the three contrast cards (.cards3/.c3), the navy Guild
 * band + emblem blob (.emblem), the "Baby Steps" lead + step dots, the band
 * waves (.sep) and the closing section (.final).
 * Breakpoints: 1024 / 768 (+ touch landscape) / 480.
 * ══════════════════════════════════════════════════════════════════════ */

/* inner pages share the homepage's .wrap; .container is the same box (tpa-validate contract) */
.container{max-width:var(--wrap);margin:0 auto;padding:0 32px;position:relative;z-index:2}
body{padding-bottom:0}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ── inner hero: the homepage hero's painted waves, title left, the page photo in the blob ── */
.hero.ih{padding:170px 0 calc(var(--sec) + 60px)}
.ih .hero-grid{min-height:420px;grid-template-columns:1.2fr .8fr;padding-bottom:0}
.ih h1{font-size:clamp(26px,3.35vw,42px);font-weight:800;line-height:1.12;margin-bottom:0;text-wrap:balance}
.ih .hero-photo{width:min(480px,100%)}
.ih .sep{z-index:3}
.ih-blog h1{font-size:clamp(34px,3.6vw,52px)}

/* ── prose inside every inner section ── */
.ib{overflow:hidden}
.ib-prose>*+*{margin-top:16px}
.ib-prose h2+*{margin-top:0}
.ib-prose h3{font-family:var(--f-h);font-weight:700;font-size:clamp(20px,1.7vw,23px);line-height:1.3;color:var(--slate);margin-top:28px;margin-bottom:-4px}
.ib-prose a:not(.btn){color:var(--navy);font-weight:600;text-decoration:underline;text-decoration-color:rgba(91,143,168,.5);text-underline-offset:3px;transition:text-decoration-color .2s}
.ib-prose a:not(.btn):hover{text-decoration-color:currentColor}
.ib-prose a[href^="tel:"],.ib-prose a[href^="mailto:"]{text-decoration:none;white-space:nowrap}
.ib-prose ul,.ib-prose ol{list-style:none;display:grid;gap:12px;margin-top:20px}
.ib-prose ul li,.ib-prose ol li{position:relative;padding-left:34px}
.ib-prose ul li::before{content:"";position:absolute;left:4px;top:.55em;width:14px;height:14px;border-radius:50%;background:var(--g-btn);box-shadow:0 0 0 5px rgba(91,143,168,.16)}
.ib-prose ul li:nth-child(even)::before{background:var(--g-sage);box-shadow:0 0 0 5px rgba(123,175,148,.2)}
.ib-prose ol{counter-reset:ol}
.ib-prose ol li::before{counter-increment:ol;content:counter(ol);position:absolute;left:0;top:.1em;width:24px;height:24px;border-radius:50%;background:var(--g-btn);color:#fff;font:700 13px/24px var(--f-h);text-align:center}
.ib-prose blockquote{margin-top:22px;padding:20px 26px;border-radius:var(--r);background:#fff;box-shadow:var(--sh);font-style:italic}
.ib-prose strong{color:var(--slate)}
.btn-row{margin-top:30px!important}
.hope-grid>*,.split>*,.final-grid>*{min-width:0}
.ib-prose .btn{max-width:100%;white-space:normal;text-align:center;line-height:1.35}

/* ── the bands (each ends in the homepage's painted wave into the next band) ── */
.ib-mist{background:var(--mist)}
.ib-white{background:#fff}
.ib-sagep{background:var(--sagep)}
.ib-water{background:var(--water)}
.ib-navy{background:var(--navy);color:#E6EEF2}
.ib-hope{background:transparent;padding:calc(var(--sec) + 50px) 0 calc(var(--sec) + 110px)}
.ib-hope>.paint:not(.sep){inset:0}
.ib-img,.ib-text,.ib-por{padding-bottom:calc(var(--sec) + 80px)}
/* no wave of its own (the painted Hope band brings one): no room for it either, top and bottom even */
.ib-img:not(:has(>.sep)),.ib-text:not(:has(>.sep)),.ib-por:not(:has(>.sep)){padding-bottom:var(--sec)}
.ib-navy h2,.ib-navy h3,.ib-navy strong{color:#fff}
.ib-navy .ib-prose a:not(.btn){color:#fff;text-decoration-color:rgba(255,255,255,.5)}
.ib-navy .ib-prose ul li::before{box-shadow:0 0 0 5px rgba(255,255,255,.14)}

/* ── image sections: the homepage "Talk to Yourself" split ── */
.ib-img .split{align-items:center}
.ib-img.ib-flip .blobpic{order:2}
.ib-img .blobpic{width:min(520px,100%);justify-self:center}
.ib-img .blobpic .b img{width:100%;height:100%;object-fit:cover}
.ib-img .ib-prose>h2:first-child{margin-bottom:22px}

/* ── text sections: the homepage "Hope" layout ── */
.ib-text .hope-grid{align-items:start}
.ib-text .hope-grid>h2{position:sticky;top:40px;margin-bottom:0}
.ib-hope .hope-grid{align-items:center}
.ib-hope .hope-grid>h2{position:static}
.ib-hope .frost{background:rgba(255,255,255,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--r);padding:40px 42px;box-shadow:0 24px 60px -28px rgba(20,40,52,.55)}
.ib-text .ib-prose.frost>*+*{margin-top:16px}
.ib-wide h2.center{max-width:860px;margin-left:auto;margin-right:auto}
.ib-lead-w>p{max-width:760px;margin-left:auto;margin-right:auto;text-align:center}
.ib-lead-w>.cards3{margin-top:40px}

/* bold-lead lines as the homepage's three contrast cards (the number in the icon disc) */
.ib-cards{margin-top:34px!important}
.ib-cards .c3{text-align:left;padding:34px 30px 30px}
.ib-cards .c3 .ic{width:52px;height:52px;margin:0 0 18px}
.ib-cards .c3 .ic span{font:800 21px/1 var(--f-h);color:#fff}
.ib-cards .c3.sage .ic span{color:var(--navy)}
.ib-cards .c3 p{font-size:17px;line-height:1.65}
.ib-cards .c3.deep strong,.c3.deep .ib-prose strong{color:#fff}
.ib-cards .c3 strong{display:block;font-family:var(--f-h);font-size:19px;margin-bottom:6px}
.ib-text:not(.ib-wide) .ib-cards{grid-template-columns:1fr;gap:16px}

/* ── closing section: the homepage "Baby Steps" lead + step dots ── */
.ib-close{background:var(--mist);padding-bottom:calc(var(--sec) + 10px)}
.ib-close .lead{max-width:760px}
.ib-close .stepline{margin:30px auto 34px}
.ib-close h2{margin-bottom:0}
.ib-close .ib-prose>p{font-size:19px}
.ib-close .ib-prose>p:last-child{font-family:var(--f-h);font-weight:600;color:var(--slate)}

/* ── About headshot sections: the navy Guild band with the emblem blob ── */
.ib-por .split{align-items:center}
.ib-por.ib-flip .ib-head{order:-1}
.ib-head .bl{width:min(440px,100%);aspect-ratio:1/1.04;background:linear-gradient(150deg,#E4EEF3 0%,#F4F7F5 50%,#E2EEE6 100%)}
.ib-head .bl img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.ib-por .ib-prose>h2:first-child{margin-bottom:22px}

/* ── generic page / legal: one reading column on a white card ── */
.ib-doc-sec{background:var(--mist);padding-top:calc(var(--sec) - 30px)}
.ib-doc{max-width:900px;margin:0 auto;background:#fff;border-radius:var(--r);padding:clamp(30px,4.6vw,60px) clamp(22px,5vw,64px);box-shadow:var(--sh)}
.ib-doc h1{font-size:clamp(26px,2.6vw,34px);margin-bottom:10px}
.ib-doc h2{font-size:clamp(23px,2.2vw,29px);margin:34px 0 12px}
.ib-doc h3{margin-top:24px}
.ib-doc p+p{margin-top:14px}

/* ── FAQ: the homepage cards, one question per card, the answer opens under it ── */
.faq-sec{background:var(--water);padding-top:calc(var(--sec) - 20px)}
.faq-intro{max-width:760px;margin:0 auto 34px;text-align:center}
.faq-intro p{font-family:var(--f-h);font-size:clamp(20px,1.9vw,24px);font-weight:300;color:var(--navy)}
.faq-list{max-width:900px;margin:0 auto;display:grid;gap:14px}
.faq-item{background:#fff;border-radius:var(--r);box-shadow:var(--sh);transition:background .35s var(--ease)}
.faq-h{margin:0;font-size:inherit;letter-spacing:0}
.faq-q{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:18px;width:100%;padding:20px 24px 20px 20px;cursor:pointer;font-family:var(--f-h);font-weight:700;font-size:clamp(18px,1.6vw,21px);line-height:1.35;color:var(--slate)}
.faq-q:focus-visible{outline:2px solid var(--cham);outline-offset:3px;border-radius:var(--r)}
.faq-ic{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:var(--g-btn);display:grid;place-items:center;transition:transform .45s var(--ease),background .3s}
.faq-item:nth-child(3n+2) .faq-ic{background:var(--g-sage)}
.faq-ic::before{content:"";width:9px;height:9px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-2px) rotate(45deg)}
.faq-item:nth-child(3n+2) .faq-ic::before{border-color:var(--navy)}
.faq-qt{flex:1}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.faq-a-in{overflow:hidden}
.faq-a-body{padding:0 30px 26px 82px;font-size:17.5px;line-height:1.8}
.faq-item.open .faq-a{grid-template-rows:1fr}
.faq-item.open .faq-ic{transform:rotate(180deg)}
.faq-item:hover .faq-q{color:var(--navy)}
.faq-closing{max-width:760px;margin:34px auto 0;text-align:center}

/* ── blog: the homepage photo cards ── */
.ib-blog{background:var(--mist);padding-top:calc(var(--sec) - 20px)}
.post-list{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.post-card{background:#fff;border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;display:flex;flex-direction:column}
.post-ph{display:block;aspect-ratio:16/9;overflow:hidden;margin:9px 9px 0;border-radius:calc(var(--r) - 8px)}
.post-ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.post-card:hover .post-ph img{transform:scale(1.05)}
.post-tx{padding:26px 30px 30px;display:flex;flex-direction:column;flex:1}
.post-meta{font-family:var(--f-h);font-weight:600;font-size:14px;letter-spacing:.04em;color:var(--deep)}
.post-card h2{font-size:clamp(22px,1.9vw,26px);margin:8px 0 12px}
.post-card h2 a{text-decoration:none;color:var(--slate)}
.post-card h2 a:hover{color:var(--navy)}
.post-card p{font-size:17px;line-height:1.65;flex:1}
.post-card .more{display:inline-flex;align-items:center;gap:10px;margin-top:18px;font-family:var(--f-h);font-weight:700;font-size:15px;color:var(--navy);text-decoration:none}
.post-card .more .b7-arr{position:static;width:34px;height:34px;background:var(--water)}
.post-card .more:hover .b7-arr{background:#CFE3D7}
.pagination{margin-top:40px;display:flex;justify-content:center}
.pagination ul{list-style:none;display:flex;gap:8px}
.pagination a,.pagination span{display:grid;place-items:center;min-width:44px;height:44px;padding:0 10px;border-radius:999px;background:#fff;box-shadow:var(--sh);font-family:var(--f-h);font-weight:600;color:var(--navy);text-decoration:none}
.pagination .current{background:var(--g-btn);color:#fff}

/* ── blog sidebar (TPA blog standard): headshot blob, Get in Touch, Archives; sticky on desktop ── */
.blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:34px;align-items:start}
.blog-layout .post-list{grid-template-columns:1fr}
.ib-single .blog-layout>.ib-doc{max-width:none;margin:0}
.blog-sidebar{display:flex;flex-direction:column;gap:20px;position:sticky;top:24px}
.sb-card{background:#fff;border-radius:var(--r);padding:24px 22px;box-shadow:var(--sh)}
.sb-author{text-align:center}
.sb-headshot{display:block;width:170px;margin:0 auto 14px;position:relative}
.sb-headshot::before{content:"";position:absolute;inset:-6%;z-index:0;border-radius:50%;background:linear-gradient(140deg,rgba(91,143,168,.28),rgba(123,175,148,.28))}
.sb-headshot .b{display:block;position:relative;z-index:1;aspect-ratio:1/1.04}
.sb-headshot img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.sb-name{font-family:var(--f-h);font-weight:700;font-size:17px;line-height:1.35;color:var(--slate)}
.sb-prac{font-size:15px;line-height:1.5;color:var(--deep);margin-top:4px!important}
.sb-more{display:inline-flex;align-items:center;gap:10px;margin-top:14px;font-family:var(--f-h);font-weight:700;font-size:14.5px;color:var(--navy);text-decoration:none;text-align:left}
.sb-more .b7-arr{position:static;flex:0 0 auto;width:32px;height:32px;background:var(--water)}
.sb-more:hover .b7-arr{background:#CFE3D7}
.sb-title{font-size:19px!important;margin-bottom:14px!important;letter-spacing:-.01em}
.sb-contact .contact-lines{gap:10px}
.sb-contact .contact-lines a{width:100%;font-size:14px;white-space:nowrap;word-break:normal;padding:7px 14px 7px 7px;gap:10px;box-shadow:none;background:var(--mist)}
.sb-contact .contact-lines .ic{width:34px;height:34px}
.sb-contact .contact-lines svg{width:16px;height:16px}
.sb-loc{display:flex;gap:10px;align-items:flex-start;margin-top:12px!important;font-size:14.5px;line-height:1.5;color:var(--body)}
.sb-loc .ic{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--g-sage);display:grid;place-items:center}
.sb-loc svg{width:16px;height:16px;fill:none;stroke:var(--navy);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sb-map{margin-top:14px;border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:var(--water);box-shadow:inset 0 0 0 1px rgba(91,143,168,.18)}
.sb-map iframe{display:block;width:100%;height:100%;border:0}
.sb-btn{width:100%;margin-top:16px;padding:14px 18px;font-size:14.5px}
.sb-archive-list{list-style:none;display:grid;gap:2px}
.sb-archive-list li{display:flex;justify-content:space-between;gap:8px;font-size:15px;color:var(--deep)}
.sb-archive-list a{flex:1;padding:6px 0;color:var(--slate);text-decoration:none;font-weight:600}
.sb-archive-list a:hover{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.sb-archive-list li{align-items:center;border-bottom:1px solid rgba(91,143,168,.14)}
.sb-archive-list li:last-child{border-bottom:0}

/* ── single post ── */
.single-body .back-link{display:inline-block;font-family:var(--f-h);font-weight:600;font-size:15px;color:var(--navy);text-decoration:none;margin-bottom:14px}
.single-body .post-meta{margin-bottom:26px}
.single-body .post-by{margin-top:0}
.single-body>.post-by+p::first-letter,.single-body>.post-meta+p:not(.post-by)::first-letter{float:left;font:800 64px/.9 var(--f-h);color:var(--navy);margin:6px 12px 0 0}
.single-body img{border-radius:var(--r);margin:26px 0;width:100%;height:auto}
.single-body blockquote{border-left:4px solid var(--sage)}

/* ── final CTA form: WPForms dressed as the mockup's form ── */
.form-wp .wpforms-container{margin:0!important}
.form-wp .wpforms-container .wpforms-form .wpforms-field-container{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
.form-wp .wpforms-container .wpforms-form .wpforms-field-container>.wpforms-field-text,.form-wp .wpforms-container .wpforms-form .wpforms-field-container>.wpforms-field-textarea{grid-column:1/-1}
.form-wp .wpforms-container .wpforms-form .wpforms-field{padding:0!important;margin:0 0 16px!important}
.form-wp .wpforms-container .wpforms-form .wpforms-field-label,.form-wp .tpa-human-check label{display:block!important;font:600 14px/1.4 var(--f-h)!important;color:var(--slate)!important;margin:0 0 6px!important;text-transform:none!important;letter-spacing:0!important}
.form-wp .wpforms-container .wpforms-form .wpforms-required-label{color:var(--deep)!important}
.form-wp .wpforms-container .wpforms-form input[type=text],.form-wp .wpforms-container .wpforms-form input[type=email],.form-wp .wpforms-container .wpforms-form input[type=tel],.form-wp .wpforms-container .wpforms-form textarea,.form-wp .tpa-human-check input{width:100%!important;max-width:none!important;font:400 16px/1.4 var(--f-b)!important;color:var(--slate)!important;background:#fff!important;border:1px solid #D3DFE3!important;border-radius:14px!important;padding:13px 16px!important;height:auto!important;box-shadow:none!important}
.form-wp .wpforms-container .wpforms-form input:focus,.form-wp .wpforms-container .wpforms-form textarea:focus,.form-wp .tpa-human-check input:focus{outline:2px solid var(--cham)!important;outline-offset:1px!important}
.form-wp .wpforms-container .wpforms-form textarea{min-height:110px!important;resize:vertical}
.form-wp .wpforms-container .wpforms-form .wpforms-field-row{max-width:none!important}
.form-wp .wpforms-container .wpforms-form .wpforms-submit-container{padding:0!important;margin-top:4px!important}
.form-wp .wpforms-container .wpforms-form button[type=submit]{display:inline-flex!important;align-items:center;justify-content:center;font:600 15px/1 var(--f-h)!important;letter-spacing:.02em!important;color:#fff!important;background:var(--g-btn)!important;background-size:160% 100%!important;background-position:0 0!important;padding:16px 30px!important;border-radius:999px!important;border:0!important;height:auto!important;cursor:pointer;box-shadow:0 12px 26px -12px rgba(44,88,114,.6)!important;transition:background-position .5s var(--ease),box-shadow .3s}
.form-wp .wpforms-container .wpforms-form button[type=submit]:hover{background-position:100% 0!important;box-shadow:0 16px 30px -12px rgba(44,88,114,.7)!important}
.form-wp .wpforms-container .wpforms-form label.wpforms-error,.form-wp .wpforms-container .wpforms-form em.wpforms-error{color:#A4433B!important;font-size:14px!important;margin-top:4px!important}
.form-wp .tpa-human-check{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;margin:2px 0 18px}
.form-wp .tpa-human-check label{margin:0!important;white-space:nowrap}
.form-wp .tpa-human-check input,.form-wp .wpforms-container .wpforms-form .tpa-human-check input{width:70px!important;max-width:70px!important;text-align:center}
.form-wp .wpforms-confirmation-container-full,.form-wp div[submit-success]>.wpforms-confirmation-container-full{background:var(--sagep)!important;border:0!important;border-radius:16px;color:var(--slate)!important;padding:22px!important}

/* ── Contact page: the closing section is the page ── */
.final.cta--page{padding-top:calc(var(--sec) - 20px)}
.final.cta--page h2{font-size:clamp(26px,2.4vw,34px)}
.contact-lines .lbl{font-weight:700;color:var(--slate)}
.ct-hours{margin-top:30px;background:rgba(255,255,255,.9);border-radius:var(--r);padding:26px 30px;box-shadow:var(--sh);max-width:420px}
.ct-hours h3{font-family:var(--f-h);font-weight:700;font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);margin-bottom:8px}
.ct-hours .ct-note{font-weight:600;color:var(--slate);line-height:1.55}
.ct-hours ul{list-style:none;margin-top:14px;display:grid;gap:6px}
.ct-hours li{display:flex;align-items:center;gap:12px;font-size:17px}
.ct-hours li::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--g-sage);flex:0 0 auto}

/* ── 404 ── */
.nf{text-align:center}
.nf .btn{margin-top:10px}

/* ── responsive ── */
@media (max-width:1024px){
 .ih .hero-grid{min-height:0}
 .ib-text .hope-grid{grid-template-columns:1fr;gap:22px}
 .ib-text .hope-grid>h2{position:static}
 .blog-layout{grid-template-columns:1fr}
 .blog-sidebar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .sb-author{grid-row:span 2}
}
@media (max-width:768px),(hover:none) and (pointer:coarse) and (max-height:500px){
 .container{padding:0 20px}
}
@media (max-width:768px){
 .hero.ih{padding:118px 0 calc(var(--sec) + 30px)}
 .ih .hero-grid{grid-template-columns:1fr;gap:30px}
 .ih .hero-photo{width:min(360px,92%)}
 .ih h1{font-size:clamp(28px,5.5vw,40px)}
 .ib-img .blobpic{max-width:400px}
 .ib-img.ib-flip .blobpic{order:0}
 .ib-por.ib-flip .ib-head{order:0}
 .ib-img,.ib-text,.ib-por{padding-bottom:calc(var(--sec) + 44px)}
 .ib-hope{padding:calc(var(--sec) + 30px) 0 calc(var(--sec) + 60px)}
 .ib-hope .frost{padding:30px 26px}
 .ib-cards{grid-template-columns:1fr}
 .ib-head .bl{width:min(340px,100%)}
 .faq-q{padding:16px 16px 16px 14px;gap:14px}
 .faq-ic{width:38px;height:38px}
 .faq-a-body{padding:0 20px 22px 20px}
 .post-list{grid-template-columns:1fr}
 .post-tx{padding:22px 22px 26px}
 .blog-sidebar{grid-template-columns:1fr}
 .sb-author{grid-row:auto}
 .form-wp .wpforms-container .wpforms-form .wpforms-field-container{grid-template-columns:1fr}
 .ct-hours{padding:22px 22px}
}
@media (max-width:480px){
 .ib-doc{border-radius:16px}
 .contact-lines a{font-size:15px}
}
@media (hover:none) and (pointer:coarse){
 .post-meta,.form-wp .wpforms-container .wpforms-form .wpforms-field-label,.form-wp .tpa-human-check label,.ct-hours h3,.single-body .back-link{font-size:15px!important}
}

/* ══ Landing page (New Template - August 2026), re-skinned to homepage C1 ══ */

/* header: the homepage header, the LP's anchors in the menu's type, the phone in a gradient disc */
.lp-hdr .nav{margin-left:auto}
.lp-hdr .lp-hcta{margin-left:8px}
.lp-tel{display:inline-flex;align-items:center;gap:10px}
.lp-tel .ic{width:38px;height:38px;border-radius:50%;background:var(--g-btn);display:grid;place-items:center;flex:0 0 auto;box-shadow:0 10px 22px -12px rgba(44,88,114,.6)}
.lp-tel .ic svg{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lp-hdr .hdr-cta{display:flex}
.lp-hdr .lp-hbtn{padding:13px 22px}

/* hero: the homepage hero, the kicker as the location line, two buttons, the badges */
.lp-hero{padding-bottom:calc(var(--sec) + 60px)}
.lp-hero .sep{z-index:3}
.lp-hero .hero-grid{min-height:520px;padding-bottom:0}
.lp-hero h1{font-size:clamp(40px,4.6vw,66px);font-weight:800}
.lp-hero .sub-h{margin-bottom:22px}
.lp-loc{color:var(--navy);font-size:16px;margin-bottom:30px;max-width:520px;line-height:1.45}
.lp-loc .ic{background:var(--g-btn);border:0}
.lp-eyebrow{font-family:var(--f-h);font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--deep);margin-bottom:14px}
.lp-ctas{display:flex;flex-wrap:wrap;gap:14px}
.lp-badges{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.lp-badges li{display:inline-flex;align-items:center;gap:9px;padding:8px 16px 8px 9px;border-radius:999px;background:#fff;color:var(--navy);font-family:var(--f-h);font-size:14px;font-weight:600;box-shadow:var(--sh)}
.lp-badges i{width:22px;height:22px;border-radius:50%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232C5872' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/13px no-repeat,var(--g-sage);flex:none}

/* part 2 on the painted Hope band: the button sits inside the card */
.lp-more .frost .btn-row{margin-top:26px!important}

/* the room: the Plain Talk band, the list in a white card, the closing line */
.lp-room{background:var(--sagep);padding-bottom:calc(var(--sec) + 80px)}
.lp-room .lead{margin-top:6px}
.lp-room-card{max-width:760px;margin:40px auto 0;background:#fff;border-radius:var(--r);padding:34px 40px;box-shadow:var(--sh)}
.lp-benefits{margin-top:0!important}
.lp-room .closing{margin-top:34px;text-align:center;font-family:var(--f-h);font-weight:600;font-size:clamp(20px,1.9vw,24px);color:var(--slate)}

/* process: the three contrast cards along the step dots */
.lp-process{padding-bottom:calc(var(--sec) + 80px)}
.lp-process .stepline{margin:36px auto 0}
.lp-steps{list-style:none;margin-top:30px!important}
.lp-steps .c3,.lp-trust-grid .c3{text-align:left}
.lp-steps .c3 .ic{width:56px;height:56px;margin:0 0 20px}
.lp-steps .c3 .ic span{font:800 22px/1 var(--f-h);color:#fff}
.lp-steps .c3.sage .ic span{color:var(--navy)}
.lp-steps h3,.lp-trust-grid h3{font-family:var(--f-h);font-weight:700;font-size:20px;line-height:1.35;color:inherit;margin-bottom:10px}
.lp-steps .c3.light h3,.lp-trust-grid .c3.light h3,.lp-steps .c3.sage h3,.lp-trust-grid .c3.sage h3{color:var(--slate)}
.lp-steps .c3.deep h3,.lp-trust-grid .c3.deep h3{color:#fff}
.lp-steps .ib-prose p,.lp-trust-grid .ib-prose p{font-size:17px;line-height:1.65}
.lp-process .cta,.lp-center{text-align:center;margin-top:44px}

/* trust: the Plain Talk card icons */
.lp-trust{padding-bottom:calc(var(--sec) + 80px)}
.lp-trust-grid .c3 .ic{margin:0 0 22px}

/* bio: the navy Guild band; the last line bold like the homepage Guild */
.lp-bio .ib-prose>p:last-child{font-weight:700;color:#fff}

/* FAQ */
.lp-faq{padding-bottom:calc(var(--sec) + 80px)}
.lp-faq h2.center{margin-bottom:34px}

/* closing line */
.lp-cta2 .lead{max-width:820px}
.lp-cta2 .stepline{margin:30px auto 34px}
.lp-kicker{font-family:var(--f-h);font-size:14px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--deep);margin-bottom:14px}

/* form section: the homepage closing section */
.lp-final .head h2{margin-bottom:18px}
.lp-next{margin-top:30px}
.lp-next .lp-next-h{font-size:clamp(24px,2.2vw,30px);margin-bottom:16px}
.lp-next-list{list-style:none;counter-reset:nx;display:grid;gap:12px;margin:0!important}
.lp-next-list li{position:relative;padding-left:48px!important}
.lp-next-list li::before{counter-increment:nx;content:counter(nx);position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;background:var(--g-btn);color:#fff;font:700 15px/34px var(--f-h);text-align:center;box-shadow:none}
.lp-lines{margin-top:30px}
.lp-assurances{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px;padding-top:24px;border-top:1px solid rgba(44,88,114,.18)}
.lp-as-h{font:700 14px/1.3 var(--f-h)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)!important;margin-bottom:6px}
.lp-assurance p{font-size:14px!important;line-height:1.6}
.lp-form-card h3{margin-bottom:18px}

/* responsive */
@media (max-width:1180px){.lp-hdr .lp-tel .t{display:none}.lp-hdr .hdr-cta .tel{display:inline-flex}}
@media (max-width:1024px){
 .lp-hdr .lp-hbtn{display:none}
 .lp-steps,.lp-trust-grid{grid-template-columns:1fr;max-width:620px;margin-left:auto;margin-right:auto}
}
/* the LP has no burger: the anchors stay; at the homepage's burger width they become a 2x2 grid of pills */
@media (max-width:1024px),(hover:none) and (pointer:coarse) and (max-height:500px){
 .lp-hdr .hdr-in{flex-wrap:wrap;gap:12px 14px}
 .lp-hdr .hdr-cta{display:flex;margin-left:auto}
 .lp-hdr .lp-tel .t{display:inline}
 .lp-hdr .nav{position:static;opacity:1;visibility:visible;transform:none;background:none;box-shadow:none;padding:0;max-height:none;overflow:visible;order:3;flex:1 0 100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:0}
 .lp-hdr .nav>li>a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:44px;padding:8px 6px;font-size:15px;white-space:normal;background:rgba(255,255,255,.85);border:1px solid rgba(91,143,168,.25);border-radius:999px}
 .lp-hero{padding-top:calc(var(--hdrh,200px) + 26px)}
}
@media (max-width:768px),(hover:none) and (pointer:coarse) and (max-height:500px){
 .lp-assurances{grid-template-columns:1fr}
 .lp-ctas .btn{width:100%}
}
@media (max-width:768px){
 .lp-hero{padding-top:calc(var(--hdrh,230px) + 22px);padding-bottom:calc(var(--sec) + 30px)}
 .lp-hero .hero-grid{min-height:0}
 .lp-room-card{padding:26px 22px}
 .lp-room,.lp-process,.lp-trust,.lp-faq{padding-bottom:calc(var(--sec) + 44px)}
}
@media (max-width:430px){
 .lp-hdr .logo .lw{width:140px}
 .lp-hdr .lp-tel{font-size:14px;gap:7px}
 .lp-hdr .lp-tel .ic{width:32px;height:32px}
 .lp-hdr .nav>li>a{font-size:14px;padding-inline:4px}
}
@media (hover:none) and (pointer:coarse){
 .lp-badges li,.lp-eyebrow,.lp-kicker,.lp-assurance p,.lp-as-h{font-size:15px!important}
}
