.referral-page{overflow-x:hidden}
.ref-hero{padding:92px 0 78px}.ref-hero-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(440px,.97fr);gap:64px;align-items:center}.ref-hero h1{font-size:clamp(58px,6.6vw,94px);line-height:.91;letter-spacing:-.065em;margin:22px 0 24px}.ref-hero-copy .lead{max-width:780px}.mode-stack{display:grid;gap:12px}.mode-card{position:relative;overflow:hidden;border:1px solid #d6e0ef;border-radius:28px;padding:24px;background:rgba(255,255,255,.96);box-shadow:0 22px 60px rgba(31,51,84,.09)}.mode-card:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-70px;top:-90px;background:radial-gradient(circle,rgba(47,111,228,.15),transparent 68%);pointer-events:none}.partner-mode{background:linear-gradient(150deg,#171a20,#101319);color:#fff;border-color:#222936}.partner-mode:after{background:radial-gradient(circle,rgba(96,165,250,.22),transparent 68%)}.mode-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.mode-top span{font-size:13px;font-weight:850;letter-spacing:.02em;color:#245ec3}.partner-mode .mode-top span{color:#9fc2ff}.mode-top b{font-size:44px;line-height:1;letter-spacing:-.055em}.mode-card h2{font-size:29px;line-height:1.02;letter-spacing:-.045em;margin:18px 0 8px}.mode-card p{margin:0;color:#596475;font-size:14px;line-height:1.5;max-width:480px}.partner-mode p{color:#c9d0db}.mode-metric{display:flex;align-items:end;gap:10px;margin:22px 0 6px}.mode-metric strong{font-size:34px;line-height:1;letter-spacing:-.05em}.mode-metric span{font-size:12px;color:#697485;padding-bottom:3px}.partner-mode .mode-metric span{color:#aeb8c7}.mode-card small{display:block;color:#7a8491;font-size:11px;line-height:1.4}.partner-mode small{color:#9ca8b8}
.ref-section{padding:104px 0}.ref-two-col{display:grid;grid-template-columns:minmax(0,.96fr) minmax(430px,1.04fr);gap:72px;align-items:start}.ref-section-copy h2{font-size:clamp(42px,5.2vw,70px);line-height:.96;letter-spacing:-.058em;margin:20px 0 18px}.rule-list{display:grid;gap:9px;margin-top:30px}.rule-list>div{display:grid;grid-template-columns:minmax(170px,.52fr) 1fr;gap:20px;padding:17px 0;border-bottom:1px solid var(--line)}.rule-list b{font-size:15px}.rule-list span{font-size:14px;line-height:1.5;color:#616b79}.rule-list.compact{margin-top:20px}.calculator-card{position:sticky;top:110px;border:1px solid #cfdaea;border-radius:30px;padding:28px;background:rgba(255,255,255,.97);box-shadow:var(--shadow)}.calc-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#245ec3}.calc-question{font-size:18px;font-weight:800;line-height:1.3;margin:12px 0 18px}.big-stepper{display:grid;grid-template-columns:54px 1fr 54px;gap:10px;align-items:center}.big-stepper button{width:54px;height:54px;border-radius:17px;border:1px solid #cfdaea;background:#fff;color:#245ec3;font-size:25px;font-weight:800;cursor:pointer}.big-stepper button:hover{background:#eff6ff;border-color:#9dbcf0}.big-stepper output{text-align:center;font-size:42px;font-weight:950;letter-spacing:-.055em}.result-block{margin:22px 0 12px;padding:22px;border-radius:20px;background:#eef5ff;border:1px solid #d6e5fb}.result-block span,.result-block strong,.result-block small{display:block}.result-block span{font-size:12px;color:#5b6b81}.result-block strong{font-size:46px;line-height:1;letter-spacing:-.055em;margin:7px 0 6px}.result-block small{font-size:13px;color:#245ec3;font-weight:800}.example-row{display:flex;justify-content:space-between;gap:20px;padding:13px 2px;border-bottom:1px solid var(--line2);font-size:13px}.example-row span{color:#6a7482}.example-row b{text-align:right}.dark-result{background:#171a20;border-color:#242a34;color:#fff}.dark-result span{color:#adb7c5}.dark-result small{color:#a8c7ff}.fineprint{font-size:11px;line-height:1.5;color:#727d8c;margin:14px 2px 0}
.friend-section{padding:16px 0 42px}.friend-banner{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center;padding:38px 42px;border-radius:30px;background:linear-gradient(145deg,#eef5ff,#f8fbff);border:1px solid #cfdff6}.friend-banner h2{font-size:clamp(36px,4.2vw,58px);letter-spacing:-.055em;line-height:.96;margin:18px 0 12px}.friend-banner p{margin:0;color:#526177;font-size:17px}.friend-price{min-width:230px;padding:22px;border-radius:22px;background:#fff;border:1px solid #d7e3f5;box-shadow:0 12px 32px rgba(30,64,175,.07)}.friend-price span,.friend-price strong,.friend-price small{display:block}.friend-price span,.friend-price small{font-size:12px;color:#69788d}.friend-price strong{font-size:42px;line-height:1;letter-spacing:-.055em;margin:8px 0}
.partner-section{padding-top:92px}.eligibility{margin:24px 0 4px;padding:18px 19px;border-radius:18px;background:#171a20;color:#d9e0ea;font-size:14px;line-height:1.5}.eligibility b{color:#fff}.partner-calc{border-color:#c9d4e5}
.compare-section{padding:56px 0 104px}.compare-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.compare-cards article{border:1px solid var(--line);border-radius:26px;padding:28px;background:#fff;box-shadow:0 14px 42px rgba(30,50,82,.06)}.compare-cards article:last-child{background:#171a20;color:#fff;border-color:#222936}.compare-tag{display:inline-flex;padding:6px 9px;border-radius:999px;background:#eef5ff;color:#245ec3;font-size:12px;font-weight:900}.dark-tag{background:#2a303a;color:#dce8ff}.compare-cards h3{font-size:30px;letter-spacing:-.045em;line-height:1.03;margin:18px 0 10px}.compare-cards p{font-size:15px;line-height:1.55;color:#626c7a;margin:0 0 18px}.compare-cards article:last-child p{color:#bfc7d3}.compare-cards a{font-size:13px;font-weight:850;text-decoration:none;color:#245ec3}.compare-cards article:last-child a{color:#a8c7ff}
.faq-section{padding:84px 0 104px}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.ref-faq{border-top:1px solid var(--line)}.ref-faq details{border-bottom:1px solid var(--line)}.ref-faq summary{list-style:none;cursor:pointer;padding:20px 34px 20px 0;font-size:16px;font-weight:820;position:relative}.ref-faq summary::-webkit-details-marker{display:none}.ref-faq summary:after{content:"+";position:absolute;right:2px;top:17px;font-size:22px;color:#6d7785}.ref-faq details[open] summary:after{content:"–"}.ref-faq details>div{padding:0 28px 20px 0;color:#5b6573;font-size:14px;line-height:1.6}.ref-final{padding-top:20px}
@media(max-width:1080px){.ref-hero{padding:60px 0}.ref-hero-grid,.ref-two-col,.faq-layout{grid-template-columns:1fr;gap:36px}.ref-hero-grid{max-width:720px}.ref-hero h1{font-size:clamp(50px,12.5vw,74px)}.mode-stack{max-width:620px}.ref-section{padding:68px 0}.calculator-card{position:static;max-width:620px}.friend-banner{grid-template-columns:1fr;gap:24px}.friend-price{max-width:320px}.compare-section,.faq-section{padding:56px 0 76px}}
@media(max-width:624px){.ref-hero{padding-top:44px}.ref-hero h1{font-size:47px}.mode-card{padding:19px;border-radius:23px}.mode-top b{font-size:38px}.mode-card h2{font-size:26px}.ref-section-copy h2{font-size:40px}.rule-list>div{grid-template-columns:1fr;gap:5px;padding:14px 0}.calculator-card{padding:18px;border-radius:23px}.calc-question{font-size:16px}.big-stepper{grid-template-columns:50px 1fr 50px}.big-stepper button{width:50px;height:50px}.result-block{padding:18px}.result-block strong{font-size:40px}.example-row{display:grid;gap:5px}.example-row b{text-align:left}.friend-banner{padding:26px 18px;border-radius:23px}.friend-banner h2{font-size:39px}.friend-price{min-width:0;width:100%}.compare-cards{grid-template-columns:1fr}.compare-cards article{padding:22px;border-radius:22px}.compare-cards h3{font-size:27px}.faq-layout{gap:24px}}
@media(min-width:1081px){.ref-hero{padding:110px 0 94px}.ref-hero-grid{gap:77px}.ref-hero h1{font-size:clamp(70px,7.92vw,113px)}.mode-card{border-radius:34px;padding:29px}.mode-top span{font-size:16px}.mode-top b{font-size:53px}.mode-card h2{font-size:35px;margin-top:22px}.mode-card p{font-size:17px}.mode-metric strong{font-size:41px}.mode-metric span{font-size:14px}.mode-card small{font-size:13px}.ref-section{padding:125px 0}.ref-two-col{gap:86px}.ref-section-copy h2{font-size:clamp(50px,6.24vw,84px)}.rule-list>div{padding:20px 0}.rule-list b{font-size:18px}.rule-list span{font-size:17px}.calculator-card{top:128px;border-radius:36px;padding:34px}.calc-eyebrow{font-size:14px}.calc-question{font-size:22px}.big-stepper{grid-template-columns:65px 1fr 65px}.big-stepper button{width:65px;height:65px;border-radius:20px;font-size:30px}.big-stepper output{font-size:50px}.result-block{margin:26px 0 14px;padding:26px;border-radius:24px}.result-block span{font-size:14px}.result-block strong{font-size:55px}.result-block small{font-size:16px}.example-row{font-size:16px;padding:16px 2px}.fineprint{font-size:13px}.friend-section{padding:20px 0 50px}.friend-banner{padding:46px 50px;border-radius:36px}.friend-banner p{font-size:20px}.friend-price{min-width:276px;padding:26px;border-radius:26px}.friend-price span,.friend-price small{font-size:14px}.friend-price strong{font-size:50px}.eligibility{padding:22px 23px;border-radius:22px;font-size:17px}.compare-section{padding:67px 0 125px}.compare-cards{gap:17px}.compare-cards article{border-radius:31px;padding:34px}.compare-tag{font-size:14px;padding:7px 11px}.compare-cards h3{font-size:36px}.compare-cards p{font-size:18px}.compare-cards a{font-size:16px}.faq-section{padding:101px 0 125px}.faq-layout{gap:84px}.ref-faq summary{padding:24px 40px 24px 0;font-size:19px}.ref-faq details>div{padding:0 34px 24px 0;font-size:17px}}

/* V6.2 — on desktop, browser 100% reproduces the previous 120% browser-zoom view.
   CSS zoom lets the browser reflow at the corresponding effective viewport; mobile/tablet are untouched. */
@media(min-width:1081px){
  body.referral-page{zoom:1.2}
}


#student .ref-two-col,#partner .ref-two-col{align-items:center}
#student .calculator-card,#partner .calculator-card{position:static;top:auto}

#student.ref-section{padding-bottom:56px}
@media(min-width:1081px){#student.ref-section{padding-bottom:64px}}


/* V7 — canonical referral typography synced from SHIRE_REFERRAL_STANDALONE_V2. */
.referral-page .lead{font-size:22px;line-height:1.55}
.referral-page .lead-sm{font-size:21px;line-height:1.58}
.referral-page .mode-card p{font-size:18px;line-height:1.55}
.referral-page .mode-metric span{font-size:15px}
.referral-page .mode-card small{font-size:15px;line-height:1.5}
.referral-page .rule-list b{font-size:19px;line-height:1.42}
.referral-page .rule-list span{font-size:18px;line-height:1.58}
.referral-page .calc-eyebrow{font-size:15px}
.referral-page .calc-question{font-size:24px;line-height:1.34}
.referral-page .result-block span{font-size:16px}
.referral-page .result-block small{font-size:18px}
.referral-page .example-row{font-size:18px;line-height:1.45}
.referral-page .fineprint{font-size:15px;line-height:1.6}
.referral-page .friend-banner p{font-size:22px;line-height:1.5}
.referral-page .friend-price span,.referral-page .friend-price small{font-size:16px}
.referral-page .eligibility{font-size:19px;line-height:1.58}
.referral-page .compare-tag{font-size:16px}
.referral-page .compare-cards p{font-size:20px;line-height:1.58}
.referral-page .compare-cards a{font-size:18px}
.referral-page .ref-faq summary{font-size:22px;line-height:1.4}
.referral-page .ref-faq details>div{font-size:19px;line-height:1.65}
.referral-page .footer-grid p,.referral-page .footer-links a{font-size:18px;line-height:1.5}
@media(max-width:624px){
  .referral-page .lead{font-size:20px}
  .referral-page .lead-sm{font-size:19px}
  .referral-page .mode-card p{font-size:17px}
  .referral-page .mode-metric span{font-size:14px}
  .referral-page .mode-card small{font-size:14px}
  .referral-page .rule-list b{font-size:18px}
  .referral-page .rule-list span{font-size:17px}
  .referral-page .calc-question{font-size:20px}
  .referral-page .result-block span{font-size:15px}
  .referral-page .result-block small{font-size:16px}
  .referral-page .example-row{font-size:16px}
  .referral-page .fineprint{font-size:14px}
  .referral-page .friend-banner p{font-size:19px}
  .referral-page .friend-price span,.referral-page .friend-price small{font-size:15px}
  .referral-page .eligibility{font-size:17px}
  .referral-page .compare-tag{font-size:14px}
  .referral-page .compare-cards p{font-size:18px}
  .referral-page .compare-cards a{font-size:16px}
  .referral-page .ref-faq summary{font-size:20px}
  .referral-page .ref-faq details>div{font-size:17px}
  .referral-page .footer-grid p,.referral-page .footer-links a{font-size:16px}
}
