/* ShaneHub Contact page V3 — 16 October 2026. Green theme, short and friendly. Local to .ct-page. */
.ct-page{--ct-forest:#0f3d2b;--ct-emerald:#167a4c;--ct-mint:#e4f1e6;--ct-paper:#fbfaf5;--ct-muted:#46544a;--ct-ease:cubic-bezier(.2,.8,.2,1);overflow-x:clip;color:var(--ink)}
.ct-page :is(h1,h2,h3){letter-spacing:-.055em;isolation:isolate}
.ct-page .button{font-size:15px;min-height:52px;white-space:normal;text-align:left}
.ct-page .underlink{font-size:15px;min-height:44px}
.ct-page :is(h1,h2) mark{position:relative;z-index:-1;background:linear-gradient(transparent 14%,var(--lime) 14%);color:inherit;padding:0 .08em .02em;margin-left:-.04em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.ct-kicker{display:flex;align-items:center;gap:14px;margin-bottom:24px;font:700 14px 'Courier New',monospace;text-transform:uppercase;letter-spacing:.08em}
.ct-kicker>span{background:var(--ct-forest);color:var(--lime);padding:3px 7px;font-size:13px}
.ct-kicker-center{justify-content:center}
.ct-kicker-center:before,.ct-kicker-center:after{content:'';flex:1;border-top:3px double currentColor}
.ct-standfirst{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:clamp(20px,1.8vw,24px);line-height:1.5;color:#22342a;max-width:640px;margin:16px auto 0}

/* Hero */
.ct-hero{background:var(--ct-mint);padding:26px 0 70px}
.ct-art{position:relative;margin:0 auto 56px;width:min(100%,calc((100svh - 200px) * 1.777));min-width:min(100%,960px)}
.ct-art:before{content:'';position:absolute;inset:16px -16px -16px 16px;background:var(--ct-forest)}
.ct-art img{position:relative;width:100%;height:auto;aspect-ratio:1672/941;border:2px solid var(--ink);background:#cfe3d3}
.ct-hero-copy{max-width:900px;margin:0 auto;text-align:center}
.ct-hero h1{font-size:clamp(44px,5.4vw,80px);line-height:1.06;letter-spacing:-.065em}

/* Switchboard: contact lines + a small note card */
.ct-board{background:var(--ct-paper);padding:80px 0 88px;border-top:2px solid var(--ct-forest)}
.ct-board-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;max-width:1080px;margin:0 auto;align-items:start}
.ct-lines{list-style:none;display:grid;gap:14px}
.ct-line{display:flex;align-items:center;gap:16px;padding:20px 22px;border:2px solid var(--ct-forest);background:#fff;transition:transform .3s var(--ct-ease),box-shadow .3s var(--ct-ease)}
a.ct-line:hover{transform:translate(-3px,-4px);box-shadow:7px 8px 0 var(--ct-forest)}
.ct-line>svg{width:42px;height:42px;flex:none;color:var(--ct-emerald)}
.ct-line>span{display:flex;flex-direction:column;flex:1;min-width:0}
.ct-line small{font:700 12px 'Courier New',monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--ct-muted)}
.ct-line b{font-size:22px;letter-spacing:-.04em;line-height:1.2;overflow-wrap:anywhere}
.ct-line em{font-style:normal;font-size:15px;color:var(--ct-muted)}
.ct-line.is-wa{background:var(--ct-forest);color:var(--ct-paper)}
.ct-line.is-wa small,.ct-line.is-wa em{color:#c6dccb}
.ct-line.is-wa:hover{box-shadow:7px 8px 0 var(--lime)}
.ct-line.is-static{background:var(--ct-mint)}
.ct-note-card{position:relative;background:#fff;border:2px solid var(--ct-forest);box-shadow:12px 12px 0 var(--lime);padding:26px 28px 24px;display:flex;flex-direction:column;gap:14px}
.ct-note-card:before{content:'';position:absolute;top:-14px;left:50%;width:110px;height:26px;margin-left:-55px;background:#d5ff36cc;transform:rotate(-3deg)}
.ct-note-card h2{font-size:clamp(28px,2.6vw,36px);line-height:1.05}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ct-note-card label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px}
.ct-note-card :is(input,select,textarea){font:inherit;font-weight:400;font-size:16px;border:1.5px solid var(--ct-forest);border-radius:0;background:#fff;padding:11px 12px;min-height:48px;color:var(--ink);width:100%}
.ct-note-card textarea{resize:vertical;min-height:88px}
.ct-note-card :is(input,select,textarea):focus{outline:3px solid var(--lime);outline-offset:0}
.ct-note-card [aria-invalid="true"]{border-color:#b3261e;background:#fff4f2}
.ct-error{color:#a0201a;font-weight:700;margin:0}
.ct-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.ct-sent{margin:0;background:var(--lime);border:2px solid var(--ct-forest);padding:12px 14px}

/* Support band */
.ct-help-band{background:var(--ct-forest);color:var(--ct-paper);padding:78px 0 84px;text-align:center}
.ct-help-q{font-family:Georgia,serif;font-style:italic;font-size:clamp(20px,2vw,26px);color:#c6dccb;margin:0 0 10px}
.ct-help-band h2{font-size:clamp(34px,4.4vw,62px);line-height:1.08;color:var(--ct-paper);margin-bottom:30px}
.ct-help-band h2 mark{color:var(--ct-forest)}
.ct-help-actions{display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap}
.ct-help-band .underlink{color:var(--lime)}

@media(prefers-reduced-motion:no-preference){
 .ct-hero .ct-art img{animation:ct-curtain 1.2s cubic-bezier(.7,0,.2,1) both}
 .ct-hero .ct-art:before{animation:ct-slide 1s var(--ct-ease) .7s both}
 .ct-hero-copy>*{animation:ct-rise .8s var(--ct-ease) both;animation-delay:calc(.45s + var(--k,0) * .1s)}
 .ct-hero-copy>:nth-child(2){--k:1}.ct-hero-copy>:nth-child(3){--k:2}
 .ct-js .ct-lines li{opacity:0;transform:translateX(-30px)}
 .ct-js .ct-board.is-in .ct-lines li{opacity:1;transform:none;transition:opacity .5s,transform .7s var(--ct-ease)}
 .ct-js .ct-board.is-in .ct-lines li:nth-child(2){transition-delay:.1s}.ct-js .ct-board.is-in .ct-lines li:nth-child(3){transition-delay:.2s}
 .ct-js .ct-note-card{opacity:0;transform:translateY(30px) rotate(1.5deg)}
 .ct-js .ct-board.is-in .ct-note-card{opacity:1;transform:none;transition:opacity .6s .2s,transform .9s var(--ct-ease) .2s}
}
@keyframes ct-curtain{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
@keyframes ct-slide{from{opacity:0;transform:translate(-16px,-16px)}}
@keyframes ct-rise{from{opacity:0;transform:translateY(18px)}}
@media(max-width:900px){
 .ct-art{width:100%;min-width:0}
 .ct-art:before{inset:10px -10px -10px 10px}
 .ct-board-grid{grid-template-columns:1fr;max-width:600px}
 .ct-board{padding:64px 0 72px}
}
@media(max-width:600px){
 .ct-page .wrap{width:calc(100% - 32px)}
 .ct-hero{padding:16px 0 56px}
 .ct-hero h1{font-size:40px}
 .ct-kicker{font-size:12px}
 .ct-row{grid-template-columns:1fr}
 .ct-note-card{padding:22px 18px 20px;box-shadow:8px 8px 0 var(--lime)}
 .ct-actions{flex-direction:column;align-items:stretch}
 .ct-actions .underlink{align-self:center}
 .ct-line b{font-size:19px}
}
@media(prefers-reduced-motion:reduce){.ct-page *{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Hero V2: pinned, tilted photo with the contact lines overlapping its lower edge */
.ct-hero{padding:40px 0 0;background:var(--ct-mint);border-bottom:0}
.ct-hero .ct-art{transform:rotate(-1.6deg);margin-bottom:0;width:min(100%,1180px,calc((100svh - 230px) * 1.777))}
.ct-pin{position:absolute;z-index:3;top:-12px;width:22px;height:22px;border-radius:50%;background:var(--lime);border:2px solid var(--ct-forest);box-shadow:2px 3px 0 var(--ct-forest)}
.ct-pin.p1{left:6%}.ct-pin.p2{right:6%}
.ct-hero .ct-lines{position:relative;z-index:4;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1100px;margin:-62px auto 0;transform:translateY(50%)}
.ct-hero .ct-line{box-shadow:6px 6px 0 var(--ct-forest)}
.ct-hero .ct-line.is-wa{box-shadow:6px 6px 0 var(--lime)}
.ct-board{padding-top:150px}
.ct-board .ct-hero-copy{margin-bottom:46px}
.ct-board .ct-note-card{max-width:640px;margin:0 auto}
@media(prefers-reduced-motion:no-preference){
 .ct-hero .ct-art{animation:ct-pin-in 1s cubic-bezier(.3,1.2,.4,1) both}
 .ct-hero .ct-art img,.ct-hero .ct-art:before{animation:none}
 .ct-js .ct-hero .ct-lines li{opacity:1;transform:none;animation:ct-rise .7s var(--ct-ease) both;animation-delay:calc(.6s + var(--n,0) * .12s)}
 .ct-hero .ct-lines li:nth-child(2){--n:1}.ct-hero .ct-lines li:nth-child(3){--n:2}
 .ct-js .ct-board .ct-hero-copy>*{animation:none}
}
@keyframes ct-pin-in{from{opacity:0;transform:translateY(-30px) rotate(-6deg)}to{opacity:1;transform:rotate(-1.6deg)}}
@media(max-width:900px){.ct-hero .ct-lines{grid-template-columns:1fr;max-width:560px;margin-top:-30px;transform:none}.ct-hero{padding-bottom:40px}.ct-board{padding-top:64px}.ct-hero .ct-art{width:100%}}
