/* Shared bands and logical gutters keep each section independent and edge-to-edge. */
.layout-seamless-home { --background:#fffaf0; --ink:#123f3a; --brand-strong:#123f3a; --coral:#ffac92; --lilac:#e1d3ff; --spark:#e6ff51; --page-gutter:clamp(1.25rem,4.8vw,4.5rem); font-size:1rem; line-height:1.6; background:var(--background); color:var(--ink); overflow-wrap:anywhere; }
.layout-seamless-home :is(h1,h2,h3,p) { margin:0; }
.layout-seamless-home :is(h1,h2,h3) { font-family:var(--serif); font-weight:400; letter-spacing:-.035em; }
.layout-seamless-home a { color:inherit; }
.layout-seamless-home .visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.layout-seamless-home .section-inner { max-width:1440px; margin-inline:auto; padding-inline:var(--page-gutter); }
.layout-seamless-home .site-header { min-height:88px; padding:.85rem var(--page-gutter); display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:.5rem 2rem; background:var(--background); border:0; }
.layout-seamless-home .brand { direction:inherit; margin-inline-end:auto; }
.layout-seamless-home .master-wordmark { display:block; width:clamp(185px,19vw,270px); height:auto; }
.layout-seamless-home .site-nav { gap:1.5rem; }
.layout-seamless-home .site-nav a { min-height:44px; display:inline-flex; align-items:center; font-size:.95rem; font-weight:500; text-decoration:none; }
.layout-seamless-home .site-nav a:hover { text-decoration:underline; }
.layout-seamless-home .language-switcher { flex-basis:auto; font-size:.9rem; }
.layout-seamless-home .language-switcher a { min-width:44px; justify-content:center; }
.layout-seamless-home .language-tools { gap:.65rem; }
.layout-seamless-home .desktop-navigation { order:0; width:auto; }
.layout-seamless-home .mobile-navigation { display:none; }
.tools-navigation { position:relative; }
.tools-navigation > summary,.mobile-navigation > summary { display:flex; align-items:center; justify-content:center; gap:.65rem; min-height:44px; padding:.35rem .25rem; font:inherit; font-size:.95rem; font-weight:500; cursor:pointer; list-style:none; }
:is(.tools-navigation,.mobile-navigation) > summary::-webkit-details-marker { display:none; }
.navigation-chevron { display:inline-block; width:.45em; height:.45em; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-.15em) rotate(45deg); flex:none; }
:is(.tools-navigation,.mobile-navigation)[open] > summary .navigation-chevron { transform:translateY(.1em) rotate(225deg); }
.tools-navigation-panel { position:absolute; z-index:40; inset-block-start:calc(100% + .5rem); inset-inline-start:0; width:20rem; max-width:calc(100vw - 2*var(--page-gutter)); padding:.6rem 1rem; background:var(--background); border:1px solid #b5c0ae; border-radius:8px; box-shadow:0 6px 18px rgb(16 47 43 / 12%); }
.navigation-tool-links { margin:0; padding:0; list-style:none; }
.layout-seamless-home .navigation-tool-links a { display:flex; flex-wrap:wrap; align-items:center; gap:0 .4rem; width:100%; min-height:44px; padding:.4rem .25rem; line-height:1.5; text-decoration:none; }
.layout-seamless-home .navigation-tool-links a:hover { text-decoration:underline; }
.navigation-tool-links .destination-language { font-size:.8em; }
.navigation-tool-links li:last-child { border-block-start:1px solid #b5c0ae; margin-block-start:.35rem; }
.layout-seamless-home .navigation-tool-links .all-tools-link { text-decoration:underline; text-underline-offset:.2em; }
.layout-seamless-home :is(.tools-navigation,.mobile-navigation) > summary:focus-visible { outline:3px solid var(--ink); outline-offset:3px; border-radius:2px; }
.layout-seamless-home .eyebrow { font-size:.75rem; line-height:1.5; letter-spacing:.08em; font-weight:700; text-transform:uppercase; }
.welcome-band { position:relative; background:var(--coral); }
.welcome-layout { min-height:480px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; }
.welcome-copy { position:relative; z-index:1; padding-block:3rem; min-width:0; }
.layout-seamless-home .welcome-copy h1 { font-size:clamp(3rem,7.2vw,6.75rem); line-height:1.02; text-wrap:balance; }
.layout-seamless-home .welcome-tagline { font-size:clamp(1.15rem,1.8vw,1.5rem); line-height:1.45; margin-block-start:1.2rem; }
.layout-seamless-home .welcome-invitation { font-size:clamp(1.05rem,1.55vw,1.25rem); line-height:1.5; max-width:33ch; margin-block-start:1.25rem; }
.welcome-definition { margin-block-start:.6rem; font-size:.875rem; max-width:43ch; }
.welcome-definition summary { cursor:pointer; min-height:44px; display:flex; align-items:center; width:fit-content; text-decoration:underline; text-underline-offset:.2em; }
.welcome-definition[open] summary { text-decoration-thickness:2px; }
.welcome-definition p { padding-block:.25rem; }
.welcome-visual { position:absolute; inset-block:0; inset-inline-end:0; width:55%; overflow:hidden; mask-image:linear-gradient(to right,transparent,#000 14%); }
.welcome-art { display:block; width:100%; height:100%; object-fit:cover; object-position:70% center; }
.layout-seamless-home .weekly-feature { position:relative; background:var(--lilac); padding:0; }
.weekly-shell { padding-block:2.5rem; }
.layout-seamless-home .weekly-slot { position:relative; z-index:1; min-width:0; width:calc(100% - 245px); container:weekly / inline-size; }
.layout-seamless-home .weekly-module { border:0; border-radius:0; padding:0; background:transparent; box-shadow:none; font-family:inherit; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); gap:2rem; }
.layout-seamless-home .weekly-module__eyebrow { margin-block-end:.65rem; }
.layout-seamless-home .weekly-module__title { font-family:var(--serif); font-size:clamp(2rem,3.3vw,3rem); line-height:1.1; max-width:18ch; letter-spacing:-.035em; }
.layout-seamless-home .weekly-module__reference { font-size:.95rem; margin-block-start:.7rem; }
.layout-seamless-home .weekly-module__action { border-inline-start:1px solid #b4a5d0; padding-inline-start:2rem; align-self:center; }
.layout-seamless-home .weekly-module__description { font-size:1.125rem; line-height:1.55; margin-block-end:1.05rem; max-width:36ch; }
.layout-seamless-home .weekly-module__destination { font-size:.8rem; margin-block-start:.55rem; }
.layout-seamless-home .weekly-module__link { border-radius:6px; padding:.7rem 1.1rem; gap:1.5rem; color:#fffaf0; font-size:1rem; }
.layout-seamless-home .weekly-module__link:hover { background:#235749; }
.weekly-art { position:absolute; inset-inline-end:0; inset-block-end:0; width:clamp(220px,23vw,340px); height:auto; max-height:100%; object-fit:contain; object-position:right bottom; pointer-events:none; }
.weekly-module__preferences { margin-block-start:.6rem; font-size:.8rem; }
.weekly-module__preferences summary { cursor:pointer; min-height:44px; display:flex; align-items:center; flex-wrap:wrap; gap:.35rem .6rem; width:fit-content; padding-block:.3rem; list-style:none; }
.weekly-module__preferences summary::-webkit-details-marker { display:none; }
.weekly-module__preferences summary .calendar-change { text-decoration:underline; text-underline-offset:.2em; }
.weekly-module__preferences .calendar-help { max-width:44ch; margin-block:.4rem; }
.weekly-module__preferences .weekly-module__calendar { margin-block:.4rem; }
.weekly-module__link .weekly-arrow { width:24px; height:24px; filter:invert(1); flex:none; }
.tools-band { background:var(--background); padding-block:2.75rem 1.5rem; }
.tools-heading { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); align-items:end; gap:3rem; margin-block-end:1.25rem; }
.layout-seamless-home .tools-heading h2 { font-size:clamp(2rem,4.4vw,3.8rem); line-height:1.1; margin-block-start:.45rem; }
.tools-heading > p { max-width:37ch; font-size:clamp(1rem,1.5vw,1.25rem); line-height:1.55; }
.tool-row { display:grid; grid-template-columns:clamp(160px,16vw,220px) minmax(0,1.15fr) minmax(0,1.2fr) minmax(0,.9fr); gap:1.5rem; align-items:center; padding-block:.85rem; border-block-end:1px solid #b5c0ae; scroll-margin-block-start:1rem; }
.tool-row:last-child { border:0; }
.tool-art { display:block; width:100%; height:128px; object-fit:contain; }
.layout-seamless-home .tool-heading h3 { font-size:clamp(2rem,2.7vw,2.5rem); line-height:1.15; overflow-wrap:anywhere; }
.layout-seamless-home .tool-heading h3 bdi[lang='en'] { font-family:Newsreader,Georgia,serif; }
.tool-heading { min-width:0; }
.layout-seamless-home .tool-stage { display:inline-block; max-width:100%; overflow-wrap:anywhere; padding:.15rem .65rem; margin-block-start:.4rem; border-radius:10px; font-size:.875rem; line-height:1.5; background:var(--lilac); }
.tool-giving .tool-stage { background:#edf7ac; }
.tool-time .tool-stage { background:#ffe6af; }
.tool-blessings .tool-stage { background:#ece6ef; }
.tool-description { font-size:clamp(1rem,1.4vw,1.25rem); line-height:1.5; max-width:29ch; }
.tool-action { display:flex; align-items:center; gap:1rem; min-height:48px; width:fit-content; font-weight:600; font-size:clamp(1rem,1.4vw,1.25rem); text-decoration:underline; text-underline-offset:.35em; justify-self:start; }
.tool-action img { width:24px; height:24px; flex:none; }
.tool-action > span { min-width:0; overflow-wrap:anywhere; }
.tool-action .destination-language { display:block; font-size:.8rem; font-weight:400; line-height:1.5; }
.home-footer { position:relative; background:var(--spark); padding-block:2.25rem; }
.footer-layout { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.65fr) 260px; gap:2.5rem; }
.layout-seamless-home .footer-story > h2 { font-size:clamp(2rem,3.1vw,2.8rem); line-height:1.15; max-width:21ch; }
.layout-seamless-home .footer-story > p { font-size:1rem; margin-block:.75rem 1rem; }
.approach-details > summary { display:inline-flex; align-items:center; min-height:48px; cursor:pointer; padding:.6rem 1.1rem; border-radius:6px; background:var(--ink); color:#fffaf0; width:fit-content; }
.approach-details[open] > summary { margin-block-end:1rem; }
.approach-content { max-width:60ch; padding-block:.25rem; }
.layout-seamless-home .approach-content h3 { font-family:inherit; font-size:1.15rem; font-weight:650; letter-spacing:normal; margin-block:1.25rem .35rem; }
.layout-seamless-home .approach-content p { margin-block:.75rem; }
.footer-links { border-inline-start:1px solid #839765; padding-inline-start:2rem; }
.footer-links nav { display:flex; flex-direction:column; align-items:start; gap:0; }
.footer-links nav a { min-height:44px; display:inline-flex; flex-wrap:wrap; gap:.35rem; align-items:center; line-height:1.5; }
.layout-seamless-home .image-credit { margin-block-start:.75rem; font-size:.75rem; }
.footer-art { position:absolute; inset-block-end:0; inset-inline-end:0; width:clamp(260px,26vw,360px); height:auto; max-height:310px; object-fit:contain; object-position:right bottom; pointer-events:none; }
html[dir='rtl'] .welcome-visual { mask-image:linear-gradient(to left,transparent,#000 14%); }
/* Keep the artwork's original orientation while softening its cropped inward edge. */
html[dir='rtl'] :is(.weekly-art,.footer-art) { mask-image:linear-gradient(to left,transparent,#000 18%); object-position:left bottom; }
html[dir='rtl'] .layout-seamless-home :is(h1,h2,h3,.eyebrow) { letter-spacing:normal; text-transform:none; }
html[dir='rtl'] .layout-seamless-home .welcome-copy h1 { line-height:1.22; max-width:12ch; font-size:clamp(2.7rem,5.5vw,5rem); }
html[dir='rtl'] .layout-seamless-home .weekly-module__title { line-height:1.35; font-size:clamp(2rem,3.1vw,2.8rem); }
html[dir='rtl'] .layout-seamless-home .tool-heading h3 { font-size:clamp(2rem,2.7vw,2.5rem); line-height:1.4; }
html[dir='rtl'] :is(.tool-action img,.weekly-arrow) { transform:scaleX(-1); }
@media (max-width:1099px) {
 .welcome-layout { min-height:390px; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); } .welcome-copy { padding-block:2rem; } .welcome-visual { width:53%; }
 .layout-seamless-home .welcome-copy h1 { font-size:clamp(3rem,6.7vw,5rem); }
 .layout-seamless-home .weekly-slot { width:100%; } .weekly-art { display:none; } .layout-seamless-home .weekly-module__title { font-size:2.5rem; }
 .tool-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem 2.5rem; }
 .tool-row { grid-template-columns:96px minmax(0,1fr); gap:.65rem 1rem; align-content:start; align-items:center; } .tool-art { height:96px; }
 .tool-description,.tool-action { grid-column:1/-1; max-width:none; justify-self:start; } .tool-action { align-self:end; }
 .tool-row:last-child { border-block-end:1px solid #b5c0ae; } .tools-heading { gap:1.5rem; }
 .footer-layout { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:2rem; } .footer-art { display:none; }
}
@media (max-width:699px) {
 .layout-seamless-home .site-header { padding-block:.5rem; } .layout-seamless-home .master-wordmark { width:190px; }
 .welcome-layout { display:block; min-height:0; } .welcome-copy { padding-block:1.75rem 1rem; }
 .layout-seamless-home .welcome-copy h1 { font-size:clamp(2.8rem,10vw,4.5rem); max-width:13ch; }
 .layout-seamless-home .welcome-tagline { font-size:1.125rem; margin-block-start:1rem; } .layout-seamless-home .welcome-invitation { font-size:1rem; margin-block-start:.8rem; }
 .welcome-visual { position:relative; width:calc(100% + 2*var(--page-gutter)); margin-inline:calc(-1*var(--page-gutter)); height:230px; mask-image:linear-gradient(to bottom,transparent,#000 9%); }
 .welcome-art { object-position:75% 58%; }
 .weekly-shell { padding-block:1.75rem; } .layout-seamless-home .weekly-module { grid-template-columns:minmax(0,1fr); gap:.85rem; } .layout-seamless-home .weekly-module__title { font-size:2.15rem; max-width:19ch; }
 .layout-seamless-home .weekly-module__action { border:0; padding:0; } .layout-seamless-home .weekly-module__description { font-size:1rem; } .layout-seamless-home .weekly-module__link { width:100%; justify-content:space-between; }
 .tools-band { padding-block:1.75rem 1rem; } .tools-heading { display:block; margin-block-end:1rem; } .layout-seamless-home .tools-heading h2 { font-size:2.15rem; } .tools-heading > p { margin-block-start:.8rem; font-size:1rem; }
 .tool-grid { display:block; } .tool-row { grid-template-columns:88px minmax(0,1fr); padding-block:1rem; gap:.45rem 1rem; } .tool-art { height:88px; }
 .layout-seamless-home .tool-heading h3 { font-size:1.85rem; } .tool-description { font-size:1rem; } .tool-action { width:100%; justify-content:space-between; font-size:1rem; }
 .footer-layout { display:block; } .layout-seamless-home .footer-story > h2 { font-size:1.95rem; } .footer-links { border:0; border-block-start:1px solid #839765; padding-inline:0; padding-block-start:.75rem; margin-block-start:1.25rem; } .footer-links nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.2rem 1rem; }
 html[dir='rtl'] .welcome-visual { mask-image:linear-gradient(to bottom,transparent,#000 9%); }
 html[dir='rtl'] .layout-seamless-home .welcome-copy h1 { font-size:clamp(2.5rem,9vw,4rem); } html[dir='rtl'] .layout-seamless-home .weekly-module__title { font-size:2rem; }
}
/* Choose navigation by available space, including wide phones and landscape. */
@media (max-width:959px) {
 .layout-seamless-home .site-header { display:flow-root; padding-block:.6rem; }
 .layout-seamless-home .brand { float:inline-start; margin:0; min-height:44px; }
 .layout-seamless-home .desktop-navigation { display:none; }
 .layout-seamless-home .mobile-navigation { display:block; }
 .mobile-navigation > summary { float:inline-end; width:fit-content; margin-block-end:.25rem; }
 .mobile-navigation::details-content { clear:both; }
 .mobile-navigation-panel { clear:both; padding-block:.7rem 1rem; }
 .layout-seamless-home .navigation-group-label { font-size:.75rem; font-weight:700; margin-block-end:.2rem; }
 .navigation-secondary { border-block-start:1px solid #b5c0ae; margin-block-start:.4rem; padding-block-start:.4rem; display:flex; flex-direction:column; align-items:stretch; }
 .navigation-secondary a { display:flex; align-items:center; min-height:44px; padding:.4rem .25rem; font-size:.95rem; text-decoration:none; }
 .navigation-secondary a:hover { text-decoration:underline; }
 .layout-seamless-home .language-tools { clear:both; width:fit-content; margin:0; padding-block-start:.15rem; flex-wrap:wrap; }
}
/* Landscape phones and narrow desktop panes retain a single compact row when it fits. */
@media (min-width:700px) and (max-width:959px) {
 .layout-seamless-home .site-header { position:relative; display:flex; flex-direction:row; flex-wrap:wrap; }
 .layout-seamless-home .brand { float:none; margin-inline-end:auto; }
 .mobile-navigation > summary { float:none; margin:0; }
 .mobile-navigation-panel { position:absolute; z-index:40; inset-block-start:100%; inset-inline-end:var(--page-gutter); width:min(32rem,calc(100% - 2*var(--page-gutter))); padding:.75rem 1rem; border:1px solid #b5c0ae; border-radius:8px; background:var(--background); box-shadow:0 6px 18px rgb(16 47 43 / 12%); }
 .layout-seamless-home .language-tools { clear:none; padding:0; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media (forced-colors:active) { .tool-row,.footer-links,.weekly-module__action,.tools-navigation-panel,.mobile-navigation-panel,.navigation-secondary,.navigation-tool-links li:last-child { border-color:CanvasText; } .tool-stage { border:1px solid CanvasText; } .approach-details > summary,.weekly-module__link { border:1px solid ButtonText; } }
