:root { --ink:#312642; --forest:#70588a; --deep:#7a6390; --sage:#a98bc2; --mint:#e8def1; --mint-soft:#f5eff8; --cream:#f7f2fa; --paper:#fcf9fd; --accent:#845ba6; --lime:#d5c2e4; --line:rgba(49,38,66,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; width:100%; max-width:100%; overflow-x:hidden; }
body { margin:0; width:100%; max-width:100%; overflow-x:hidden; background:var(--paper); color:var(--ink); font-family:"Rubik",Arial,sans-serif; font-weight:400; text-rendering:optimizeLegibility; }
main { width:100%; max-width:100%; overflow-x:clip; }
button,input,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; text-decoration:none; }
.site-header { position:absolute; z-index:20; top:0; right:0; left:0; height:94px; padding:0 clamp(22px,5vw,76px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(49,38,66,.12); }
.brand { display:flex; align-items:center; gap:13px; }
.brand-mark { width:43px; height:43px; border:1px solid var(--ink); border-radius:50%; display:grid; place-items:center; font:600 14px "Rubik",sans-serif; letter-spacing:-.04em; }
.brand>span:last-child { display:flex; flex-direction:column; gap:2px; }
.brand strong { font-size:16px; }
.brand small { font-size:11px; color:#766c7e; }
.desktop-nav { display:flex; gap:clamp(22px,3vw,48px); font-size:14px; }
.desktop-nav a { position:relative; }
.desktop-nav a::after { content:""; position:absolute; right:0; left:100%; bottom:-8px; height:1px; background:var(--accent); transition:left .25s; }
.desktop-nav a:hover::after { left:0; }
.header-cta { border:0; border-radius:999px; background:var(--forest); color:white; cursor:pointer; padding:13px 20px; display:flex; gap:18px; transition:transform .2s,background .2s; }
.header-cta:hover,.primary-button:hover { transform:translateY(-2px); background:#81699a; }
.hero { min-height:790px; display:grid; grid-template-columns:1.03fr .97fr; padding-top:94px; overflow:hidden; background:linear-gradient(100deg,var(--paper) 0 58%,var(--mint) 58%); }
.hero-copy { padding:clamp(70px,8vw,122px) clamp(24px,6.5vw,104px) 68px; align-self:center; }
.eyebrow { margin:0 0 27px; display:flex; align-items:center; gap:10px; font-size:12px; font-weight:600; letter-spacing:.05em; color:var(--accent); }
.eyebrow span { width:31px; height:1px; background:currentColor; }
.hero h1,.section-heading h2,.about h2 { margin:0; font-family:"Rubik",Arial,sans-serif; font-size:clamp(48px,5.3vw,82px); line-height:1.03; font-weight:300; letter-spacing:-.045em; }
.hero h1 em,.section-heading h2 em,.about h2 em { color:var(--accent); font-style:normal; font-weight:500; }
.hero-divider { color:var(--sage); font-weight:300; }
.hero-subtitle { max-width:610px; margin:25px 0 0; color:var(--deep); font-size:clamp(19px,1.65vw,24px); line-height:1.55; font-weight:600; }
.hero-lead { max-width:590px; margin:22px 0 32px; color:#655d6b; font-size:clamp(17px,1.45vw,20px); line-height:1.8; }
.hero-actions { display:flex; align-items:center; gap:30px; }
.primary-button { border:0; border-radius:999px; background:var(--forest); color:white; cursor:pointer; padding:17px 25px; display:inline-flex; align-items:center; gap:24px; transition:.2s; }
.text-link { border-bottom:1px solid var(--ink); padding-bottom:4px; font-size:14px; }
.trust-row { margin-top:42px; display:flex; gap:24px; color:#766d7c; font-size:12px; }
.trust-row span::before { content:"•"; color:var(--accent); margin-left:7px; }
.hero-visual { position:relative; min-height:696px; display:flex; justify-content:center; align-items:flex-end; padding:64px 8% 0; }
.sun-shape { position:absolute; width:min(34vw,470px); aspect-ratio:1; border-radius:50%; top:80px; left:50%; transform:translateX(-50%); background:var(--lime); opacity:.9; }
.portrait-frame { position:relative; z-index:2; width:min(28vw,410px); height:560px; border-radius:210px 210px 24px 24px; box-shadow:0 28px 70px rgba(63,40,87,.2); overflow:hidden; background:var(--forest); }
.portrait-frame::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(63,40,87,.18),transparent 42%); pointer-events:none; }
.portrait-frame img { width:100%; height:100%; display:block; object-fit:cover; object-position:50% 38%; }
.expertise-card { position:absolute; z-index:3; right:8%; bottom:49px; width:240px; padding:18px; background:rgba(252,249,253,.94); backdrop-filter:blur(12px); box-shadow:0 15px 40px rgba(63,40,87,.14); display:grid; grid-template-columns:30px 1fr; gap:8px 12px; font-size:11px; }
.expertise-card .expertise-icon { grid-row:1/3; color:var(--accent); font-size:24px; }
.expertise-card>span:last-child { white-space:nowrap; }
.expertise-card strong { display:inline-block; min-width:46px; font-family:"Rubik",sans-serif; font-size:14px; }
.leaf-shape { position:absolute; z-index:1; width:130px; height:260px; border:1px solid rgba(90,62,120,.28); border-radius:100% 0 100% 0; transform:rotate(28deg); }
.leaf-one { top:115px; right:6%; }
.leaf-two { left:4%; bottom:40px; transform:rotate(-20deg) scale(.65); }
.intro-strip { background:var(--accent); color:white; padding:25px; text-align:center; }
.intro-strip p { margin:0; font-family:"Rubik",sans-serif; font-weight:300; font-size:clamp(18px,2vw,25px); }
.section-shell { padding:clamp(76px,10vw,144px) clamp(24px,6.5vw,104px); }
.concerns { display:grid; grid-template-columns:.78fr 1.22fr; gap:clamp(55px,8vw,120px); }
.section-heading h2 { font-size:clamp(42px,4vw,62px); line-height:1.07; }
.section-heading>p:last-child { margin-top:27px; max-width:440px; color:#6f6675; line-height:1.8; }
.concern-list { border-top:1px solid var(--line); }
.concern-card { display:grid; grid-template-columns:40px 1fr 1.2fr; align-items:center; gap:20px; padding:32px 0; border-bottom:1px solid var(--line); }
.concern-card>span { color:var(--accent); font:500 14px "Rubik",sans-serif; }
.concern-card h3 { margin:0; font-size:18px; }
.concern-card p { margin:0; color:#746b79; line-height:1.7; font-size:14px; }
.about { background:var(--deep); color:white; display:grid; grid-template-columns:.9fr 1.1fr; gap:10vw; align-items:center; overflow:hidden; }
.about-art { min-height:540px; position:relative; display:grid; place-items:center; }
.about-orbit { width:min(38vw,470px); aspect-ratio:1; border:1px solid rgba(255,255,255,.22); border-radius:50%; position:absolute; }
.about-orbit::before,.about-orbit::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.12); border-radius:50%; inset:40px; }
.about-orbit::after { inset:90px; }
.about-photo-frame { position:relative; z-index:1; width:min(29vw,350px); height:470px; border-radius:175px 175px 20px 20px; overflow:hidden; border:8px solid rgba(255,255,255,.08); box-shadow:0 24px 55px rgba(25,14,37,.3); }
.about-photo-frame img { width:100%; height:100%; display:block; object-fit:cover; object-position:50% 38%; }
.eyebrow.light { color:#f0e8f5; }
.about h2 { font-size:clamp(44px,4.5vw,68px); }
.about h2 em { color:#f0e8f5; }
.about-copy>p:not(.eyebrow) { max-width:570px; color:#faf7fb; line-height:1.9; }
.light-link { display:inline-flex; align-items:center; gap:28px; margin-top:18px; border-bottom:1px solid rgba(255,255,255,.5); padding-bottom:7px; }
.process { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(60px,9vw,130px); background:var(--mint-soft); }
.process-heading h2,.faq-title h2,.contact h2 { margin:0; font:300 clamp(42px,4.2vw,66px)/1.08 "Rubik",sans-serif; letter-spacing:-.04em; }
.process-heading h2 em,.faq-title h2 em,.contact h2 em { color:var(--accent); font-style:normal; font-weight:500; }
.process-heading>p:last-child,.faq-title>p:last-child { color:#6f6675; line-height:1.8; max-width:430px; }
.process-steps { counter-reset:steps; }
.process-steps article { display:grid; grid-template-columns:72px 1fr; gap:24px; padding:0 0 36px; position:relative; }
.process-steps article:not(:last-child)::after { content:""; position:absolute; right:28px; top:62px; bottom:4px; width:1px; background:var(--line); }
.process-steps article>span { width:57px; height:57px; border:1px solid var(--accent); color:var(--accent); border-radius:50%; display:grid; place-items:center; font:400 22px "Rubik",sans-serif; }
.process-steps h3 { margin:5px 0 7px; font:500 25px "Rubik",sans-serif; }
.process-steps p { margin:0; color:#6f6675; line-height:1.75; }
.values-band { min-height:130px; padding:25px 5vw; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:clamp(18px,4vw,58px); background:var(--lime); color:var(--deep); }
.values-band p { margin:0; font:400 clamp(20px,2.2vw,31px) "Rubik",sans-serif; }
.values-band span { color:rgba(63,40,87,.38); }
.lifestyle-story { display:grid; grid-template-columns:1.35fr .65fr; min-height:610px; background:var(--mint-soft); }
.lifestyle-photo { min-height:610px; overflow:hidden; }
.lifestyle-photo img { width:100%; height:100%; min-height:610px; display:block; object-fit:cover; object-position:58% 50%; }
.lifestyle-copy { padding:clamp(52px,7vw,104px); display:flex; flex-direction:column; justify-content:center; color:var(--deep); }
.quote-mark { color:var(--accent); font-size:70px; line-height:.5; margin-bottom:24px; font-weight:300; }
.quote-mark-end { align-self:flex-end; margin:28px 0 0; transform:rotate(180deg); }
.lifestyle-copy blockquote { margin:0; font-size:clamp(27px,3vw,46px); line-height:1.28; font-weight:300; letter-spacing:-.035em; }
.lifestyle-copy>p { margin:28px 0 0; color:#6b5d73; line-height:1.85; }
.support { display:grid; grid-template-columns:1fr 1fr; gap:0; padding:0; }
.support-card { min-height:430px; padding:clamp(32px,5vw,70px); background:var(--mint); display:flex; flex-direction:column; justify-content:flex-end; position:relative; overflow:hidden; }
.support-card::before { content:""; position:absolute; width:310px; height:310px; border:1px solid rgba(90,62,120,.16); border-radius:50%; top:-155px; left:-80px; }
.support-card.featured { background:var(--accent); color:white; }
.support-card.featured::before { border-color:rgba(255,255,255,.18); }
.support-tag { align-self:flex-start; border:1px solid currentColor; border-radius:999px; padding:7px 13px; font-size:11px; margin-bottom:auto; }
.support-card h3 { margin:30px 0 15px; font:300 clamp(34px,3.5vw,52px)/1.08 "Rubik",sans-serif; }
.support-card p { max-width:450px; line-height:1.75; opacity:.78; }
.support-card a { margin-top:20px; display:flex; gap:22px; align-items:center; align-self:flex-start; border-bottom:1px solid currentColor; padding-bottom:5px; font-size:14px; }
.faq { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(55px,9vw,140px); }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { list-style:none; cursor:pointer; padding:27px 0; font-size:18px; font-weight:700; display:flex; justify-content:space-between; gap:25px; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { width:28px; height:28px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; transition:transform .2s; font-weight:400; }
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list details p { margin:-7px 0 27px; max-width:690px; color:#6f6675; line-height:1.8; padding-left:55px; }
.contact { background:var(--forest); color:white; display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(55px,9vw,130px); }
.contact h2 { font-size:clamp(52px,5.5vw,82px); }
.contact h2 em { color:#f0e8f5; }
.contact-copy>p:not(.eyebrow) { color:#faf7fb; max-width:490px; line-height:1.85; }
.contact-notes { display:flex; flex-wrap:wrap; gap:22px; font-size:13px; margin:30px 0; color:#faf7fb; }
.contact-links { display:flex; flex-direction:column; align-items:flex-start; gap:12px; color:#eadff0; font-size:14px; }
.contact-links a { border-bottom:1px solid currentColor; padding-bottom:4px; }
.contact-links .whatsapp-link { display:inline-flex; align-items:center; gap:18px; color:white; font-weight:600; border:1px solid rgba(255,255,255,.55); border-radius:999px; padding:12px 17px; }
.contact-form { background:var(--paper); color:var(--ink); padding:clamp(25px,4vw,55px); align-self:center; }
.form-honeypot { position:absolute!important; width:1px!important; height:1px!important; margin:0!important; padding:0!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; opacity:0!important; pointer-events:none!important; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.contact-form label { display:flex; flex-direction:column; gap:9px; margin-bottom:24px; font-size:13px; font-weight:700; }
.contact-form input:not([type="checkbox"]),.contact-form textarea { width:100%; border:0; border-bottom:1px solid var(--line); background:transparent; padding:12px 2px; outline:none; color:var(--ink); border-radius:0; }
.contact-form input:focus,.contact-form textarea:focus { border-color:var(--accent); }
.contact-form textarea { resize:vertical; }
.contact-form .consent { flex-direction:row; align-items:center; font-weight:400; color:#706776; }
.privacy-note { margin:-8px 0 18px; color:#7a7080; font-size:11px; line-height:1.6; }
.form-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.contact-submit,.whatsapp-submit { width:100%; border:0; color:white; padding:17px 18px; cursor:pointer; display:flex; align-items:center; justify-content:space-between; transition:.2s; }
.contact-submit { background:var(--accent); }
.whatsapp-submit { background:#1f6a4d; }
.contact-submit:hover { background:#765394; }
.whatsapp-submit:hover { background:#18573f; }
.contact-submit:disabled { cursor:wait; opacity:.72; }
.form-status { padding:12px; font-size:12px; line-height:1.5; margin:14px 0 0; }
.form-status.success { color:var(--forest); background:#eee6f4; }
.form-status.error { color:#7c3229; background:#f7e4df; }
footer { padding:55px clamp(22px,6.5vw,104px) 30px; display:grid; grid-template-columns:1.1fr 1fr auto; gap:30px; align-items:center; background:#6c567f; color:white; }
.footer-brand .brand-mark { border-color:white; }
.footer-brand small { color:#eee7f2; }
footer>p { color:#eee7f2; font-size:13px; }
footer>div { display:flex; gap:23px; font-size:12px; }
footer>small { grid-column:1/-1; border-top:1px solid rgba(255,255,255,.12); padding-top:25px; color:#e0d5e7; text-align:center; }
footer a[href="/gastro-dietitian"] { font-size:0; }
footer a[href="/gastro-dietitian"]::after { content:"תזונת גסטרו"; font-size:12px; }
.floating-contact { position:fixed; z-index:30; left:22px; bottom:22px; width:78px; height:78px; border:0; border-radius:50%; background:#25d366; color:white; box-shadow:0 12px 35px rgba(49,38,66,.24); cursor:pointer; display:grid; place-items:center; transition:.2s; }
.floating-contact svg { width:34px; height:34px; display:block; fill:currentColor; }
.floating-contact:hover { transform:rotate(-5deg) scale(1.05); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@keyframes rise { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
.reveal { animation:rise .75s ease-out both; }
@media (max-width:900px) {
  .desktop-nav { display:none; }
  .hero { grid-template-columns:1fr; background:var(--paper); }
  .hero-copy { padding-top:70px; }
  .hero-visual { min-height:570px; background:var(--mint); }
  .portrait-frame { width:min(75vw,390px); height:490px; }
  .sun-shape { width:min(75vw,440px); }
  .concerns,.about,.process,.faq,.contact { grid-template-columns:1fr; }
  .about-art { min-height:480px; }
  .about-orbit { width:290px; }
  .about-photo-frame { width:min(72vw,330px); height:430px; }
  .lifestyle-story { grid-template-columns:1fr; }
  .lifestyle-photo,.lifestyle-photo img { min-height:470px; }
  .support { grid-template-columns:1fr; }
  footer { grid-template-columns:1fr; }
  footer>small { grid-column:1; }
}
@media (max-width:600px) {
  .site-header { height:78px; padding:0 18px; }
  .brand small { display:none; }
  .brand-mark { width:38px; height:38px; }
  .header-cta { padding:11px 15px; font-size:13px; }
  .hero { padding-top:78px; }
  .hero-copy { padding:58px 22px 52px; }
  .hero h1 { font-size:clamp(44px,14vw,62px); }
  .hero-lead { font-size:16px; margin:25px 0; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:20px; }
  .trust-row { flex-wrap:wrap; gap:10px 16px; }
  .hero-visual { min-height:490px; padding-top:40px; }
  .portrait-frame { width:76vw; height:420px; }
  .portrait-frame img { object-position:50% 36%; }
  .expertise-card { right:18px; bottom:25px; }
  .section-shell { padding:72px 22px; }
  .concern-card { grid-template-columns:30px 1fr; gap:12px; padding:25px 0; }
  .concern-card p { grid-column:2; }
  .about { gap:25px; }
  .process-steps article { grid-template-columns:55px 1fr; gap:16px; }
  .process-steps article>span { width:46px; height:46px; }
  .process-steps article:not(:last-child)::after { right:22px; top:51px; }
  .values-band { gap:14px 20px; }
  .lifestyle-photo,.lifestyle-photo img { min-height:340px; }
  .lifestyle-photo img { object-position:67% 50%; }
  .lifestyle-copy { padding:60px 22px; }
  .support { padding-left:0; padding-right:0; }
  .support-card { min-height:390px; }
  .field-row { grid-template-columns:1fr; gap:0; }
  .form-actions { grid-template-columns:1fr; }
  .faq-list details p { padding-left:0; }
  footer>div { flex-wrap:wrap; }
  .floating-contact { width:66px; height:66px; left:15px; bottom:15px; }
  .floating-contact svg { width:32px; height:32px; }
}
.content-page {
  --page-purple:#70588a;
  --page-purple-deep:#7a6390;
  --page-lavender:#eadff0;
  --page-lavender-soft:#f7f1f9;
  --page-plum:#815da0;
  --page-paper:#fffdfd;
  background:var(--page-paper);
}
.content-page main { overflow:visible; }
.content-page .site-header { position:relative; background:rgba(252,249,253,.96); }
.header-link { border-radius:999px; background:var(--forest); color:white; padding:13px 20px; font-size:14px; }
.gastro-hero { min-height:650px; display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(40px,7vw,100px); align-items:center; padding:72px clamp(24px,6.5vw,104px) 90px; background:linear-gradient(118deg,var(--page-paper) 0 63%,var(--page-lavender) 63%); }
.gastro-hero-copy { max-width:740px; }
.gastro-hero h1 { margin:0; font:300 clamp(48px,5vw,76px)/1.08 "Rubik",sans-serif; letter-spacing:-.045em; }
.gastro-hero h1 em { color:var(--accent); font-style:normal; font-weight:500; }
.gastro-hero-lead { margin:28px 0 0; color:#655d6b; font-size:clamp(18px,1.55vw,21px); line-height:1.85; }
.gastro-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:34px; }
.secondary-button { border:1px solid var(--forest); border-radius:999px; color:var(--forest); padding:16px 23px; }
.gastro-hero-photo { width:min(38vw,500px); height:500px; justify-self:center; overflow:hidden; border:7px solid rgba(255,255,255,.78); border-radius:32px; box-shadow:0 28px 70px rgba(63,40,87,.19); }
.gastro-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 38%; }
.gastro-intro { max-width:920px; margin:0 auto; text-align:center; }
.gastro-intro h2,.gastro-section h2,.gastro-process h2,.gastro-faq h2 { margin:0; font:300 clamp(38px,4vw,60px)/1.12 "Rubik",sans-serif; letter-spacing:-.035em; }
.gastro-intro h2 em,.gastro-section h2 em,.gastro-process h2 em,.gastro-faq h2 em { color:var(--accent); font-style:normal; font-weight:500; }
.gastro-intro p { margin:25px auto 0; color:#6f6675; line-height:1.9; font-size:17px; }
.gastro-section { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(48px,8vw,120px); align-items:start; background:var(--page-lavender-soft); }
.gastro-section-copy>p { color:#6f6675; line-height:1.85; }
.gastro-cards { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.gastro-card { background:white; padding:29px; border:1px solid rgba(90,62,120,.12); border-radius:18px; box-shadow:0 14px 36px rgba(63,40,87,.06); }
.gastro-card span { color:var(--accent); font-size:12px; font-weight:700; }
.gastro-card h3 { margin:12px 0 10px; font-size:20px; }
.gastro-card p { margin:0; color:#6f6675; line-height:1.75; font-size:14px; }
.gastro-note { margin-top:24px; padding:20px 23px; border-right:3px solid var(--page-plum); background:var(--page-lavender); color:#5e5266; line-height:1.8; font-size:14px; border-radius:12px 0 0 12px; }
.gastro-process { background:var(--page-purple-deep); color:white; }
.gastro-process-head { max-width:720px; }
.gastro-process-head p { color:#faf7fb; line-height:1.85; }
.gastro-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:45px; }
.gastro-step { min-height:260px; padding:30px; border:1px solid rgba(255,255,255,.18); }
.gastro-step>span { color:#f0e8f5; font-size:13px; }
.gastro-step h3 { margin:34px 0 12px; font-size:24px; }
.gastro-step p { margin:0; color:#faf7fb; line-height:1.8; }
.gastro-why { display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,7vw,90px); align-items:center; }
.gastro-why h2 { margin:0; font:300 clamp(38px,4vw,58px)/1.12 "Rubik",sans-serif; letter-spacing:-.035em; }
.gastro-why h2 em { color:var(--accent); font-style:normal; font-weight:500; }
.gastro-why p,.gastro-why li { color:#6f6675; line-height:1.85; }
.gastro-why ul { margin:22px 0 0; padding:0 21px 0 0; }
.gastro-why-card { background:var(--page-lavender); padding:clamp(30px,5vw,60px); border-radius:24px; }
.gastro-why-card strong { display:block; color:var(--deep); font-size:21px; margin-bottom:13px; }
.gastro-faq { background:#fbf7fc; }
.gastro-faq .faq-list { max-width:900px; margin:40px auto 0; }
.gastro-faq>h2,.gastro-faq>.eyebrow { max-width:900px; margin-right:auto; margin-left:auto; }
.gastro-cta { display:grid; grid-template-columns:1fr auto; gap:35px; align-items:center; background:linear-gradient(135deg,var(--page-purple-deep),var(--page-plum)); color:white; }
.gastro-cta h2 { margin:0; font:300 clamp(38px,4vw,60px)/1.1 "Rubik",sans-serif; }
.gastro-cta p { margin:16px 0 0; color:#faf7fb; line-height:1.8; }
.gastro-cta-actions { display:flex; flex-direction:column; gap:12px; min-width:230px; }
.gastro-cta .primary-button { background:white; color:var(--deep); justify-content:center; }
.gastro-cta .secondary-button { border-color:white; color:white; text-align:center; }
.medical-disclaimer { padding:22px clamp(24px,6.5vw,104px); background:#f2ebf5; color:#6e6375; font-size:12px; line-height:1.7; text-align:center; }
.weight-page { --page-lavender:#efe2ea; --page-lavender-soft:#fbf4f8; --page-plum:#8a5678; }
.weight-page .gastro-hero { background:linear-gradient(118deg,var(--page-paper) 0 63%,var(--page-lavender) 63%); }
.weight-page .gastro-hero-photo img { object-position:50% 44%; }
.weight-page .gastro-note { border-right-color:var(--page-plum); }
.weight-page .gastro-cta { background:linear-gradient(135deg,var(--page-purple-deep),var(--page-plum)); }
@media (max-width:900px) {
  .gastro-hero,.weight-page .gastro-hero { grid-template-columns:1fr; background:var(--page-paper); }
  .gastro-hero-photo { width:min(78vw,460px); height:470px; }
  .gastro-section,.gastro-why,.gastro-cta { grid-template-columns:1fr; }
  .gastro-steps { grid-template-columns:1fr; }
  .gastro-step { min-height:0; }
}
@media (max-width:600px) {
  .content-page .site-header { position:relative; }
  .content-page .brand small { display:none; }
  .header-link { padding:11px 14px; font-size:12px; }
  .gastro-hero { padding:45px 22px 70px; }
  .gastro-hero h1 { font-size:clamp(42px,12vw,58px); }
  .gastro-hero-photo { width:82vw; height:410px; border-radius:24px; }
  .gastro-cards { grid-template-columns:1fr; }
  .gastro-cta-actions { min-width:0; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }

/* Homepage hero image: fill the entire former white visual area, with no decorative effects */
body:not(.content-page) .hero-visual {
  min-height:696px;
  padding:0;
  align-items:stretch;
  justify-content:stretch;
  overflow:hidden;
  background:transparent;
}
body:not(.content-page) .hero-visual .sun-shape,
body:not(.content-page) .hero-visual .leaf-shape,
body:not(.content-page) .hero-visual .expertise-card {
  display:none;
}
body:not(.content-page) .hero-visual .portrait-frame {
  width:100%;
  height:100%;
  min-height:696px;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}
body:not(.content-page) .hero-visual .portrait-frame::after {
  display:none;
}
body:not(.content-page) .hero-visual .portrait-frame img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 50%;
}
@media (max-width:900px) {
  body:not(.content-page) .hero-visual,
  body:not(.content-page) .hero-visual .portrait-frame {
    min-height:570px;
    height:570px;
    padding:0;
  }
}
@media (max-width:600px) {
  body:not(.content-page) .hero-visual,
  body:not(.content-page) .hero-visual .portrait-frame {
    min-height:490px;
    height:490px;
    padding:0;
  }
  body:not(.content-page) .hero-visual .portrait-frame img {
    object-position:50% 45%;
  }
}
