/* Shared visual polish. Approved copy, forms and referral terms stay intact. */
.button{border-radius:14px;transition:background .18s,box-shadow .18s,transform .18s}
.button-primary,.booking-section .button-light{background:linear-gradient(180deg,#ffab65 0%,#f58b3c 100%);color:#111e31;border:1px solid #df7122;box-shadow:0 4px 0 #b95619,0 8px 16px #111e3112}
.button-primary:hover,.booking-section .button-light:hover{background:#ffb579;color:#111e31;transform:translateY(-2px);box-shadow:0 6px 0 #b95619,0 11px 18px #111e3118}
.button-primary:active,.booking-section .button-light:active{transform:translateY(3px);box-shadow:0 1px 0 #b95619}
.button:focus-visible{outline:3px solid #087775;outline-offset:6px}
.site-header{box-shadow:0 4px 24px #111e3106}
#primary-nav a{position:relative}
#primary-nav a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
.visual-home .hero{position:relative;isolation:isolate;background:#fcf9f3;color:#111e31;padding-block:56px 64px;overflow:hidden}
.visual-home .hero:before{content:'';position:absolute;z-index:-1;inset:0 0 0 58%;background:#e4f0eb;border-radius:50% 0 0 50%}
.visual-home .hero:after{content:'';position:absolute;z-index:-1;width:400px;height:400px;border:1px solid #08777526;border-radius:50%;right:-140px;top:-240px;box-shadow:0 0 0 36px #08777506,0 0 0 72px #08777504}
.visual-home .hero-grid{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:64px}
.visual-home .hero .eyebrow{color:#075c5a;letter-spacing:.1em;display:inline-flex;align-items:center;gap:10px}
.visual-home .hero .eyebrow:before{content:'';width:9px;height:9px;border-radius:50%;background:#f27620;box-shadow:0 0 0 5px #f2762019;flex:none}
.visual-home .hero h1{font-size:clamp(2.5rem,4.05vw,3.65rem);line-height:1.12;max-width:19.5ch}
.visual-home .hero h1 span{color:#087775}
.visual-home .hero-sub{color:#475a65;font-size:1.125rem;max-width:49ch}
.visual-home .hero .micro,.visual-home .hero-location{color:#475a65}
.visual-home .hero-location a{color:#075c5a}
.visual-home .hero-actions{gap:17px}
.visual-home .hero-actions .text-link{color:#075c5a;border:1px solid #08777566;border-radius:12px;padding:9px 18px;text-decoration:none;min-height:48px;background:#fff8;transition:background .18s,transform .18s}
.visual-home .hero-actions .text-link:hover{background:#e0efea;transform:translateY(-2px)}
.visual-home .advisor-photo{border:8px solid #fff;border-radius:160px 160px 28px 28px;box-shadow:16px 18px 0 #c4dcd3,0 24px 48px #112f4018;transform:rotate(2deg);margin:6px 16px 20px 0;overflow:hidden;background:#fff}
.visual-home .advisor-photo>img{aspect-ratio:1/1.04;object-position:center 40%}
.visual-home .advisor-photo figcaption{background:#0c4e54;color:#fff;padding:23px 23px 24px}
.visual-home .advisor-photo figcaption span{color:#d9ebe6!important;font-size:1rem!important}
.visual-home .advisor-photo strong{font-size:1.65rem}
.visual-home .trust-line{background:#0c4e54;color:#fff;border:0}
.visual-home .trust-line .container{padding-block:19px}
.visual-home .trust-line span:before{color:#ffb579}
.visual-home #guides{background:#fff;padding-block:64px}
.visual-home .section-intro{align-items:center}
.visual-home #guides .section-intro{margin-bottom:28px}
/* Four existing paths progressively become a keyboard-accessible selector. */
.path-selector{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:stretch}
.path-tabs{display:grid;gap:10px}
.path-tab{display:flex;align-items:center;gap:16px;text-align:left;width:100%;border:1px solid #c7d8d7;border-radius:16px;padding:17px 20px;min-height:76px;background:#f8faf8;color:#112f40;font:700 1.125rem/1.35 var(--body);transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}
.path-tab .path-number{display:grid;place-items:center;width:34px;height:34px;flex:none;border:1px solid #afc8c2;border-radius:50%;font-size:.875rem;color:#075c5a}
.path-tab[aria-selected=true]{background:#0c4e54;color:#fff;border-color:#0c4e54;box-shadow:0 6px 16px #0c4e5415}
.path-tab[aria-selected=true] .path-number{background:#f7aa6f;color:#111e31;border-color:#f7aa6f}
.path-tab:hover{transform:translateX(3px);border-color:#087775}
.path-tab:focus-visible{outline:3px solid #f27620;outline-offset:3px}
.path-selector .brand-paths{display:block;min-width:0}
.path-panel{height:100%}
.path-panel[hidden]{display:none!important}
.path-panel .guide-card{height:100%;width:100%;margin:0;min-height:100%;padding:30px 34px;background:#edf5f0;color:#111e31;border:1px solid #c8ddd3;border-radius:24px;box-shadow:none;justify-content:center;isolation:isolate}
.path-panel:nth-child(2) .guide-card{background:#fff2e2;border-color:#ebd2b1}
.path-panel:nth-child(3) .guide-card{background:#e9f1f5;border-color:#c7d9e2}
.path-panel:nth-child(4) .guide-card{background:#f0f0e6;border-color:#d9ddbf}
.path-panel .guide-icon{width:62px;height:62px;margin:0 0 20px;color:#087775!important}
.path-panel .guide-card h3{font-size:1.625rem;max-width:25ch}
.path-panel .guide-card p{font-size:1.125rem;color:#475a65;max-width:44ch;margin:15px 0 24px}
.path-panel .guide-card .card-link{background:#fff;color:#075c5a;border:1px solid #8db5a8;border-radius:12px;padding:12px 18px;margin-top:auto;align-self:flex-start;box-shadow:0 3px 0 #bfd5c9;text-decoration:none;min-height:48px;align-items:center}
.path-panel .guide-card:hover .card-link{background:#0c4e54;color:#fff;border-color:#0c4e54}
.visual-home .resource-links{gap:12px 26px;margin-top:22px}
.visual-home .urgent-help{margin-top:12px}
.visual-home .brand-problem{background:#fcf9f3;border-block:1px solid #eee5d9}
.visual-home .brand-problem .container{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:64px;align-items:start}
.visual-home .brand-problem .eyebrow{grid-column:1/-1}
.visual-home .brand-problem h2{font-size:clamp(1.875rem,3.1vw,2.6rem);max-width:24ch}
.visual-home .problem-copy{display:block;margin:0;border-left:3px solid #e99b63;padding-left:28px}
.visual-home .problem-copy p+p{margin-top:20px}
.visual-home .approach{background:#fff}
.visual-home .brand-plan{background:#edf4ef;padding:32px;border-radius:26px;border:1px solid #d5e4da}
.visual-home .step-number{background:#0c4e54;color:#fff;border-color:#0c4e54}
.visual-home .steps li:not(:last-child):before{border-color:#b5cfc0}
.visual-home .hoppy-backing{background:#fcf9f3;border:1px solid #e9dfcf;padding:24px 30px;border-radius:18px}
.visual-home .brand-proof{background:#eef4f1}
.visual-home .proof-points>div{border-top:0;border-left:3px solid #087775;padding:4px 0 4px 18px}
.visual-home .proof-points p{margin-bottom:0}
.visual-home .proof-example{border-radius:24px;box-shadow:0 8px 24px #112f4006}
.visual-home .proof-measures{gap:16px}
.visual-home .proof-measures div{background:repeating-linear-gradient(90deg,transparent 0 23px,#08777508 23px 24px),repeating-linear-gradient(0deg,#edf5f0 0 23px,#08777508 23px 24px);border:1px solid #d0e1d6;border-radius:14px;padding:20px}
.visual-home .proof-measures div+div{background-color:#fff3e5;border-color:#e7d4bd}
.visual-home .proof-measures strong{font-size:2.5rem;color:#0c4e54}
.visual-home .hoppy-review{background:#fcf9f3;border-color:#eee3d5;border-radius:22px}
.visual-home .hoppy-review:nth-child(2){background:#edf4ef;border-color:#d7e5da}
.visual-home .hoppy-review blockquote{font-size:1.25rem;font-weight:500}
.visual-home .booking-section{background:radial-gradient(ellipse at 100% 0,#166165,transparent 60%),#093f45}
.visual-home .visit-notes{border-radius:22px;background:#ffffff0c}
.visual-home .location-card{border-radius:24px;box-shadow:0 10px 30px #112f400d}
.visual-home .faq-list details{background:#fff;border:1px solid #d6e2dc;border-radius:14px;padding-inline:22px;margin-bottom:10px}
.visual-home .faq-list details[open]{border-color:#087775;background:#f3f8f4}
.visual-home .faq-list summary:after{right:0}
.visual-home .service-links a{border:1px solid #c7d8d7;border-radius:14px;padding:18px 22px;background:#f4f8f4;transition:background .18s,transform .18s}
.visual-home .service-links a:hover{background:#e4f0e8;transform:translateY(-2px)}
.aw-home-referral .aw-home-referral-inner{border-radius:24px;background:#fff2e2;border:1px solid #ead1b0}
/* Referral: balanced columns, full-width readable message, consistent controls. */
#aw-referral .aw-ref-hero-wrap{background:radial-gradient(ellipse at 5% 5%,#fff1df,transparent 58%),#f7faf7}
#aw-referral .aw-ref-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:54px;align-items:start;padding-block:38px 64px}
#aw-referral .aw-ref-hero-copy{padding-top:24px;min-width:0}
#aw-referral .aw-ref-hero-title{font-size:clamp(2.5rem,4.3vw,3.75rem);line-height:1.09;letter-spacing:-.045em;max-width:12ch}
#aw-referral .aw-ref-reward{color:#087775;display:inline-block;position:relative;isolation:isolate}
#aw-referral .aw-ref-reward:after{content:'';position:absolute;z-index:-1;left:-4px;right:-4px;bottom:0;height:22%;background:#ffd7ad;border-radius:4px;transform:rotate(-3deg)}
#aw-referral .aw-ref-intro{font-size:1.125rem;line-height:1.65;max-width:43ch;margin-top:24px}
#aw-referral .aw-ref-eyebrow{font-size:.875rem;line-height:1.6}
#aw-referral .aw-ref-no-catch{font-size:.875rem;max-width:43ch;margin-top:22px}
#aw-referral .aw-ref-advisor{padding-top:24px;gap:16px;margin-top:28px}
#aw-referral .aw-ref-advisor-mark{width:72px;height:72px;border-radius:50%;overflow:hidden;border:3px solid #fff;box-shadow:0 3px 12px #112f4014;flex:none;background:#e2eee7}
#aw-referral .aw-ref-advisor-mark img{display:block;width:100%;height:100%;object-fit:cover}
#aw-referral .aw-ref-advisor p{font-size:.875rem;line-height:1.6}
#aw-referral .aw-ref-share-card{border:1px solid #bdcec6;border-radius:24px;box-shadow:10px 12px 0 #dfeadf,0 16px 40px #112f4010;min-width:0;background:#fff}
#aw-referral .aw-ref-role-tabs{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:7px;gap:6px;background:#edf3ee}
#aw-referral .aw-ref-role-tab{font-size:1rem;min-height:58px;line-height:1.35;border-radius:14px;padding:10px;white-space:normal}
#aw-referral .aw-ref-role-tab[aria-selected=true]{background:#0c4e54;color:#fff;box-shadow:0 3px 0 #f5a76b}
#aw-referral .aw-ref-cardbody{padding:25px 28px 20px}
#aw-referral .aw-ref-cardbody h2{font-size:1.625rem;line-height:1.25}
#aw-referral .aw-ref-cardbody>.aw-ref-muted{font-size:1rem;line-height:1.6;margin:10px 0 20px}
#aw-referral .aw-ref-field-label{font-size:1rem;line-height:1.5}
#aw-referral .aw-ref-field-helper,#aw-referral .aw-ref-card-end,#aw-referral .aw-ref-status{font-size:.875rem;line-height:1.5}
#aw-referral .aw-ref-textfield{font-size:1rem;border-radius:10px;height:50px}
#aw-referral .aw-ref-message-top{margin-top:20px}
#aw-referral .aw-ref-message-top span,#aw-referral .aw-ref-message-top small{font-size:.875rem;line-height:1.5}
#aw-referral .aw-ref-messagebox{font-size:1rem;line-height:1.6;min-height:0;padding:18px;border:1px solid #d2e1d8;border-radius:14px;background:#f4f8f4}
#aw-referral .aw-ref-button{min-height:54px;border-radius:14px;font-size:1rem;padding:13px 18px;line-height:1.5;white-space:normal;transition:background .18s,box-shadow .18s,transform .18s}
#aw-referral .aw-ref-button.aw-ref-primary,#aw-referral .aw-ref-button.aw-ref-secondary{color:#111e31;background:linear-gradient(180deg,#ffab65,#f58b3c);border:1px solid #df7122;box-shadow:0 4px 0 #b95619}
#aw-referral .aw-ref-button.aw-ref-primary:hover,#aw-referral .aw-ref-button.aw-ref-secondary:hover{background:#ffb579;transform:translateY(-2px);box-shadow:0 6px 0 #b95619}
#aw-referral .aw-ref-button:active{transform:translateY(3px)}
#aw-referral .aw-ref-copy-button{margin-top:18px}
#aw-referral .aw-ref-status{margin-top:14px;min-height:0}
#aw-referral .aw-ref-card-actions{flex-wrap:wrap;gap:8px 20px;padding-top:8px}
#aw-referral .aw-ref-text-button,#aw-referral .aw-ref-card-actions .aw-ref-text-button{font-size:1rem;min-height:44px}
#aw-referral .aw-ref-card-end{padding:14px 28px;background:#fafbf9}
#aw-referral .aw-ref-referred-panel .aw-ref-cardbody{min-height:0}
#aw-referral .aw-ref-homeowner-points{flex-wrap:wrap;gap:10px 16px;font-size:.875rem}
#aw-referral .aw-ref-homeowner-points span{white-space:normal}
#aw-referral .aw-ref-handoff-scope p{font-size:1rem}
#aw-referral .aw-ref-process{padding-block:64px}
#aw-referral .aw-ref-steps{gap:20px}
#aw-referral .aw-ref-step{padding:24px!important;border:1px solid #d9e4db!important;border-radius:20px;background:#f3f7f2;min-width:0}
#aw-referral .aw-ref-step:nth-child(2){background:#fcf6ee;border-color:#e9decf!important}
#aw-referral .aw-ref-step-number{position:static;display:grid;place-items:center;width:40px;height:40px;border:0;background:#0c4e54;color:#fff;font-size:1rem;margin-bottom:20px}
#aw-referral .aw-ref-step h3{font-size:1.25rem;line-height:1.4}
#aw-referral .aw-ref-step p,#aw-referral .aw-ref-section-top>p,#aw-referral .aw-ref-elig-heading p,#aw-referral .aw-ref-qual-row,#aw-referral .aw-ref-not-included,#aw-referral .aw-ref-faq-intro p,#aw-referral .aw-ref-faq details p{font-size:1.125rem;line-height:1.65}
#aw-referral .aw-ref-payment-note,#aw-referral .aw-ref-payment-note b{font-size:1rem;line-height:1.65}
#aw-referral .aw-ref-assessment-band{border-radius:24px;background:#0c4e54}
#aw-referral .aw-ref-assessment-band p{font-size:1.125rem}
#aw-referral .aw-ref-assessment-band small,#aw-referral .aw-ref-terms-line p{font-size:.875rem}
#aw-referral .aw-ref-faq summary{font-size:1.125rem;line-height:1.5}
@media(min-width:861px) and (max-width:1080px){#aw-referral .aw-ref-hero{gap:30px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}#aw-referral .aw-ref-cardbody{padding:24px 22px}#aw-referral .aw-ref-role-tab{font-size:.9375rem}}
@media(max-width:860px){#aw-referral .aw-ref-hero{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:20px 46px}#aw-referral .aw-ref-hero-copy{padding-top:0}#aw-referral .aw-ref-hero-title{max-width:17ch}#aw-referral .aw-ref-desktop-break{display:none}#aw-referral .aw-ref-intro{max-width:60ch}#aw-referral .aw-ref-share-card{width:100%;max-width:620px;justify-self:center;box-shadow:6px 8px 0 #dfeadf}#aw-referral .aw-ref-advisor{max-width:none}#aw-referral .aw-ref-steps{grid-template-columns:minmax(0,1fr)}}
@media(max-width:800px){.visual-home .hero{padding-block:34px 42px}.visual-home .hero:before{inset:52% -25% -30% 12%;border-radius:50% 0 0 0}.visual-home .hero-grid{grid-template-columns:minmax(0,1fr);gap:34px}.visual-home .hero h1{font-size:clamp(2.25rem,7.7vw,3.5rem);max-width:22ch}.visual-home .hero .eyebrow{font-size:.875rem;letter-spacing:.06em}.visual-home .hero-actions .text-link{font-size:1rem}.visual-home .advisor-photo{max-width:400px;justify-self:center;transform:rotate(1deg);margin:0 12px 12px 0;border-radius:120px 120px 24px 24px;box-shadow:10px 12px 0 #c4dcd3}.visual-home .advisor-photo>img{aspect-ratio:1.15;object-position:center 37%}.visual-home .advisor-photo figcaption{padding:20px}.visual-home .trust-line .container{display:grid;gap:10px;padding-block:20px}.visual-home #guides{padding-block:46px}.path-selector{grid-template-columns:minmax(0,1fr);gap:18px}.path-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.path-tab{font-size:1rem;padding:14px 12px;min-height:100px;display:block}.path-tab .path-number{width:26px;height:26px;margin-bottom:8px;font-size:.8125rem}.path-tab:hover{transform:none}.path-panel .guide-card{padding:26px;border-radius:20px}.path-panel .guide-card h3{font-size:1.5rem}.path-panel .guide-icon{width:48px;height:48px;margin-bottom:16px}.path-panel .guide-card p{margin:14px 0 22px}.visual-home .brand-problem .container{display:block}.visual-home .brand-problem h2{max-width:27ch}.visual-home .problem-copy{margin-top:28px;padding-left:20px}.visual-home .brand-plan{padding:26px 22px}.visual-home .hoppy-backing{padding:24px}.visual-home .resource-links{gap:6px 24px}.visual-home .proof-points{gap:22px}.visual-home .faq-list details{padding-inline:18px}.button-primary:hover{transform:none}.mobile-actions .button{box-shadow:0 3px 0 #b95619;border-radius:11px}#aw-referral .aw-ref-process{padding-block:44px}}
@media(max-width:480px){#aw-referral .aw-ref-hero-title{font-size:2.5rem}#aw-referral .aw-ref-cardbody{padding:22px 18px 18px}#aw-referral .aw-ref-role-tab{font-size:.9375rem;padding:10px 7px}#aw-referral .aw-ref-role-tab .aw-ref-icon{display:none}#aw-referral .aw-ref-card-end{padding:14px 18px}#aw-referral .aw-ref-messagebox{padding:14px}#aw-referral .aw-ref-message-top{flex-wrap:wrap;gap:4px}#aw-referral .aw-ref-step{padding:22px!important}#aw-referral .aw-ref-section-top h2,#aw-referral .aw-ref-elig-heading h2,#aw-referral .aw-ref-faq h2{font-size:1.875rem}}
@media(prefers-reduced-motion:reduce){.button,.path-tab,.visual-home .hero-actions .text-link,.visual-home .service-links a,#aw-referral .aw-ref-button{transition:none!important;transform:none!important}.visual-home .advisor-photo{transform:none}}
@media(forced-colors:active){.path-tab[aria-selected=true]{outline:3px solid Highlight}.path-panel .guide-card .card-link{border:1px solid ButtonText}}
/* The main site's grid-form gap compounded this module's own field margins. */
#aw-referral #aw-ref-assessment-form{display:block}
#aw-referral #aw-ref-assessment-form .aw-ref-textfield{margin-top:7px}
#aw-referral #aw-ref-assessment-form .aw-ref-field-helper{margin-top:8px}
#aw-referral #aw-ref-assessment-form .aw-ref-handoff-scope{margin:20px 0}
#aw-referral #aw-ref-assessment-form .aw-ref-button{margin-top:0}
/* Keep the full Hoppy mark without forcing tablet navigation onto a second row. */
@media(min-width:801px) and (max-width:1000px){
 .site-header .header-inner{flex-wrap:nowrap;gap:16px;min-height:100px}
 .site-header .brand{margin-right:auto}
 .site-header .header-book{display:inline-flex;order:2;margin:0;flex:none}
 .site-header .menu-toggle{display:flex;order:3;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px;color:var(--navy)}
 .site-header .menu-toggle .sr-only{display:block}
 .site-header #primary-nav{display:none;position:absolute;left:32px;right:32px;top:calc(100% + 6px);padding:14px 20px;background:#fff;box-shadow:0 12px 30px #111e3125;border:1px solid var(--line);border-radius:12px;flex-direction:column;align-items:stretch;gap:0;z-index:31}
 .site-header #primary-nav.is-open{display:flex}
 .site-header #primary-nav a{min-height:48px}
}
#aw-referral .aw-ref-thanks{white-space:nowrap}
