/* Marketing is scoped to this route; account components below remain shared. */
.referral-page{background:#faf9f4;color:#203e31}
.referral-page .referral-hero{position:relative;background:radial-gradient(ellipse at 80% 30%,#34553b55,transparent 60%),linear-gradient(120deg,#214231,#102e26);color:#faf8eb;padding:82px 0 94px;border-bottom:1px solid #3b5a41}
.referral-page .referral-hero:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(90deg,#dfe8cf08 1px,transparent 1px);background-size:12.5% 100%}
.referral-page .referral-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:66px;align-items:center}
.referral-page .referral-hero-copy{min-width:0}
.referral-page .referral-hero .eyebrow{color:#e4ca76;font-size:10px;letter-spacing:.17em;font-weight:650}
.referral-page .referral-hero h1{font-size:clamp(52px,5.4vw,80px);font-weight:550;line-height:1.025;letter-spacing:-.06em;margin:26px 0 28px}
.referral-page .referral-hero h1 em{font-style:normal;color:#fcc306}
.referral-page .referral-lead{font-size:16px;line-height:1.85;max-width:560px;color:#c9d7c6}
.referral-actions{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}
.referral-page .referral-actions .button{min-height:49px;gap:20px;line-height:1.5;white-space:normal}
.referral-page .referral-hero .button.secondary{background:transparent;border:1px solid #738b70;color:#f8f5e5;box-shadow:inset 0 1px 0 #ffffff0a}
.referral-page .referral-hero .button.secondary:hover{background:#34543c;border-color:#aec19a}
.referral-page .referral-fine{max-width:430px;padding-left:14px;border-left:1px solid #b39b4f;color:#a9bda4;font-size:11px;line-height:1.8;margin-top:28px}
.referral-page .referral-offer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;position:relative;padding:24px 0}
.referral-page .referral-offer:before{content:'';position:absolute;left:-20px;right:-20px;top:50%;height:1px;background:#94aa6a55}
.referral-page .referral-offer>div{position:relative;display:flex;flex-direction:column;min-width:0;padding:25px 23px 28px;background:#f7f2de;color:#214130;border-radius:4px;box-shadow:0 22px 42px -20px #071c1b88;transform:translateY(-19px)}
.referral-page .referral-offer>div+div{background:linear-gradient(155deg,#ffda59,#fcc306);transform:translateY(19px);border:1px solid #ffe381}
.referral-page .referral-offer>div:before,.referral-page .referral-offer>div:after{content:'';position:absolute;top:66%;width:18px;height:18px;border-radius:50%;background:#1a382b;transform:translateY(-50%)}
.referral-page .referral-offer>div:before{left:-9px}
.referral-page .referral-offer>div:after{right:-9px}
.referral-page .referral-offer>div>span{font-size:10px;font-weight:700;line-height:1.7;letter-spacing:.09em;text-transform:uppercase;min-height:3.4em;max-width:150px}
.referral-page .referral-offer strong{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 8px;font-weight:500;margin:16px 0 20px;line-height:.9;letter-spacing:-.065em;min-height:155px;align-content:center}
.referral-page .referral-offer-number{font-size:clamp(110px,11vw,155px);font-weight:500}
.referral-page .referral-offer-unit{font-size:17px;letter-spacing:-.02em;font-weight:600}
.referral-page .referral-offer p{font-size:16px;line-height:1.5;margin:0;padding-bottom:27px;flex:1}
.referral-page .referral-offer small{display:block;font-size:10px;line-height:1.8;border-top:1px dashed #48613c70;padding-top:20px;min-height:74px}
.referral-page .referral-section{padding-top:78px;padding-bottom:78px;scroll-margin-top:108px}
.referral-page .referral-section .eyebrow{font-size:10px;letter-spacing:.14em;color:#5c705f}
.referral-page .referral-section h2{font-size:clamp(32px,3.6vw,48px);font-weight:550;letter-spacing:-.055em;line-height:1.12;margin:19px 0 26px;text-wrap:balance}
.referral-page #hoe-werkt-het{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:90px}
.referral-page .referral-step-intro h2{max-width:410px}
.referral-page .referral-steps{display:flex;flex-direction:column;gap:0;border-top:1px solid #cdd8c8}
.referral-page .referral-steps article{position:relative;padding:25px 0 25px 64px;border-bottom:1px solid #cdd8c8}
.referral-page .referral-step{position:absolute;left:0;top:24px;display:flex;align-items:center;justify-content:center;width:39px;height:39px;border:1px solid #a9bea0;color:#5b7950;border-radius:50%;font-size:11px;font-weight:700;line-height:1}
.referral-page .referral-steps h3{margin:2px 0 11px;font-weight:650;letter-spacing:-.02em;font-size:19px;line-height:1.4}
.referral-page .referral-steps p,.referral-page .referral-conditions>div>p{color:#5c705f;font-size:14px;line-height:1.85;margin:0;max-width:520px}
.referral-page .referral-dashboard-section{background:#eaf0e2;border-block:1px solid #d1dcc7}
.referral-page .referral-section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:20px}
.referral-page .referral-section-heading h2{margin-bottom:10px}
.referral-page .referral-section-heading>.text-link{font-size:12px;min-height:44px;align-items:center}
.referral-page .referral-dashboard-section .referral-panel{border-radius:4px;border-color:#ccd9c1;border-top:3px solid #446741;box-shadow:0 16px 28px -28px #294b35}
.referral-page .referral-conditions{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:90px}
.referral-page .referral-conditions>div>.text-link{font-size:12px;margin-top:23px;line-height:1.7;min-height:44px}
.referral-page .referral-faq{border-top:1px solid #cdd8c8}
.referral-page .referral-faq details{border-bottom:1px solid #cdd8c8;padding:0}
.referral-page .referral-faq summary{position:relative;display:block;cursor:pointer;list-style:none;padding:23px 35px 23px 0;font-size:15px;font-weight:650;line-height:1.65;letter-spacing:-.015em}
.referral-page .referral-faq summary::-webkit-details-marker{display:none}
.referral-page .referral-faq summary:after{content:'+';position:absolute;right:4px;top:20px;font-size:23px;font-weight:400;color:#668b5c;line-height:1.5}
.referral-page .referral-faq details[open] summary:after{content:'−'}
.referral-page .referral-faq p{font-size:13px;color:#5c705f;line-height:1.9;margin:0;padding:0 28px 25px 0}
.referral-page .referral-faq summary:hover{color:#537d42}
.referral-page main :is(a,button,input,summary):focus-visible{outline:3px solid #b69024;outline-offset:4px}
.referral-page .referral-faq summary:focus-visible{outline-offset:-3px;padding-left:8px}
.referral-panel p{line-height:1.75;color:#57646b}
@media(max-width:1100px){.referral-page .referral-hero-grid{gap:34px}.referral-page .referral-hero h1{font-size:clamp(44px,6vw,66px)}.referral-page .referral-offer>div{padding:22px 16px}.referral-page .referral-offer-number{font-size:110px}.referral-page .referral-offer strong{min-height:135px}.referral-page #hoe-werkt-het,.referral-page .referral-conditions{gap:44px}}
@media(max-width:760px){.referral-page .referral-hero{padding:48px 0 54px}.referral-page .referral-hero-grid{grid-template-columns:1fr;gap:25px}.referral-page .referral-hero h1{font-size:clamp(43px,11.5vw,66px);margin-top:22px}.referral-page .referral-lead{font-size:14px;line-height:1.85}.referral-page .referral-actions{gap:10px}.referral-page .referral-actions .button{font-size:12px;min-height:47px;padding:13px 16px}.referral-page .referral-fine{font-size:10px;margin-top:22px}.referral-page .referral-offer{max-width:500px;width:100%;margin:0 auto;gap:12px;padding:22px 0}.referral-page .referral-offer:before{left:0;right:0}.referral-page .referral-offer>div{padding:21px 18px 23px;transform:translateY(-10px)}.referral-page .referral-offer>div+div{transform:translateY(10px)}.referral-page .referral-offer>div>span{font-size:9px}.referral-page .referral-offer strong{min-height:120px;margin:14px 0 18px}.referral-page .referral-offer-number{font-size:clamp(95px,28vw,130px)}.referral-page .referral-offer-unit{font-size:15px}.referral-page .referral-offer p{font-size:14px;padding-bottom:24px}.referral-page .referral-offer small{font-size:10px;min-height:78px;padding-top:17px}.referral-page .referral-section{padding-top:46px;padding-bottom:46px;scroll-margin-top:94px}.referral-page .referral-section h2{font-size:35px;margin-top:15px}.referral-page #hoe-werkt-het,.referral-page .referral-conditions{grid-template-columns:1fr;gap:27px}.referral-page .referral-step-intro h2{max-width:500px;margin-bottom:0}.referral-page .referral-steps article{padding-left:57px}.referral-page .referral-steps h3{font-size:18px}.referral-page .referral-steps p{font-size:13px}.referral-page .referral-section-heading{gap:0;margin-bottom:20px}.referral-page .referral-conditions>div>p{font-size:13px}.referral-page .referral-faq summary{font-size:14px;padding-block:20px}.referral-page .referral-faq summary:after{top:16px}.referral-page .referral-faq p{padding-right:15px}.referral-page .referral-hero .referral-actions>.button{flex:1 1 140px}}
@media(max-width:360px){.referral-page .referral-offer>div{padding-inline:13px}.referral-page .referral-offer strong{min-height:110px}.referral-page .referral-offer-number{font-size:91px}.referral-page .referral-offer-unit{font-size:14px}.referral-page .referral-offer p{font-size:13px}.referral-page .referral-offer small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.referral-page main *{scroll-behavior:auto!important;transition:none!important}}

/* Existing account panels and interaction states. */
.referral-panel{background:#fff;border:1px solid #dbe3df;border-radius:16px;padding:30px;min-width:0}.referral-panel h2,.referral-panel h3{margin:0 0 12px;line-height:1.3}.referral-panel .referral-actions{margin-bottom:0}.referral-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:25px 0}.referral-summary>div{background:#f4f6f5;padding:19px;border-radius:10px;min-width:0}.referral-summary dt{font-size:13px;line-height:1.5;color:#56635e}.referral-summary dd{margin:8px 0 0;font-size:clamp(21px,2vw,30px);font-weight:750;overflow-wrap:anywhere;letter-spacing:-.03em}.referral-code-grid{display:grid;grid-template-columns:1fr 1.7fr;gap:18px}.referral-panel label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:650;min-width:0}.referral-panel input{width:100%;min-width:0;border:1px solid #c9d3cf;border-radius:8px;padding:13px;background:#fff;color:#18241f;font:inherit;line-height:1.5}.referral-panel input[data-referral-code]{letter-spacing:.1em;font-size:18px;font-weight:750}.referral-panel button:focus-visible,.referral-panel input:focus-visible{outline:3px solid #a88500;outline-offset:3px}.referral-panel button:disabled{opacity:.55;cursor:wait}.referral-feedback{font-size:14px;min-height:24px;margin:16px 0 0!important}.referral-feedback[role=alert]{color:#a3242d}.referral-progress{display:flex;flex-wrap:wrap;gap:14px;font-size:14px;margin:20px 0}.referral-progress span{padding:8px 12px;background:#eff4f1;border-radius:6px}.referral-panel .referral-footnote{font-size:13px;margin-bottom:0}.referral-account-intro{margin-bottom:24px}.referral-registration-help{font-size:13px;line-height:1.65;margin:10px 0 18px;color:#55635d}.referral-registration-help a{text-decoration:underline}.referral-claim{border-top:1px solid #dce3df;margin-top:22px;padding-top:22px}.referral-claim form{display:flex;align-items:end;flex-wrap:wrap;gap:12px}.referral-claim label{flex:1 1 200px}.referral-empty{max-width:760px}

@media(max-width:900px){.referral-panel{padding:24px}}
@media(max-width:650px){.referral-summary{grid-template-columns:1fr;gap:9px}.referral-summary>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px}.referral-summary dd{margin:0;white-space:nowrap}.referral-code-grid{grid-template-columns:1fr}.referral-panel{padding:20px}.referral-actions>.button{max-width:100%;white-space:normal;justify-content:center}.referral-claim form>.button{width:100%}}
