/* SWELL integration: only custom chrome and owned page templates. */
body.ffp-full{margin:0!important;background:#fff!important;overflow-x:clip}
body.ffp-enabled #header,body.ffp-enabled #fix_header,body.ffp-enabled #sp_menu,body.ffp-enabled #footer,body.ffp-enabled #pagetop,body.ffp-enabled .p-fixBtnWrap{display:none!important}
body:has(.ff-design) #header,body:has(.ff-design) #fix_header,body:has(.ff-design) #sp_menu,body:has(.ff-design) #footer,body:has(.ff-design) #pagetop,body:has(.ff-design) .p-fixBtnWrap{display:none!important}
.ffp-chrome{display:contents}
.ff-design{--ink:#4c3d31;--muted:#82786f;--accent:#F89616;--line:#e7ded2;--cream:#fff7e9;--ease:cubic-bezier(.2,.7,.2,1);font:15px/1.85 'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;letter-spacing:.035em;color:var(--ink)}
.ff-design .site-header{position:sticky!important;top:0!important;z-index:1000!important;width:100%!important;margin:0!important;background:#fff!important}
.admin-bar .ff-design .site-header{top:32px!important}
.ff-design #site-menu{z-index:100000;color:#4c3d31}
body:has(.ff-design).menu-open{overflow:hidden}
.ff-design .ff-search-heading{display:none!important}
.ff-design .ff-day-btn.is-active,.ff-design .ff-more-tag.is-active{background:#F89616!important;border-color:#F89616!important;color:white!important}
.ff-design .ff-more-toggle>span:first-child{display:inline-flex!important;align-items:center;justify-content:center;line-height:1!important}
.ff-design .ffp-news-list{width:100%;max-width:850px}
.ff-design .ffp-news-list>a{display:flex;align-items:center;gap:24px;border-bottom:1px solid #ddd5ca;padding:22px 0}
.ff-design .ffp-news-list time{flex-shrink:0;color:#81786f;font-size:13px}
.ff-design .ffp-news-list>a>span{flex:1}
.ff-design .image-fallback{display:grid;place-items:center;background:#f8eddb;width:100%;height:100%;min-height:250px}
.ff-design picture{display:contents}
.ff-design .hero-main img{width:100%;height:100%;object-fit:cover}
.ff-design .journal-grid:empty::after{content:'記事を準備しています';padding:40px}
.ff-design .promo-deck:empty{display:none}
.ff-design .promo-card[hidden]{display:none!important}
.ff-design .journal-controls[hidden],.ff-design .season-controls[hidden]{display:none!important}
html:has(body.ffp-enabled){scroll-padding-top:150px;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html:has(body.ffp-enabled){scroll-behavior:auto}}
.ff-design .ffmc-header-member-slot{display:none!important}
.ff-design .icon-link::before,.ff-design .icon-link::after{content:none!important}
.ff-design .ff-more-body.is-closed{display:none!important}
.ff-design .ff-more-body.is-open{display:block!important}
.ff-design .ff-more-toggle{display:flex!important;align-items:center!important}
.ff-design .ff-more-toggle::before{display:block!important;position:static!important;flex:0 0 30px!important;height:30px!important;width:30px!important}
.ff-design.no-leaves .season-particles .leaf{display:none}
@media(max-width:782px){.admin-bar .ff-design .site-header{top:46px!important}.ff-design .ffp-news-list>a{gap:12px}.ff-design .ffp-news-list time{font-size:11px}}

/* Desktop reading gutters: backgrounds remain full width; content stays bounded. */
@media(min-width:1024px){
.ff-design #main{--reading-gutter:max(56px,calc((100vw - 1200px)/2))}
.ff-design #main .editorial-hero{width:calc(100% - 112px)!important;max-width:1200px!important;margin:24px auto 0!important;padding:0!important}
.ff-design #main .seasonal-heading,.ff-design #main .seasonal-note,.ff-design #main .seasonal-track,.ff-design #main .journal-window,.ff-design #main .journal-toolbar{padding-left:var(--reading-gutter)!important;padding-right:var(--reading-gutter)!important;box-sizing:border-box!important}
.ff-design #main .mood-section,.ff-design #main .search-section{padding-left:var(--reading-gutter)!important;padding-right:var(--reading-gutter)!important}
.ff-design #main .origin-inner{max-width:1200px!important;width:calc(100% - 112px)!important;margin-inline:auto!important}
.ff-design #main .news{max-width:1200px!important;width:calc(100% - 112px)!important;padding-left:0!important;padding-right:0!important;box-sizing:border-box!important}
}
@media(min-width:1024px){
.ff-design #main .seasonal-heading,.ff-design #main .seasonal-note,.ff-design #main .journal-toolbar{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
}

/* Home refinement: content-bound guides and transparent carousel edges. */
.ff-design #main .seasonal-track,.ff-design #main .journal-window{--edge-gutter:5%;--edge-softness:36px;-webkit-mask-image:linear-gradient(to right,transparent 0,transparent var(--edge-gutter),#000 calc(var(--edge-gutter) + var(--edge-softness)),#000 calc(100% - var(--edge-gutter) - var(--edge-softness)),transparent calc(100% - var(--edge-gutter)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,transparent var(--edge-gutter),#000 calc(var(--edge-gutter) + var(--edge-softness)),#000 calc(100% - var(--edge-gutter) - var(--edge-softness)),transparent calc(100% - var(--edge-gutter)),transparent 100%)}
.ff-design #main .origin-story{padding-left:0!important;padding-right:0!important}
.ff-design #main .origin-inner{width:calc(100% - 64px)!important;max-width:1060px!important;margin-inline:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr) 290px!important;gap:48px!important;align-items:center!important;padding:0!important}
.ff-design #main .origin-copy h2{font-size:clamp(27px,3.1vw,46px)!important;line-height:1.8!important;letter-spacing:.06em!important;margin:24px 0 30px!important}
.ff-design #main .origin-copy h2>span{display:block!important}
.ff-design #main .origin-copy>p:last-child{font-size:14px!important;line-height:2.2!important}
.ff-design #main .origin-invitation{display:flex!important;flex-direction:column!important;align-items:center!important;gap:20px!important;padding-top:65px!important}
.ff-design #main .origin-invitation>img{width:230px!important;max-width:100%!important;height:auto!important;object-fit:contain!important;filter:drop-shadow(0 12px 18px #0002)}
.ff-design #main .origin-invitation .read-more{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;width:100%!important;padding:18px 22px!important;font-size:12px!important;line-height:1.7!important;background:#fff9ef!important;border-radius:50px!important;color:#4c3d31!important;box-sizing:border-box!important;transition:transform .35s,box-shadow .35s}
.ff-design #main .origin-invitation .read-more:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0002}
.ff-design #main .news{display:block!important;max-width:1060px!important;width:calc(100% - 64px)!important;margin-inline:auto!important;padding:75px 0!important}
.ff-design #main .news>.section-title{text-align:center!important;margin:0 0 40px!important}
.ff-design #main .ffp-news-list{max-width:900px!important;margin-inline:auto!important}
.ff-design #main .ffp-news-list>a{padding:24px 12px!important;gap:20px!important}
.ff-design #main .ffp-news-list>a>b{font-size:17px!important;font-weight:400!important;flex:0 0 30px!important;width:30px!important;height:30px!important;display:grid!important;place-items:center!important;border:1px solid #ddd5ca!important;border-radius:50%!important;color:#8a7865!important}
@media(min-width:1024px){
.ff-design #main .seasonal-track,.ff-design #main .journal-window{--edge-gutter:var(--reading-gutter);--edge-softness:48px}
.ff-design #main .guide-mood{left:max(48px,calc((100% - 1060px)/2))!important;top:8px!important}
.ff-design #main .guide-search{right:max(48px,calc((100% - 1060px)/2))!important;top:-12px!important}
.ff-design #main .guide-search .guide-actor{flex-basis:125px!important;width:125px!important}
.ff-design #main .guide-search img{height:145px!important;object-fit:contain!important}
.ff-design #main .journal-heading{max-width:900px!important}
.ff-design #main .guide-journal-left{left:15px!important;top:-5px!important}
.ff-design #main .guide-journal{right:max(48px,calc((100% - 900px)/2 + 15px))!important;top:70px!important}
}
@media(min-width:701px) and (max-width:1023px){.ff-design #main .guide-mood{left:5%!important}.ff-design #main .guide-search{right:5%!important}.ff-design #main .guide-journal{right:7%!important}.ff-design #main .guide-journal-left{left:7%!important}.ff-design #main .origin-inner{grid-template-columns:minmax(0,1fr) 220px!important;gap:25px!important}.ff-design #main .origin-copy h2{font-size:28px!important}}
@media(max-width:700px){
.ff-design #main .seasonal-track,.ff-design #main .journal-window{--edge-gutter:5%;--edge-softness:16px}
.ff-design #main .guide-mood{left:7%!important}.ff-design #main .guide-search{right:7%!important}.ff-design #main .guide-journal-left{left:7%!important}.ff-design #main .guide-journal{right:7%!important}
.ff-design #main .origin-inner{width:calc(100% - 44px)!important;grid-template-columns:1fr!important;gap:25px!important}.ff-design #main .origin-copy h2{font-size:clamp(23px,6vw,30px)!important;letter-spacing:.02em!important}.ff-design #main .origin-copy>p:last-child{font-size:12px!important}.ff-design #main .origin-invitation{padding-top:0!important;flex-direction:row!important;gap:12px!important}.ff-design #main .origin-invitation>img{width:110px!important;flex:0 0 110px!important}.ff-design #main .origin-invitation .read-more{font-size:11px!important;padding:15px!important}.ff-design #main .news{width:calc(100% - 44px)!important;padding:55px 0!important}.ff-design #main .ffp-news-list>a{flex-wrap:wrap!important;gap:8px 12px!important;padding:20px 0!important}.ff-design #main .ffp-news-list time{width:100%!important}.ff-design #main .ffp-news-list>a>span{font-size:12px!important}
}
.ff-design #main .ffp-news-list>a>.icon{width:30px!important;height:30px!important;flex:0 0 30px!important;padding:7px!important;border:1px solid #ddd5ca!important;border-radius:50%!important;box-sizing:border-box!important;color:#8a7865!important;transition:transform .3s,background .3s}
.ff-design #main .ffp-news-list>a:hover>.icon{transform:translateX(3px);background:#f4eee5}
.ff-design #main .ffp-news-list>.text-link{justify-content:center!important;border-bottom:0!important;width:max-content!important;margin:16px auto 0!important;font-size:12px!important}
.ff-design #main .guide-search img[src$="korakko_bow.png"]{scale:1.45;transform-origin:center}
/* Centered reading window: fades belong to neighbours, never to the resting cards. */
.ff-design #main .seasonal-track,.ff-design #main .journal-window{box-sizing:border-box!important;width:100%!important;padding-inline:var(--rail-edge)!important;overflow:hidden!important;mask-image:linear-gradient(to right,transparent,#000 var(--rail-edge),#000 calc(100% - var(--rail-edge)),transparent)!important;-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--rail-edge),#000 calc(100% - var(--rail-edge)),transparent)!important}
.ff-design #main .season-belt,.ff-design #main .journal-grid{display:flex!important;gap:var(--rail-gap)!important;margin-left:var(--rail-offset)!important;margin-right:0!important;max-width:none!important;width:auto!important}
.ff-design #main .season-belt>.season-card,.ff-design #main .journal-grid>.story{flex:0 0 var(--rail-card)!important;width:var(--rail-card)!important;min-width:0!important}
/* A compact invitation, with the pointing character on the right. */
.ff-design #main .origin-inner{grid-template-columns:minmax(0,1fr) 350px!important;gap:28px!important}
.ff-design #main .origin-invitation{flex-direction:row!important;gap:0!important;padding-top:100px!important;align-items:center!important}
.ff-design #main .origin-invitation>img{order:2;width:145px!important;flex:0 0 145px!important;max-width:42%!important;transform-origin:50% 85%}
.ff-design #main .origin-invitation .read-more{order:1;position:relative;flex:1;min-width:0;padding:22px 18px!important;border-radius:22px 22px 4px 22px!important;gap:10px!important;box-shadow:0 8px 30px #0002;border:1px solid #fff8}
.ff-design #main .origin-invitation .read-more>span{max-width:140px;text-wrap:balance}
.ff-design #main .origin-invitation .read-more i{flex:0 0 28px}
.ff-design #main .origin-story.in-view .origin-invitation .read-more{animation:ff-invite-enter .85s cubic-bezier(.2,.8,.2,1) both}
.ff-design #main .guide.in-view .guide-actor img{animation:ff-otter-float 4.8s ease-in-out infinite!important;transform-origin:50% 80%}
.ff-design #main .guide-search.in-view .guide-actor img{animation:ff-otter-bow 5.8s ease-in-out infinite!important}
.ff-design #main .guide-journal-left.in-view .guide-actor img{animation:ff-otter-roll 5.4s ease-in-out infinite!important}
.ff-design #main .guide-journal.in-view .guide-actor img{animation:ff-otter-swim 5.6s ease-in-out infinite!important}
.ff-design #main .origin-story.in-view .origin-invitation>img{animation:ff-otter-bow 5s ease-in-out infinite!important}
@keyframes ff-invite-enter{from{opacity:0;translate:0 18px;scale:.94}to{opacity:1;translate:0 0;scale:1}}
@keyframes ff-otter-float{0%,100%{translate:0 0;rotate:-2deg}50%{translate:0 -8px;rotate:2deg}}
@keyframes ff-otter-bow{0%,65%,100%{rotate:0deg;translate:0 0}76%{rotate:-6deg;translate:-3px -4px}88%{rotate:2deg;translate:0 -2px}}
@keyframes ff-otter-roll{0%,100%{rotate:-4deg;translate:0 0}50%{rotate:5deg;translate:0 -7px}}
@keyframes ff-otter-swim{0%,100%{translate:0 0;rotate:0deg}50%{translate:-9px -5px;rotate:-4deg}}
@media(max-width:1000px){.ff-design #main .origin-inner{grid-template-columns:1fr!important}.ff-design #main .origin-invitation{width:350px;max-width:100%;justify-self:end;padding-top:0!important}}
@media(max-width:700px){
.ff-design #main .journal{padding-top:45px!important}
.ff-design #main .journal-heading{padding:12px 50px 0!important;margin-bottom:28px!important}
.ff-design #main .journal .wave-title{font-size:clamp(23px,6.5vw,35px)!important;margin-top:0!important;white-space:nowrap}
.ff-design #main .guide-journal-left{left:1%!important;top:5px!important}
.ff-design #main .guide-journal{right:1%!important;top:52px!important}
.ff-design #main .guide-journal .guide-actor,.ff-design #main .guide-journal-left .guide-actor{flex-basis:52px!important;width:52px!important}
.ff-design #main .guide-journal img,.ff-design #main .guide-journal-left img{height:52px!important}
.ff-design #main .origin-invitation>img{width:110px!important;flex-basis:110px!important}
.ff-design #main .origin-invitation .read-more{font-size:12px!important;padding:20px 16px!important}
}
@media(prefers-reduced-motion:reduce){.ff-design #main .guide.in-view .guide-actor img,.ff-design #main .origin-story.in-view .origin-invitation>img,.ff-design #main .origin-story.in-view .origin-invitation .read-more{animation:none!important}}
.ff-design.motion-paused #main .guide img,body.motion-paused .ff-design #main .guide img,body.motion-paused .ff-design #main .origin-invitation>img{animation-play-state:paused!important}
/* Reading room inside seasonal cards; photos remain edge to edge. */
.ff-design #main .season-card>div{padding:16px 20px 20px!important}
.ff-design #main .guide-journal .guide-actor,.ff-design #main .guide-journal-left .guide-actor{width:175px!important;flex-basis:175px!important}
.ff-design #main .guide-journal img,.ff-design #main .guide-journal-left img{height:175px!important}
@media(max-width:700px){
.ff-design #main .journal-controls{display:none!important}
.ff-design #main .journal-toolbar{justify-content:flex-end!important}
.ff-design #main .guide-journal .guide-actor,.ff-design #main .guide-journal-left .guide-actor{width:78px!important;flex-basis:78px!important}
.ff-design #main .guide-journal img,.ff-design #main .guide-journal-left img{height:78px!important}
.ff-design #main .guide-journal-left{left:2%!important;top:0!important}
.ff-design #main .guide-journal{right:2%!important;top:100px!important}
.ff-design #main .journal-heading{padding:22px 32px 35px!important}
.ff-design #main .journal .wave-title{font-size:clamp(23px,6vw,30px)!important}
.ff-design #main .guide-journal-left{top:-24px!important}
.ff-design #main .season-card>div{padding:15px 18px 18px!important}
}
@media(max-width:700px){.ff-design #main .journal-heading{padding:22px 65px 15px!important}.ff-design #main .guide-journal-left{top:8px!important;left:0!important}.ff-design #main .guide-journal{top:59px!important;right:0!important}.ff-design #main .journal .wave-title{font-size:clamp(21px,5.8vw,27px)!important}}
.ff-design #main .season-card .season-body{padding:16px 20px 20px!important}
@media(max-width:700px){.ff-design #main .season-card .season-body{padding:15px 18px 18px!important}.ff-design #main .guide-journal-left{left:2%!important}.ff-design #main .guide-journal{right:2%!important}}
.ff-design .wave-title:after{content:attr(data-wave-title)!important}
/* Door guide: clip at the sill and let the mascot sink behind it. */
.ff-design.backyard-detail .backyard-welcome{translate:-50% 0;animation:none;clip-path:inset(-120px -100px 42% -100px);will-change:top,opacity}
.ff-design.backyard-detail .backyard-welcome img{display:block;animation:none;will-change:transform}
/* Only the secondary row retreats; no height animation or page reflow. */
.ff-design.front-design .site-header{background:transparent!important;border-bottom:0;backdrop-filter:none;pointer-events:none}
.ff-design.front-design .masthead{position:relative;z-index:2;background:#fff;pointer-events:auto}
.ff-design.front-design .topic-nav{position:relative;z-index:1;pointer-events:auto;transform:translateY(0);opacity:1;visibility:visible;transition:transform .3s cubic-bezier(.22,.68,.25,1),opacity .22s ease,visibility 0s}
.ff-design.front-design .topics-hidden .topic-nav{transform:translateY(-100%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .3s cubic-bezier(.22,.68,.25,1),opacity .22s ease,visibility 0s .3s}
.ff-design.front-design :is(#highlights,#seasonal,#discover,#search,#journal){scroll-margin-top:var(--anchor-clearance,165px)}
@media(prefers-reduced-motion:reduce){.ff-design.front-design .topic-nav,.ff-design.front-design .topics-hidden .topic-nav{transition:none}}

/* Continuous section edges and a viewport-sized mobile canvas. */
body.ffp-enabled,body.ffp-full{max-width:100%;min-width:0}
.ff-design,.ff-design #main,.ff-design .masthead{box-sizing:border-box;min-width:0;max-width:100%}
.ff-design.front-design #main{background:#fff}
.ff-design #main .editorial-hero{margin-bottom:38px!important}
.ff-design #main .seasonal{isolation:isolate;overflow:visible!important}
.ff-design #main .seasonal:before{content:'';display:block!important;position:absolute;top:-37px;left:0;right:0;height:38px;background:#fff1dc;transform:none;clip-path:none;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 28C240 80 420 0 720 28S1200 80 1440 28V80H0Z' fill='black'/%3E%3C/svg%3E") center/100% 100% no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 28C240 80 420 0 720 28S1200 80 1440 28V80H0Z' fill='black'/%3E%3C/svg%3E") center/100% 100% no-repeat;pointer-events:none;z-index:0}
.ff-design #main .journal{border-radius:clamp(28px,4vw,64px) clamp(28px,4vw,64px) 0 0;position:relative}
.ff-design #main .journal:before{display:none!important}
.ff-design #main .journal-toolbar{justify-content:flex-end!important}
.ff-design #main .news{width:100%!important;max-width:none!important;margin:0!important;padding:75px max(24px,calc((100% - 1060px)/2)) 90px!important;background:#fffdf9!important;box-sizing:border-box!important}
.ff-design #main .news:after{display:none!important}
.ff-design #main .ffp-news-list>a>span{min-width:0;overflow-wrap:anywhere}
.ff-design footer{--footer-curve:clamp(28px,4vw,64px);border-radius:0!important;position:relative;z-index:3;overflow:visible!important;margin-top:0!important}
.ff-design footer:before{content:'';display:block!important;position:absolute;top:calc(-1 * var(--footer-curve) + 1px);left:0;right:0;height:var(--footer-curve);mask:none!important;-webkit-mask:none!important;clip-path:none!important;transform:none!important;background:radial-gradient(circle at 100% 0,transparent calc(var(--footer-curve) - 1px),#493a30 var(--footer-curve)) left top/var(--footer-curve) 100% no-repeat,radial-gradient(circle at 0 0,transparent calc(var(--footer-curve) - 1px),#493a30 var(--footer-curve)) right top/var(--footer-curve) 100% no-repeat;pointer-events:none;animation:none!important}
@media(max-width:760px){
.ff-design .masthead{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;gap:4px!important}
.ff-design .masthead .brand{width:clamp(112px,35vw,145px)!important}
.ff-design .header-left,.ff-design .header-right{min-width:0}
.ff-design .topic-nav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;height:auto!important;min-height:42px;padding:0 5px!important;overflow:visible!important}
.ff-design .topic-nav a{min-width:0;padding:12px 2px!important;font-size:clamp(8px,2.35vw,11px)!important;letter-spacing:0!important;white-space:normal;text-align:center}
.ff-design #main .editorial-hero{width:100%!important;grid-template-columns:minmax(0,1fr)!important;margin-bottom:28px!important}
.ff-design .promo-stack{grid-template-columns:repeat(2,minmax(0,1fr))!important;min-width:0}
.ff-design #main .seasonal:before{top:-27px;height:28px}
.ff-design #main .news{padding:55px 22px 70px!important}
.ff-design .footer-groups{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr))!important}
.ff-design .footer-contact small{white-space:normal!important}
.ffp-detail-document .spot-main,.ffp-detail-document .media-single{box-sizing:border-box;min-width:0;max-width:100%}
.ffp-detail-document .spot-info-table{table-layout:fixed}
.ffp-detail-document .spot-info-table td{overflow-wrap:anywhere}
}
html:has(body.ffp-enabled){overflow-x:clip}
@media(max-width:760px){.ff-design .header-right{justify-content:flex-end}.ff-design .header-right .icon-link{flex-shrink:0}}

/* Three full-width curved joins: keep the photograph continuous at both edges. */
.ff-design #main .journal{border-radius:0!important;padding-top:calc(clamp(40px,5vw,76px) + 60px)!important}
.ff-design #main .journal:before{content:'';display:block!important;position:absolute;inset:0 0 auto;height:clamp(40px,5vw,76px);background:#fff;transform:none!important;animation:none!important;clip-path:none!important;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1440V80C1080 0 360 0 0 80Z'/%3E%3C/svg%3E") center/100% 100% no-repeat!important;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1440V80C1080 0 360 0 0 80Z'/%3E%3C/svg%3E") center/100% 100% no-repeat!important;pointer-events:none;z-index:2}
.ff-design #main .origin-story{padding-top:calc(clamp(40px,5vw,76px) + 70px)!important;padding-bottom:calc(clamp(40px,5vw,76px) + 65px)!important}
.ff-design #main .origin-story:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 -2H1440V0C1080 100 360 100 0 0Z' fill='%23f9f9f5'/%3E%3C/svg%3E") center top/100% clamp(40px,5vw,76px) no-repeat}
@media(max-width:760px){.ff-design #main .journal{padding-top:80px!important}.ff-design #main .guide-journal{top:94px!important}.ff-design #main .origin-story{padding-top:85px!important;padding-bottom:90px!important}}
/* Overlap subpixel section seams so image pixels never form a hairline. */
.ff-design #main .origin-story:after{inset:-1px 0}
.ff-design #main .origin-story:after{box-shadow:inset 0 3px #f9f9f5}

/* Mirror the footer corners: a flat news edge with only the two ends curved. */
.ff-design #main .news{--news-curve:clamp(28px,4vw,64px);position:relative;z-index:2;margin-top:calc(-1 * var(--news-curve))!important;border-radius:var(--news-curve) var(--news-curve) 0 0!important}
/* Align footer contents with the editorial reading width. */
.ff-design footer{padding:60px max(25px,calc((100% - 1120px)/2)) 28px!important}
.ff-design .footer-groups{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:40px 70px!important}
@media(max-width:700px){.ff-design footer{padding:45px 25px 25px!important}.ff-design .footer-groups{gap:30px 20px!important}}
/* Match the small corner transitions used around the news section. */
.ff-design #main .origin-story:after{inset:-1px 0 auto;height:clamp(28px,4vw,64px);background:#f9f9f5;border-radius:0 0 clamp(28px,4vw,64px) clamp(28px,4vw,64px);box-shadow:none}
/* Company story: a slow white shoreline over the existing green gradient. */
.ffp-company .ff-story-section::before{content:"";position:absolute;inset:-1px 0 auto;height:48px;z-index:1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 48'%3E%3Cpath fill='white' d='M0 0H1200V24C1000 0 800 0 600 24S200 48 0 24Z'/%3E%3C/svg%3E");background-size:1200px 48px;background-repeat:repeat-x;animation:ffp-company-wave 18s linear infinite}
@keyframes ffp-company-wave{from{background-position:0 0}to{background-position:1200px 0}}
@media(max-width:700px){.ffp-company .ff-story-section::before{height:30px;background-size:750px 30px;animation-name:ffp-company-wave-mobile}}
@keyframes ffp-company-wave-mobile{from{background-position:0 0}to{background-position:750px 0}}
@media(prefers-reduced-motion:reduce){.ffp-company .ff-story-section::before{animation:none}}
/* The archive reuses the top page's date/title/arrow rows. */
.ff-design #main.news-index .news{margin-top:0!important;border-radius:0!important;min-height:65vh;padding-top:80px!important}
.ff-design #main.news-index h1{font-size:clamp(27px,3vw,36px);text-align:center;margin:0 0 50px}
.ff-design .news-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin-top:45px}
.ff-design .news-pagination .page-numbers{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border:1px solid #ddd5ca;border-radius:24px;color:#59493d;text-decoration:none}
.ff-design .news-pagination .current,.ff-design .news-pagination a:hover{background:#59493d;color:#fff}
.ff-design .promo-card:has(img[src*="ELUNAlogo"]){background:#fff}
.ff-design .promo-card:has(img[src*="ELUNAlogo"]) img{object-fit:contain!important;object-position:center 35%!important;padding:18px 24px 80px;box-sizing:border-box}
.ff-design .promo-card:has(img[src*="ELUNAlogo"]):after{background:linear-gradient(transparent 50%,rgba(45,34,27,.85))!important}

/* 2026-10-18: mobile journal access and footer contact. */
.ff-design .ffp-journal-mobile{display:none}
.ff-design .ffp-contact-row{margin:32px 0}
.ff-design footer a.ffp-contact-button{display:flex;align-items:center;justify-content:space-between;gap:18px;box-sizing:border-box;width:280px;max-width:100%;padding:20px 24px;border:1px solid #e8ded1;border-radius:16px;background:#fffaf2;color:#493a30;text-decoration:none;line-height:1.5;font-size:16px}
.ff-design footer a.ffp-contact-button:hover{background:#f4e6d2}
.ff-design .ffp-contact-button:focus-visible,.ff-design .ffp-journal-link:focus-visible{outline:3px solid #f89616;outline-offset:4px}
@media(max-width:760px){
.ff-design .masthead .header-left{display:flex!important;gap:2px!important;align-items:center}
.ff-design .masthead .header-left>.icon-link{flex:0 0 40px;min-width:0;min-height:44px}
.ff-design .masthead .header-left>.ffp-journal-link{display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:3px}
.ff-design .masthead .ffp-journal-link .icon{display:block;width:22px;height:22px}
.ff-design .masthead .ffp-journal-link .ffp-journal-desktop{display:none!important}
.ff-design .masthead .ffp-journal-link .ffp-journal-mobile{display:block!important;font-size:10px;line-height:1.2;letter-spacing:0;white-space:nowrap}
.ff-design .ffp-contact-row{margin:28px 0}
.ff-design footer a.ffp-contact-button{width:100%;max-width:340px;margin-inline:auto}
}

/* 2026-10-22: contact in the rightmost footer column. */
.ff-design footer .footer-groups{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(220px,280px)!important;gap:32px!important;align-items:start}
.ff-design footer .footer-groups>section{grid-column:auto!important;min-width:0}
.ff-design .ffp-footer-contact-slot{justify-self:end;width:100%;max-width:280px}
.ff-design .footer-groups .ffp-footer-contact-slot .footer-contact{margin-top:0;width:100%;max-width:none;box-sizing:border-box}
.ff-design .footer-contact:focus-visible{outline:3px solid #f89616;outline-offset:4px}
@media(max-width:900px){
.ff-design footer .footer-groups{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 20px!important}
.ff-design .ffp-footer-contact-slot{grid-column:1/-1;justify-self:center}
}
