/* Shared components used across Nutrion pages. */
.site-proof-strip{border-block:1px solid rgba(240,240,232,.2);background:#0d100d;color:#f0f0e8}
.site-proof-strip-inner{min-height:98px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px}
.site-proof-strip p{margin:0;font-size:.69rem;line-height:1.45;letter-spacing:.08em;text-transform:uppercase}
.site-proof-strip p:last-child{text-align:right}
.site-proof-faces{display:flex}
.site-proof-faces img{width:54px;height:54px;object-fit:cover;border:2px solid #0d100d;border-radius:50%}
.site-proof-faces img+img{margin-left:-12px}
@media(max-width:620px){
  .site-proof-strip-inner{grid-template-columns:1fr;justify-items:center;gap:10px;padding-block:18px;text-align:center}
  .site-proof-faces{grid-row:1}
  .site-proof-strip p{font-size:.61rem}
  .site-proof-strip p:last-child{text-align:center}
}

/* Shared athlete testimonial grid */
.site-testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:75px;background:#b6bab3;border-block:1px solid #b6bab3}
.site-testimonials blockquote{display:flex;min-height:250px;flex-direction:column;justify-content:space-between;margin:0;padding:28px;background:#f0f0e8;color:#151815}
.site-testimonials blockquote>p{margin:0;font-size:1.12rem;line-height:1.3}
.site-testimonials cite{display:flex;align-items:center;gap:11px;margin-top:28px;color:#424842;font-size:.7rem;font-style:normal;letter-spacing:.07em;text-transform:uppercase}
.site-testimonials cite>span{display:flex;min-width:0;flex-direction:column;gap:5px}
.site-testimonials cite small{color:#7a8079;font-size:.58rem;line-height:1.35;letter-spacing:.045em}
.site-testimonials cite img{width:42px;height:42px;flex:0 0 42px;border-radius:50%;object-fit:cover}
@media(max-width:900px){
  .site-testimonials{grid-template-columns:1fr}
  .site-testimonials blockquote{min-height:0}
}
@media(max-width:620px){.site-testimonials{margin-top:52px}}

/* Shared post-proof positioning block */
.site-positioning-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:0 100px;align-items:start}
.site-positioning-heading .eyebrow{margin-bottom:22px}
.site-positioning-heading h2{margin:0;font-size:clamp(3.2rem,5.6vw,5.7rem);line-height:.94;letter-spacing:-.045em}
.site-positioning-copy{margin:0;color:#5c625b;font-size:1.02rem}
.site-positioning-points{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);margin-top:78px;border-top:1px solid #b9bcb5}
.site-positioning-points article{min-height:260px;padding:24px 28px 0 0;border-right:1px solid #b9bcb5}
.site-positioning-points article+article{padding-left:28px}
.site-positioning-points article:last-child{border-right:0}
.site-positioning-points span{font-size:.65rem}
.site-positioning-points h3{max-width:320px;margin:45px 0 12px;font-size:1.55rem;line-height:1.08;letter-spacing:-.025em}
.site-positioning-points p{color:#626860;font-size:.92rem}
@media(max-width:900px){
  .site-positioning-grid{grid-template-columns:1fr;gap:30px}
  .site-positioning-points{grid-column:auto;margin-top:28px}
}
@media(max-width:620px){
  .site-positioning-heading h2{font-size:3.1rem}
  .site-positioning-points{grid-template-columns:1fr;margin-top:18px}
  .site-positioning-points article,.site-positioning-points article+article{min-height:0;padding:24px 0 30px;border-right:0;border-bottom:1px solid #b9bcb5}
  .site-positioning-points h3{margin:24px 0 10px}
}

/* Shared primary offer layout */
.site-offer-grid{display:grid;grid-template-columns:1.12fr .68fr;gap:100px;align-items:start}
.site-offer-intro h2{margin:25px 0;font-size:clamp(3.2rem,5.6vw,5.7rem);line-height:.94;letter-spacing:-.045em}
.site-offer-intro>p{max-width:610px;color:#b9c0b8;font-size:1rem}
.site-application-steps{list-style:none;max-width:650px;margin:46px 0 0;padding:0;border-top:1px solid rgba(240,240,232,.18)}
.site-application-steps li{display:grid;grid-template-columns:34px 1fr;gap:16px;padding:17px 0;border-bottom:1px solid rgba(240,240,232,.18)}
.site-application-steps li>span{padding-top:3px;color:#dafe46;font-size:.62rem}
.site-application-steps div{display:flex;flex-direction:column;gap:4px}
.site-application-steps b{font-size:.9rem}
.site-application-steps small{color:#929a92;font-size:.73rem;line-height:1.45}
.site-offer-card{padding:35px;border:1px solid rgba(240,240,232,.18);background:#141914}
.site-offer-card>p{margin:0;color:#dafe46;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase}
.site-offer-card>strong{display:block;margin:22px 0;font-size:3.8rem;line-height:1}
.site-offer-card ul{list-style:none;padding:0;margin:28px 0}
.site-offer-card li{padding:11px 0;border-bottom:1px solid rgba(240,240,232,.18);font-size:.86rem}
.site-offer-card>a{width:100%}
.site-offer-card>span{display:block;margin-top:14px;text-align:center;color:#899189;font-size:.68rem}
@media(max-width:900px){
  .site-offer-grid{grid-template-columns:1fr;gap:65px}
  .site-offer-card{max-width:580px}
}
@media(max-width:620px){
  .site-offer-intro h2{font-size:3.25rem}
  .site-application-steps{margin-top:34px}
  .site-offer-card{padding:28px}
  .site-offer-card>strong{font-size:3.25rem}
}

/* Shared four-step coaching walkthrough */
.service-process{display:grid;grid-template-columns:.72fr 1fr;gap:70px;margin-top:76px;align-items:center}
.process-steps button{position:relative;width:100%;display:grid;grid-template-columns:34px 1fr;gap:18px;padding:21px 0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.process-steps button:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(240,240,232,.18)}
.process-steps button:last-of-type:after{display:none}
.process-steps button[aria-selected="true"]:before{content:"";position:absolute;left:-18px;top:21px;bottom:21px;width:2px;background:#dafe46}
.process-steps button:focus-visible{outline:2px solid #dafe46;outline-offset:5px}
.process-steps span{padding-top:5px;color:#697169;font-size:.62rem}
.process-steps button[aria-selected="true"] span{color:#dafe46}
.process-steps h3{margin:0 0 6px;color:#858d85;font-size:1.18rem;transition:color .25s}
.process-steps button[aria-selected="true"] h3{color:#f0f0e8}
.process-steps p{max-width:520px;margin:0;color:#707870;font-size:.83rem;line-height:1.5}
.process-steps button[aria-selected="true"] p{color:#aeb5ad}
.process-visual{position:relative;min-height:570px;overflow:hidden;border-radius:18px;background:#0d100d}
.process-slide{position:absolute;inset:0;display:flex;flex-direction:column;margin:0;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .35s ease,transform .35s ease,visibility .35s}
.process-slide.is-active{opacity:1;visibility:visible;transform:none}
.process-slide figcaption{display:flex;gap:12px;align-items:center;min-height:70px;padding:16px 22px;background:#111511;color:#aeb5ad;font-size:.76rem}
.process-slide figcaption span{color:#dafe46;font-size:.64rem}
.coach-slide>picture{height:500px}
.coach-slide>picture img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.screen-collection{box-sizing:border-box;height:500px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:center;padding:28px 20px;background:linear-gradient(145deg,#dbe6e0,#c9d8d0)}
.app-screen{position:relative;height:330px;min-width:0;overflow:hidden;border:1px solid rgba(9,43,35,.12);border-radius:14px;background:#dce8e2;box-shadow:0 18px 34px rgba(7,17,12,.18)}
.app-screen img{display:block;width:100%;height:auto;transform:translateY(-7.5%) scale(1.025);transform-origin:top center}
.app-screen span{position:absolute;left:8px;bottom:8px;display:inline-flex;padding:4px 7px;border-radius:999px;background:rgba(9,20,15,.82);color:#eef3ef;font-size:.5rem;letter-spacing:.04em}
.screen-crop{height:500px;overflow:hidden;background:#dbe6e0}
.screen-progress{box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:0}
.screen-progress picture{display:flex;height:100%;align-items:center;justify-content:center}
.screen-progress img{width:auto;height:100%;max-width:100%;object-fit:contain;transform:none}
.message-preview{box-sizing:border-box;height:500px;display:flex;flex-direction:column;justify-content:flex-start;padding:30px 42px;background:radial-gradient(circle at 12% 18%,rgba(218,254,70,.055),transparent 23%),linear-gradient(145deg,#172019,#0b0e0c)}
.message-contact{display:flex;align-items:center;gap:11px;margin:0 0 16px;padding:0 4px 14px;border-bottom:1px solid rgba(255,255,255,.1)}
.message-contact picture{flex:0 0 auto}
.message-contact img{width:42px;height:42px;border-radius:50%;object-fit:cover;object-position:center 18%}
.message-contact div{display:flex;flex-direction:column}
.message-contact b{color:#f0f3ef;font-size:1rem}
.message-contact span{margin-top:2px;color:#89928a;font-size:.7rem}
.message-day{align-self:center;margin:0 0 11px;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.07);color:#89928a;font-size:.62rem}
.message-preview p{position:relative;max-width:86%;margin:7px 0;padding:14px 17px 27px;border-radius:15px;font-size:.95rem;line-height:1.45;box-shadow:0 8px 22px rgba(0,0,0,.12)}
.message-preview p.message-athlete{align-self:flex-end;background:#d9f7c5;color:#182019;border-top-right-radius:4px}
.message-preview .message-daniel{align-self:flex-start;background:#29312b;color:#e4e7e2;border-top-left-radius:4px}
.message-preview time{position:absolute;right:11px;bottom:7px;color:#778078;font-size:.62rem;font-style:normal}
.message-athlete time{color:#55745e}
.message-athlete time{color:#55745e}
@media(max-width:900px){.service-process{grid-template-columns:1fr;gap:45px}.process-visual{min-height:570px}}
@media(max-width:620px){
  .service-process{margin-top:45px}.process-steps{display:flex;flex-direction:column}.process-steps button{grid-template-columns:35px 1fr;padding:22px 18px}.process-steps button[aria-selected="true"]:before{left:0}.process-steps>.process-visual{width:100%;margin:10px 0 20px}
  .process-visual{min-height:470px}.process-slide figcaption{min-height:70px;padding:14px 16px}.coach-slide>picture,.screen-collection,.screen-crop,.message-preview{height:400px}
  .screen-collection{grid-template-columns:1.15fr .85fr;grid-template-rows:1fr 1fr;gap:8px;padding:14px 10px}.app-screen{height:auto;border-radius:9px}.app-screen:first-child{grid-row:1 / -1}.app-screen span{left:6px;bottom:7px;padding:4px 6px;font-size:.48rem}
  .message-preview{padding:22px}.message-preview p{max-width:94%;font-size:.84rem}
}

/* Shared FAQ section */
.site-faq{padding:110px 0;background:#f0f0e8;color:#151815}
.site-faq .site-faq-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(480px,1.15fr);gap:100px}
.site-faq .site-faq-grid>div:first-child{max-width:500px}
.site-faq h2{margin:22px 0 0;font-size:clamp(3rem,4.8vw,4.8rem);line-height:.96;letter-spacing:-.045em}
.site-faq details{padding:22px 0;border-top:1px solid #b6bab3}
.site-faq summary{cursor:pointer;font-weight:650}
.site-faq details p{max-width:650px;color:#626860}
@media(max-width:900px){.site-faq .site-faq-grid{grid-template-columns:1fr;gap:65px}}
@media(max-width:620px){.site-faq{padding:78px 0}.site-faq h2{font-size:3.1rem}}

/* Shared application dialog */
.application-modal-open{overflow:hidden}
.application-modal{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:24px}
.application-modal-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(8,12,8,.68);backdrop-filter:blur(7px);cursor:pointer}
.application-modal-panel{position:relative;width:min(790px,calc(100vw - 48px));height:min(780px,calc(100vh - 48px));overflow:hidden;background:#f1f1e8;box-shadow:0 28px 90px rgba(0,0,0,.4)}
.application-modal-panel iframe{display:block;width:100%;height:100%;border:0;background:#f1f1e8}
.application-modal-close{position:absolute;z-index:2;top:19px;right:19px;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #aeb5ad;border-radius:50%;background:#f1f1e8;color:#10150f;font:400 1.6rem/1 Hanken,system-ui;cursor:pointer}
.application-modal-close:hover{border-color:#10150f;background:#fff}
.application-modal-close:focus-visible{outline:2px solid #8eaa12;outline-offset:3px}
@media(max-width:620px){.application-modal{display:block;padding:0}.application-modal-backdrop{display:none}.application-modal-panel{width:100%;height:100%;max-height:none}.application-modal-close{position:fixed;top:12px;right:12px;width:36px;height:36px}}
