.portal-showcase .portal-device-wrap{width:100%;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate}
.portal-showcase .portal-rings{width:470px;height:470px;opacity:.4;border-color:#bfd6be22;background:radial-gradient(circle,#80c5aa14,transparent 65%);box-shadow:0 0 0 45px #a9d4b405,0 0 0 90px #a9d4b403}
.portal-showcase .portal-phone{flex:none;margin-inline:auto;background:linear-gradient(150deg,#fff,#f3f7ef);border:5px solid #253d3a;box-shadow:0 0 0 1px #9eafa8,0 0 0 3px #d8e0d222,0 35px 80px #0008;border-radius:37px;position:relative}
.portal-showcase .portal-phone:before{content:'';position:absolute;left:-8px;top:85px;width:3px;height:40px;border-radius:2px;background:#80928a;box-shadow:0 50px #80928a;pointer-events:none}
.portal-phone-header{border-color:#dce5d6}.portal-action-preview{background:#2e6552;border-radius:9px}.portal-file,.portal-appointment,.portal-question{box-shadow:0 5px 16px #315b3a06;border-color:#dae5d3}.portal-file>span{border:0;background:#edf3e8;color:#7c9b6b;border-radius:7px}.portal-view>p:first-child{color:#6f8366}.portal-phone-footer{color:#879a7c}.portal-phone-footer .current{color:#315e46}.portal-showcase .portal-device-wrap>.story-caption{color:#7d948a;max-width:320px}
.site-footer{position:relative;background:#080c0b;color:#eff4ed;padding:0;overflow:hidden;border:0}.site-footer>.section-wrap{padding-top:65px}.footer-invitation{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:55px;border-bottom:1px solid #ffffff18}.footer-invitation .eyebrow{font-size:10px;color:#759282;margin-bottom:20px}.footer-invitation h2{font-size:clamp(34px,4.3vw,62px);font-weight:600;letter-spacing:-.05em;line-height:1.08}.footer-invitation h2 em{color:#8fbaa2}.footer-invitation>.button{background:#dcebdd;color:#1d3d2a;font-size:12px;padding:15px 23px;flex:none}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1.2fr 1fr;gap:45px;padding:55px 0}.site-footer .brand{color:#e4ece5}.site-footer .brand>span{font-family:var(--sans);font-weight:500}.site-footer .brand small{color:#8da294}.footer-brand>p{font-size:13px;line-height:1.85;color:#81948a;max-width:260px;margin-top:23px}.footer-mark{display:inline-block;color:#5f7c6c;font-size:10px;margin-top:20px}.footer-grid nav{display:flex;flex-direction:column;align-items:start;gap:15px}.footer-grid h3{font-size:13px;font-weight:550;color:#dce7dd;margin-bottom:6px}.footer-grid nav a,.footer-grid nav button{font-size:12px;line-height:1.6;color:#8a9d92;text-align:left;background:transparent;padding:0;border:0}.footer-grid nav a:hover,.footer-grid nav button:hover{color:#e5f4e5}.footer-grid nav .footer-to-top{margin-top:10px;color:#b5ccbb}.footer-legal{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #ffffff14;padding:25px 0;color:#627c6d;font-size:10px;line-height:1.7}.footer-wordmark{font-size:clamp(70px,15.5vw,230px);letter-spacing:-.075em;text-align:center;line-height:1.1;font-weight:650;background:linear-gradient(#293c32,#0e1812);background-clip:text;-webkit-background-clip:text;color:transparent;user-select:none;margin:30px 0 -15px;padding-right:.075em}
@media(max-width:900px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:35px}.footer-brand{grid-column:1/-1}.footer-brand>p{max-width:420px}}
@media(max-width:640px){
 .portal-showcase .showcase-sticky{align-items:center;overflow:clip}
 .portal-showcase .showcase-inner{width:calc(100% - 36px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;margin:auto;text-align:center}
 .portal-showcase .showcase-copy{width:100%}.portal-showcase .showcase-copy>.eyebrow,.portal-showcase .story-intro{display:none}
 .portal-showcase .showcase-copy h2{font-size:26px;line-height:1.04;margin-top:0;letter-spacing:-.045em}
 .portal-showcase .portal-network{font-size:7px;padding:5px 9px;margin-top:9px;border-color:#9abca033;color:#8fae9b}
 .portal-showcase .portal-story-description{margin:11px auto 0;min-height:0;max-width:315px}
 .portal-showcase .portal-story-description>span{display:none}
 .portal-showcase .portal-story-description h3{font-size:18px;line-height:1.2;margin:0;letter-spacing:-.035em}
 .portal-showcase .portal-story-description>p{font-size:10px;line-height:1.6;margin-top:6px;color:#91aa9b}
 .portal-showcase .showcase-controls{display:flex;flex-wrap:nowrap;justify-content:center;gap:6px;margin-top:11px}
 .portal-showcase .showcase-controls button{font-size:9px;min-height:35px;padding:8px 12px;border-radius:30px;color:#abc0af;background:#ffffff08;border-color:#ffffff20}
 .portal-showcase .showcase-controls button[aria-pressed=true]{background:#d9ead5;color:#294d37;border-color:#d9ead5}
 .portal-showcase .portal-device-wrap{align-self:center;align-items:center;justify-content:center;width:100%;margin:0 auto;position:relative}
 .portal-showcase .portal-phone{width:230px;height:340px;scale:1;transform:none;margin:0 auto;border-radius:31px;padding:28px 14px 12px;border-width:5px}
 .portal-showcase .portal-camera{width:54px;height:12px;top:8px;border-radius:20px}
 .portal-showcase .portal-phone-header{padding-bottom:11px;font-size:13px}.portal-phone-header small{font-size:7px}.portal-showcase .portal-phone-header img{width:24px;height:24px}
 .portal-showcase .portal-view{padding-top:12px;text-align:left}.portal-showcase .portal-view>p:first-child{font-size:10px;margin-bottom:11px}
 .portal-showcase .portal-appointment{padding:12px}.portal-showcase .portal-appointment>strong{font-size:20px;margin-top:7px}.portal-showcase .portal-appointment>p{font-size:10px}.portal-showcase .portal-appointment>small{font-size:6px}
 .portal-showcase .portal-action-preview{font-size:8px;padding:9px;margin-top:8px}.portal-showcase .portal-action-preview.secondary{margin-top:5px}.portal-showcase .portal-waiting{display:none}
 .portal-showcase .portal-file{padding:10px 8px;gap:9px}.portal-showcase .portal-file strong{font-size:10px}.portal-showcase .portal-file small{font-size:7px}.portal-showcase .portal-file>span{font-size:7px;padding:9px 5px}.portal-showcase .portal-saved{font-size:8px;line-height:1.6}
 .portal-showcase .portal-step strong{font-size:18px}.portal-showcase .portal-question p{font-size:9px}.portal-showcase .portal-question strong{font-size:11px}.portal-showcase .portal-phone-footer{font-size:6px;padding-top:10px;margin-top:9px}
 .portal-showcase .portal-rings{width:300px;height:300px;transform:translate(-50%,-50%);opacity:.6;box-shadow:0 0 0 35px #a9d4b405}
 .portal-showcase .portal-device-wrap>.story-caption{font-size:6px;margin-top:9px;line-height:1.5}
 .site-footer>.section-wrap{padding-top:42px}.footer-invitation{display:block;padding-bottom:35px}.footer-invitation h2{font-size:38px}.footer-invitation .eyebrow{margin-bottom:16px}.footer-invitation>.button{margin-top:25px;font-size:11px;min-height:44px;padding:12px 18px}
 .footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px;padding:35px 0}.footer-brand{grid-column:1/-1}.footer-brand>p{font-size:12px;max-width:310px;margin-top:18px}.footer-mark{font-size:9px;margin-top:12px}.footer-grid nav{gap:12px}.footer-grid h3{font-size:12px}.footer-grid nav a,.footer-grid nav button{font-size:11px}.footer-legal{display:block;padding:20px 0;font-size:9px}.footer-legal>span{display:block;margin-top:6px}.footer-wordmark{font-size:19vw;letter-spacing:-.07em;margin:10px 0 0}
}
@media(max-width:640px) and (max-height:700px){.portal-showcase .showcase-inner{gap:9px}.portal-showcase .showcase-copy h2{font-size:24px}.portal-showcase .portal-network{margin-top:7px;padding:4px 8px;font-size:6px}.portal-showcase .portal-story-description{margin-top:9px}.portal-showcase .portal-story-description h3{font-size:17px}.portal-showcase .portal-story-description>p{font-size:9px;line-height:1.5}.portal-showcase .showcase-controls{margin-top:8px}.portal-showcase .showcase-controls button{min-height:31px;padding:7px 10px;font-size:8px}.portal-showcase .portal-phone{height:325px;width:218px}.portal-showcase .portal-device-wrap>.story-caption{margin-top:6px}}
@media(prefers-reduced-motion:reduce),(max-height:520px){.portal-showcase .showcase-sticky{overflow:visible}}
/* A readable title for the day story, separate from the changing chapter. */
.day-header{top:25px;align-items:flex-start;gap:25px;letter-spacing:0}
.day-series-title>span{display:block;font-size:12px;line-height:1.2;font-weight:500;letter-spacing:.02em;color:#a5bcae;margin-bottom:9px}
.day-series-title>strong{display:block;font-size:clamp(25px,2.6vw,37px);line-height:1.06;font-weight:650;letter-spacing:-.04em;color:#f2f7f0}
.day-series-title em{color:#a5d2b7;font-weight:650;font-style:normal}
.day-header>#day-count{font-size:10px;line-height:1.4;letter-spacing:.05em;padding:9px 13px;border:1px solid #9fc2a733;border-radius:30px;color:#bdd0c1;white-space:nowrap;margin-top:21px}
@media(max-width:640px){.day-header{top:22px;left:6%;right:6%;gap:12px}.day-header>.day-series-title{max-width:none;line-height:1}.day-series-title>span{font-size:10px;margin-bottom:7px;letter-spacing:0}.day-series-title>strong{font-size:23px;line-height:1.08;letter-spacing:-.04em}.day-header>#day-count{max-width:none;font-size:7px;padding:7px 9px;margin-top:19px;letter-spacing:.02em}}
@media(max-width:350px){.day-series-title>strong{font-size:21px}.day-header>#day-count{font-size:6px;padding:6px 8px}}
@media(prefers-reduced-motion:reduce),(max-height:520px){.day-header{align-items:flex-start;margin-bottom:20px}}
.day-film{background:var(--day-background,#000)}
.day-film .day-glow{opacity:calc(var(--day-progress,0)*.3)}
@media(prefers-reduced-motion:reduce){.day-film{background:#000}}
#giornata.day-film{background:var(--day-background,#000)}
@media(prefers-reduced-motion:reduce){#giornata.day-film{background:#000}}
/* On short phones, let the complete portal preview flow with the page. */
@media(max-width:640px) and (max-height:620px){
 .showcase.portal-showcase{height:auto;min-height:0;padding:34px 0}
 .portal-showcase .showcase-sticky{position:relative;top:0;height:auto;min-height:0;max-height:none;overflow:visible;padding:0}
 .portal-showcase .showcase-inner{gap:24px}
 .portal-showcase .portal-device-wrap{padding-bottom:12px}
 .portal-showcase .portal-phone,.portal-showcase .portal-rings{transform:none}
}
/* A full-height smartphone silhouette, with a stable 9:19.5 proportion. */
.portal-showcase .portal-phone{width:clamp(220px,27svh,280px);height:auto;aspect-ratio:9 / 19.5}
.portal-showcase .portal-phone-footer{margin-top:auto}
@media(max-width:640px){
 .portal-showcase .portal-phone{width:clamp(216px,58vw,230px);height:auto;aspect-ratio:9 / 19.5;padding-bottom:17px;border-radius:34px}
 .portal-showcase .portal-view{flex:1}
 .portal-showcase .portal-phone-footer{padding-top:14px;margin-top:auto}
}
/* Preserve full-size text and the longer device on shorter displays. */
@media(max-width:640px) and (max-height:740px){
 .showcase.portal-showcase{height:auto;min-height:0;padding:34px 0}
 .portal-showcase .showcase-sticky{position:relative;top:0;height:auto;min-height:0;max-height:none;overflow:visible;padding:0}
 .portal-showcase .showcase-inner{gap:24px}
 .portal-showcase .portal-device-wrap{padding-bottom:12px}
}
