@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600;700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1a1a1a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;font-family:Century Gothic,Oswald,Noto Sans JP,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;margin:0;padding:0}button{cursor:pointer;font-family:Century Gothic,Oswald,Noto Sans JP,system-ui,inherit}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.day-cell{color:#000;justify-content:center;align-items:center;min-height:28px;font-size:11px;font-weight:500;display:flex}.day-cell--red{color:#e74c3c}.day-cell--blue{color:#3498db}.day-cell--black{color:#1a1a1a}.day-cell--gray{color:#b0b0b0}.day-cell--outside{opacity:.6}.day-cell__date{line-height:1}@media print{.day-cell{page-break-inside:avoid}}@media screen and (min-width:768px) and (max-width:1023px){.day-cell{min-height:28px;font-size:12px}}@media screen and (max-width:767px){.day-cell{min-height:20px;font-size:10px}}@media screen and (max-width:480px){.day-cell{min-height:16px;font-size:9px}}.month-calendar{box-sizing:border-box;background:#fff;border-right:1px solid #ddd;flex-direction:column;height:100%;padding:4mm 6mm 6mm;transition:background-color .2s;display:flex}.month-calendar:nth-child(2n){background:#f5f5f5}.month-calendar:last-child,.month-calendar:nth-child(3n){border-right:none}.month-calendar__header{text-align:center;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;height:40%;margin-bottom:10px;display:flex}.month-calendar__title{letter-spacing:.5px;color:#1a1a1a;margin:0;font-size:24px;font-weight:700}.month-calendar__subtitle{color:#666;letter-spacing:.3px;margin:4px 0 0;font-family:Noto Serif JP,Georgia,serif;font-size:11px;font-weight:400;line-height:1.2}.month-calendar__weekdays{flex-shrink:0;grid-template-columns:repeat(7,1fr);gap:0;height:9%;margin-bottom:0;display:grid}.month-calendar__weekday{text-align:center;color:#666;justify-content:center;align-items:center;min-height:16px;padding:0;font-size:9px;font-weight:600;line-height:1;display:flex}.month-calendar__grid{flex:1;grid-template-columns:repeat(7,1fr);gap:0;display:grid;overflow:hidden}@media print{.month-calendar{page-break-inside:avoid}}@media screen and (min-width:768px) and (max-width:1023px){.month-calendar{padding:4mm 3mm}.month-calendar__title{font-size:24px}.month-calendar__subtitle{font-size:7px}.month-calendar__weekday{min-height:16px;font-size:8px}}@media screen and (max-width:767px){.month-calendar{padding:4mm 3mm}.month-calendar__title{font-size:24px}.month-calendar__subtitle{margin:1px 0 0;font-size:7px}.month-calendar__weekday{min-height:16px;font-size:8px}}@media screen and (max-width:480px){.month-calendar{padding:4mm 3mm}.month-calendar__title{font-size:24px}.month-calendar__subtitle{margin:1px 0 0;font-size:7px}.month-calendar__weekday{min-height:16px;font-size:8px}}.calendar-wrapper{background:#fff;min-height:100vh;margin:0;padding:0}.calendar-header{background:#f8f8f8;border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;padding:16px 20px;font-family:Noto Sans JP,Segoe UI,Roboto,sans-serif;display:flex}.calendar-header__title-section{flex:1}.calendar-header__title{color:#1a1a1a;margin:0;font-size:24px;font-weight:700}.calendar-header__controls{align-items:center;gap:12px;width:100%;display:flex}.calendar-controls__button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;justify-content:center;align-items:center;min-width:40px;height:40px;padding:8px 12px;font-family:Noto Sans JP,Segoe UI,Roboto,sans-serif;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.calendar-controls__button--print{background:#e8f5e9;border-color:#81c784;min-width:88px;font-size:14px;font-weight:700}.calendar-controls__button--print:hover{background:#c8e6c9;border-color:#4caf50}.calendar-banner__content__icons ul{justify-content:center;gap:20px;padding:0;list-style:none;display:flex}.calendar-banner__content__icons ul li{color:#fff;flex-direction:column;align-items:center;font-size:16px;font-weight:600;display:flex}.calendar-banner__content__icons ul li img{width:124px;height:124px}.calendar-controls__button--print-spacer{margin-left:auto}.calendar-controls__button:hover{background:#f0f0f0;border-color:#999}.calendar-controls__button:active{background:#e0e0e0}.calendar-controls__button--week-toggle{background:#e3f2fd;border-color:#90caf9;font-size:14px;font-weight:700}.calendar-controls__button--week-toggle:hover{background:#bbdefb;border-color:#64b5f6}.calendar-controls__select{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;height:40px;padding:8px 12px;font-family:Noto Sans JP,Segoe UI,Roboto,sans-serif;font-size:14px;font-weight:600;transition:all .2s}.calendar-controls__select:hover{background:#f0f0f0;border-color:#999}.calendar-controls__select:focus{border-color:#64b5f6;outline:none;box-shadow:0 0 0 2px #64b5f633}.calendar-controls__display{color:#666;min-width:50px;font-size:14px;font-weight:500}.calendar-guide{background:#fafafa;border-bottom:1px solid #eee;gap:30px;padding:12px 20px;font-family:Noto Sans JP,Segoe UI,Roboto,sans-serif;font-size:13px;display:flex}.calendar-guide__item{align-items:baseline;gap:8px;display:flex}.calendar-guide__label{color:#333;word-break:keep-all;font-weight:600}.calendar-guide__description{color:#666}.calendar-banner{background:#f0f0f0;gap:0;width:100%;height:50dvh;min-height:450px;margin:0;padding:0;display:flex;position:relative;overflow:hidden}.calendar-annotations{color:#999;text-align:center;margin-top:40px;font-family:Noto Sans JP,Segoe UI,Roboto,sans-serif;font-size:12px}.calendar-banner__image{object-fit:cover;width:100%;height:50dvh;min-height:450px;transition:opacity .8s ease-in-out,transform 6s ease-in-out;display:block;position:absolute;top:0;left:0;transform:scale(1)}.calendar-banner__image[style*="opacity: 1"]{transform:scale(1.1)}.calendar-banner__content{text-align:center;color:#fff;z-index:10;text-shadow:0 2px 8px #0000004d;background:#0000004d;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:100dvw;height:100%;padding:40px 30px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.calendar-banner__title{letter-spacing:1px;margin:0 0 24px;font-size:28px;font-weight:700}.calendar-banner__subtitle{max-width:540px;margin:0 0 12px;font-size:16px;font-weight:500;line-height:1.6}.calendar-banner__description{opacity:.95;margin:0;font-size:14px;font-weight:400;line-height:1.6}.calendar-banner__content br{display:none}@media (max-width:768px){.calendar-banner{flex-direction:column;height:80dvh;min-height:auto;position:relative}.calendar-banner__image{width:100%;height:80dvh;min-height:200px;top:auto;left:auto}.calendar-banner__content br{display:block}.calendar-banner__title{font-size:28px}.calendar-banner__subtitle{font-size:14px}.calendar-banner__description{font-size:12px}.calendar-banner__content__icons ul li img{width:88px;height:88px}}.calendar-footer{color:#fff;text-align:center;background:#333;border-top:1px solid #222;padding:20px;font-family:Noto Sans JP,Segoe UI,Roboto,sans-serif;font-size:12px}.calendar-footer__content{max-width:1200px;margin:0 auto}.calendar-footer__copyright{color:#fff;margin:0 0 8px;font-weight:600}.calendar-footer__notice{color:#ccc;margin:0;font-size:11px}.carousel-viewport{background:#fff;width:100%;overflow:hidden}.calendar-containers-wrapper{--carousel-gap:20px;justify-content:flex-start;align-items:stretch;gap:var(--carousel-gap);box-sizing:border-box;background:#fff;flex-wrap:nowrap;width:100%;padding:20px;display:flex}.calendar-container{flex:0 0 calc(50% - var(--carousel-gap) / 2);max-width:calc(50% - var(--carousel-gap) / 2)}.calendar-carousel-controls{background:#fff;justify-content:center;align-items:center;gap:16px;padding:16px 20px;display:flex}.carousel-pagination{align-items:center;gap:8px;display:flex}.carousel-pagination__dot{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:50%;width:8px;height:8px;padding:0;transition:all .2s}.carousel-pagination__dot:hover{background:#f0f0f0;border-color:#999}.carousel-pagination__dot--active{background:#333;border-color:#333}.calendar-container{box-sizing:border-box;background:#fff;border:.5px solid #999;grid-template-columns:repeat(3,1fr);gap:0;display:grid}.calendar-container--hagaki{width:148mm;height:100mm}.calendar-container--l{width:127mm;height:89mm}.calendar-container--a5{width:210mm;height:148mm}.calendar-container--a6{width:148mm;height:105mm}.calendar-container:has(>.month-calendar:first-child:only-child){grid-template-columns:1fr}.calendar-container:has(>.month-calendar:nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}.calendar-container:has(>.month-calendar:nth-child(4)){grid-template-columns:repeat(3,1fr)}.calendar-container:has(>.month-calendar:nth-child(7)){grid-template-columns:repeat(4,1fr)}.calendar-container:has(>.month-calendar:nth-child(4)):not(:has(>.month-calendar:nth-child(7))) .month-calendar__title{font-size:13px}.calendar-container:has(>.month-calendar:nth-child(4)):not(:has(>.month-calendar:nth-child(7))) .month-calendar__subtitle{margin-top:1px;font-size:7px}.calendar-container:has(>.month-calendar:nth-child(4)):not(:has(>.month-calendar:nth-child(7))) .month-calendar__weekday{min-height:10px;font-size:6px}.calendar-container:has(>.month-calendar:nth-child(4)):not(:has(>.month-calendar:nth-child(7))) .day-cell{min-height:16px;font-size:6px}.calendar-container:has(>.month-calendar:nth-child(7)) .month-calendar{padding:1mm 1.5mm 1.5mm}.calendar-container:has(>.month-calendar:nth-child(7)) .month-calendar__title{font-size:10px}.calendar-container:has(>.month-calendar:nth-child(7)) .month-calendar__subtitle{margin-top:.5px;font-size:5px}.calendar-container:has(>.month-calendar:nth-child(7)) .month-calendar__weekday{min-height:8px;font-size:4px}.calendar-container:has(>.month-calendar:nth-child(7)) .day-cell{min-height:12px;font-size:4px}.calendar-container:has(>.month-calendar:nth-child(7)) .month-calendar:nth-child(4n){border-right:none!important}:is(.calendar-container:has(>.month-calendar:nth-child(7)) .month-calendar:nth-child(4n-1),.calendar-container:has(>.month-calendar:nth-child(7)) .month-calendar:nth-child(4n-2),.calendar-container:has(>.month-calendar:nth-child(7)) .month-calendar:nth-child(4n-3)){border-right:1px solid #ddd}.calendar-container--loading{justify-content:center;align-items:center;min-height:100vh;display:flex}.calendar-container__loading-text{color:#666;font-family:Century Gothic,Oswald,Noto Sans JP,Segoe UI,Roboto,sans-serif;font-size:16px}@media print{*{margin:0;padding:0}body,.calendar-wrapper{background:#fff;margin:0;padding:0}.calendar-header,.calendar-guide,.calendar-banner,.calendar-reasons,.calendar-products,.calendar-carousel-controls,.calendar-footer,.calendar-controls{display:none!important}@page{size:A4 landscape;margin:1mm}.calendar-containers-wrapper{box-sizing:border-box;page-break-inside:avoid;grid-template-rows:repeat(6,1fr)!important;grid-template-columns:repeat(2,1fr)!important;grid-auto-flow:initial!important;gap:0!important;width:293mm!important;height:auto!important;margin:0!important;padding:0!important;display:grid!important;overflow:visible!important;transform:none!important}.calendar-containers-wrapper--a5{page-break-after:always;grid-template-rows:repeat(2,1fr);grid-template-columns:1fr;width:auto;height:auto}.calendar-containers-wrapper--a5 .calendar-container:nth-child(2n){page-break-after:always}.calendar-containers-wrapper--a6{page-break-after:always;grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr);width:auto;height:auto}.calendar-containers-wrapper--a6 .calendar-container:nth-child(4n){page-break-after:always}.calendar-container{page-break-inside:avoid;background:#fff;border:.5px solid #ccc;grid-template-columns:repeat(3,1fr);gap:0;margin:-.5px 0 0 -.5px;padding:0;display:grid;flex:none!important;max-width:none!important}.calendar-container--hagaki{width:148mm;height:100mm}.calendar-container--l{width:127mm;height:89mm}.calendar-container--a5{width:210mm;height:148mm}.calendar-container--a6{width:148mm;height:105mm}.day-cell{min-height:16px;font-size:10px}.day-cell__date{font-size:10px}.calendar-container:has(>.month-calendar:nth-child(4)):not(:has(>.month-calendar:nth-child(7))) .day-cell{font-size:5px}.calendar-container:has(>.month-calendar:nth-child(4)):not(:has(>.month-calendar:nth-child(7))) .day-cell__date{font-size:6px}.calendar-container:has(>.month-calendar:nth-child(7)) .day-cell{font-size:4px}.calendar-container:has(>.month-calendar:nth-child(7)) .day-cell__date{font-size:5px}}@media screen{body{background:#efefef;margin:0;padding:0;font-family:Century Gothic,Oswald,Noto Sans JP,Segoe UI,Roboto,sans-serif}}@media screen and (min-width:1024px){.calendar-containers-wrapper{--carousel-gap:20px;gap:var(--carousel-gap);background:#fff;padding:20px}.calendar-container--hagaki{border:.5px solid #ccc;width:148mm;height:100mm}.calendar-container--l{border:.5px solid #ccc;width:127mm;height:89mm}.calendar-container--a5{border:.5px solid #ccc;width:210mm;height:148mm}.calendar-container--a6{border:.5px solid #ccc;width:148mm;height:105mm}.calendar-header{padding:16px 20px}.calendar-header__title{font-size:24px}.calendar-guide{gap:30px;padding:12px 20px;font-size:12px}.calendar-controls__button{padding:8px 12px;font-size:16px}.calendar-controls__display{font-size:14px}}@media screen and (min-width:768px) and (max-width:1023px){.calendar-containers-wrapper{--carousel-gap:15px;gap:var(--carousel-gap);background:#fff;padding:15px}.calendar-container{border:1px solid #ccc;width:100%;height:auto;margin:0 auto}.calendar-container--hagaki{aspect-ratio:148/100}.calendar-container--l{aspect-ratio:127/89}.calendar-container--a5{aspect-ratio:210/148}.calendar-container--a6{aspect-ratio:148/105}.calendar-header{flex-direction:column;align-items:flex-start;gap:12px;padding:12px 16px}.calendar-header__title{font-size:20px}.calendar-header__controls{justify-content:flex-start;gap:8px;width:100%}.calendar-guide{flex-direction:column;gap:8px;padding:10px 16px;font-size:12px}.calendar-guide__item{gap:6px}.calendar-controls__button{padding:6px 10px;font-size:14px}.calendar-controls__display{min-width:auto;font-size:12px}}@media screen and (max-width:767px){.calendar-containers-wrapper{--carousel-gap:12px;gap:var(--carousel-gap);background:#fff;padding:12px}.calendar-container{border:1px solid #ccc;width:100%;height:auto}.calendar-container--hagaki{aspect-ratio:148/100}.calendar-container--l{aspect-ratio:127/89}.calendar-container--a5{aspect-ratio:210/148}.calendar-container--a6{aspect-ratio:148/105}.calendar-header{flex-direction:column;align-items:flex-start;gap:10px;padding:10px 12px}.calendar-header__title{font-size:18px}.calendar-header__controls{flex-wrap:wrap;justify-content:flex-start;gap:6px;width:100%}.calendar-guide{flex-direction:column;gap:6px;padding:8px 12px;font-size:11px}.calendar-guide__item{gap:4px}.calendar-controls__button{padding:5px 8px;font-size:12px}.calendar-controls__display{min-width:auto;font-size:11px}.calendar-controls__button--print-spacer{margin-left:0}}@media screen and (max-width:480px){.calendar-header{gap:8px;padding:8px 10px}.calendar-header__title{font-size:16px}.calendar-guide{gap:4px;padding:6px 10px;font-size:10px}.calendar-guide__item{gap:3px}.calendar-controls__button{padding:4px 6px;font-size:11px}}.calendar-reasons{background:#fff;margin:0;padding:60px 20px;font-family:Noto Sans JP,Segoe UI,Roboto,sans-serif}.calendar-reasons__title{text-align:center;color:#1a1a1a;letter-spacing:.5px;margin:0 0 40px;font-size:32px;font-weight:700}.calendar-reasons__columns{grid-template-columns:1fr 1fr;gap:40px;max-width:1000px;margin:0 auto;display:grid}.calendar-reasons__column{background:#f8f8f8;border-radius:8px;padding:30px;box-shadow:0 2px 8px #0000000d}.calendar-reasons__column-title{color:#1a1a1a;border-bottom:3px solid #64b5f6;margin:0 0 16px;padding-bottom:12px;font-size:24px;font-weight:700}.calendar-reasons__column-description{color:#333;margin:0;font-size:16px;line-height:1.8}.calendar-products{background:#fafafa;margin:0;padding:60px 20px;font-family:Noto Sans JP,Segoe UI,Roboto,sans-serif}.calendar-products__title{text-align:center;color:#1a1a1a;letter-spacing:.5px;margin:0 0 40px;font-size:28px;font-weight:700}.calendar-products__disclosure{color:#555;text-align:center;max-width:720px;margin:-22px auto 32px;font-size:13px;line-height:1.7}.calendar-products__size-guide{color:#444;background:#fff;border:1px solid #ddd;border-radius:8px;max-width:720px;margin:0 auto 32px;padding:20px 24px;font-size:14px;line-height:1.7}.calendar-products__size-guide-title{color:#1a1a1a;margin:0 0 8px;font-size:17px}.calendar-products__size-guide p{margin:0}.calendar-products__size-guide p+p{margin-top:8px}.calendar-products__grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px;max-width:1200px;margin:0 auto;display:grid}.calendar-products__item{background:#fff;border-radius:8px;transition:all .3s;overflow:hidden;box-shadow:0 2px 8px #00000014}.calendar-products__item:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.calendar-products__link{height:100%;color:inherit;flex-direction:column;text-decoration:none;display:flex}.calendar-products__image-wrapper{background:#f5f5f5;width:100%;padding-bottom:100%;position:relative;overflow:hidden}.calendar-products__image{object-fit:cover;width:100%;height:100%;transition:transform .3s;position:absolute;top:0;left:0}.calendar-products__item:hover .calendar-products__image{transform:scale(1.05)}.calendar-products__info{flex-direction:column;flex:1;justify-content:space-between;padding:20px;display:flex}.calendar-products__name{color:#1a1a1a;flex:1;margin:0 0 12px;font-size:16px;font-weight:400;line-height:1.5}.calendar-products__price{color:initial;text-align:right;border-top:1px solid #eee;margin:0;padding-top:12px;font-family:Century Gothic,Din Alternate,Arial,sans-serif;font-size:14px;font-weight:400}@media (max-width:768px){.calendar-products{padding:40px 32px}.calendar-products__title{margin:0 0 30px;font-size:22px}.calendar-products__disclosure{margin:-14px auto 24px;font-size:12px}.calendar-products__size-guide{margin-bottom:24px;padding:16px;font-size:13px}.calendar-products__size-guide-title{font-size:16px}.calendar-products__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.calendar-products__info{padding:16px}.calendar-products__name{margin:0 0 10px;font-size:14px}.calendar-products__price{font-size:16px}}@media screen and (max-width:480px){.calendar-products{padding:30px 24px}.calendar-products__title{margin:0 0 24px;font-size:20px}.calendar-products__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.calendar-products__info{padding:14px}.calendar-products__name{margin:0 0 8px;font-size:13px}.calendar-products__price{font-size:15px}}@media (max-width:768px){.calendar-reasons{padding:40px 16px}.calendar-reasons__title{margin:0 0 30px;font-size:24px}.calendar-reasons__columns{grid-template-columns:1fr;gap:20px}.calendar-reasons__column{padding:20px}.calendar-reasons__column-title{margin:0 0 12px;padding-bottom:8px;font-size:20px}.calendar-reasons__column-description{font-size:14px}.carousel-viewport{width:auto!important;display:block!important;overflow:visible!important}}@media screen{html{scroll-behavior:smooth;scroll-padding-top:84px}body{background:#eeede6}.calendar-wrapper{--ink:#252820;--paper:#eeede6;--accent:#d9f06d;color:var(--ink);background:var(--paper);padding:0 3vw;overflow:clip}.calendar-wrapper a{color:inherit;text-decoration:none}.calendar-wrapper :is(button,select,a):focus-visible{outline-offset:5px;outline:3px solid #6c7c26}.reading-progress{width:100%;height:4px;transform:scaleX(var(--progress,0));transform-origin:0;z-index:100;background:#778c2e;position:fixed;top:0;left:0}.skip-link{background:var(--accent);z-index:110;padding:16px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}.editorial-nav{border-bottom:1px solid var(--ink);grid-template-columns:1fr 1fr auto auto;align-items:center;gap:20px;min-height:88px;display:grid}.wordmark{letter-spacing:-2px;font:800 36px/1 Arial,sans-serif}.wordmark span{vertical-align:top;margin-left:3px;font-size:14px}.nav-caption,.eyebrow,.hero-index,.hero-photo figcaption{letter-spacing:.08em;font:11px/1.6 monospace}.language-switch{border-left:1px solid var(--ink);align-items:center;gap:2px;padding-left:18px;display:flex}.language-switch button{color:var(--ink);letter-spacing:.08em;background:0 0;border:0;padding:8px 9px;font:10px/1 monospace}.language-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.language-switch button:hover{background:var(--accent);color:var(--ink)}.editorial-nav__cta{border-left:1px solid var(--ink);padding:14px 0 14px 28px;font-size:12px}.editorial-nav__cta span{margin-left:36px;font-size:22px}.calendar-banner{background:0 0;grid-template-columns:1fr 1fr;height:auto;min-height:0;display:grid;overflow:hidden}.calendar-banner__content{width:auto;height:auto;color:var(--ink);text-shadow:none;text-align:left;background:0 0;border-radius:0;place-content:space-between stretch;align-items:start;padding:38px 40px 36px 0;display:grid;position:static;transform:none}.eyebrow{margin:0 0 26px;font-weight:400;display:block}.calendar-banner__title{letter-spacing:-.075em;margin:16px 0 48px;font-size:clamp(48px,6.1vw,100px);font-weight:600;line-height:1.25}.calendar-banner__content br{display:block}.calendar-banner__title span{color:#7a805d}.hero-bottom{grid-template-columns:1fr auto;align-items:end;gap:16px;display:grid}.calendar-banner__subtitle{margin:0;font-size:13px;font-weight:400;line-height:2}.hero-arrow{background:var(--accent);border:1px solid var(--ink);place-items:center;width:76px;height:76px;font-size:48px;transition:background .2s,transform .2s;display:grid}.hero-arrow:hover{background:#c4df4a;transform:translate(3px,3px)}.hero-photo{border-left:1px solid var(--ink);min-height:620px;margin:0;position:relative;overflow:hidden}.hero-photo img{object-fit:cover;width:100%;height:125%;transform:translateY(var(--drift,0px));position:absolute;top:-18%}.hero-photo figcaption{background:var(--paper);border-top:1px solid var(--ink);grid-template-columns:1fr auto;padding:20px;display:grid;position:absolute;bottom:0;left:0;right:0}.hero-index{border-block:1px solid var(--ink);grid-column:1/-1;grid-template-columns:1fr auto;padding:16px 0;display:grid}.process-grid{border-bottom:1px solid var(--ink);grid-template-columns:repeat(3,1fr);display:grid}.process-cell{border-right:1px solid var(--ink);padding:38px 28px}.process-cell:first-child{padding-left:0}.process-cell:last-child{border-right:0}.process-cell h2{letter-spacing:-.045em;grid-template-columns:1fr auto;margin:42px 0 20px;font:500 clamp(25px,3.7vw,58px)/1.1 Arial,sans-serif;display:grid}.process-cell h2 span{font-size:.6em}.process-cell p{margin:0;font-size:12px}.process-cell:nth-child(2){transition-delay:90ms}.process-cell:nth-child(3){transition-delay:.18s}.calendar-studio{padding-top:90px}.section-heading{grid-template-columns:1fr 2fr 1fr;align-items:end;gap:20px;padding-bottom:38px;display:grid}.section-heading .eyebrow{align-self:start;margin-top:10px}.section-heading h2{letter-spacing:-.05em;margin:0;font-size:clamp(28px,3.6vw,56px);font-weight:500;line-height:1.5}.section-heading>p:last-child{margin:0;font-size:12px;line-height:2}.calendar-header{z-index:20;background:var(--paper);border-block:1px solid var(--ink);padding:16px 0;position:sticky;top:0}.calendar-header__controls{grid-template-columns:1.2fr 1.2fr 1.2fr 48px 100px 48px 1.6fr;gap:10px;display:grid}.calendar-controls__button,.calendar-controls__select{border:1px solid var(--ink);width:100%;min-width:0;height:48px;color:var(--ink);box-shadow:none;background:0 0;border-radius:0;font-size:12px}.calendar-controls__button--print{background:var(--ink);color:var(--paper);margin:0}.calendar-controls__button--print:hover{color:#fff;border-color:var(--ink);background:#444b31}.calendar-controls__button--week-toggle{background:0 0}.calendar-controls__button:hover,.calendar-controls__select:hover{background:var(--accent);border-color:var(--ink)}.calendar-controls__display{color:var(--ink);place-items:center;font:16px monospace;display:grid}.calendar-guide{border-bottom:1px solid var(--ink);background:0 0;grid-template-columns:repeat(5,1fr);gap:16px;padding:18px 0;font-size:10px;display:grid}.calendar-guide__item{gap:4px;display:grid}.carousel-viewport{border-bottom:1px solid var(--ink);background:#deded4;width:100%!important;overflow:hidden!important}.calendar-containers-wrapper{grid-auto-flow:column;grid-auto-columns:calc((100% - var(--carousel-gap)) / 2);background:0 0;padding:32px 20px;display:grid}.calendar-container{width:100%;max-width:none;margin:0;box-shadow:0 8px 20px #25282012}.calendar-carousel-controls{border-bottom:1px solid var(--ink);background:0 0;grid-template-columns:48px auto 48px;justify-content:space-between;padding:18px 0;display:grid}.carousel-pagination{gap:8px}.carousel-pagination__dot{background:0 0;border:1px solid #909181;border-radius:0;width:28px;height:28px}.carousel-pagination__dot--active{background:var(--ink);border-color:var(--ink)}.calendar-reasons{border-block:1px solid var(--ink);background:0 0;grid-template-columns:1fr 1fr;margin:100px 0;padding:0;display:grid}.calendar-reasons__overview{background:var(--accent);border-bottom:1px solid var(--ink);grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.calendar-reasons__title{text-align:left;border-right:1px solid var(--ink);margin:0;padding:44px 30px 60px;font-size:clamp(32px,4.7vw,70px);font-weight:500;line-height:1.5}.calendar-reasons__lede{align-self:end;max-width:430px;margin:0;padding:44px 38px 60px;font-size:13px;line-height:2}.design-story{grid-column:1/-1;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);display:grid}.design-story__copy{border-right:1px solid var(--ink);flex-direction:column;min-height:650px;padding:48px 38px;display:flex}.design-story__copy h3{letter-spacing:-.06em;margin:auto 0 44px;font-size:clamp(38px,5vw,74px);font-weight:500;line-height:1.35}.design-story__copy>p{max-width:380px;margin:0;font-size:13px;line-height:2}.cost-story{border-top:1px solid var(--ink);grid-column:1/-1;padding:54px 38px 38px}.cost-story__header{grid-template-columns:1fr 1.5fr 1fr;align-items:start;gap:30px;display:grid}.cost-story__header h3{letter-spacing:-.05em;margin:0;font-size:clamp(30px,4vw,58px);font-weight:500;line-height:1.35}.cost-story__header>p{margin:4px 0 0;font-size:12px;line-height:2}.cost-story__totals{border:1px solid var(--ink);grid-template-columns:repeat(3,1fr);margin-top:50px;display:grid}.cost-story__totals>div{border-right:1px solid var(--ink);gap:16px;min-width:0;padding:24px;display:grid}.cost-story__totals>div:last-child{border-right:0}.cost-story__totals span{letter-spacing:.05em;font:11px/1.5 monospace}.cost-story__totals strong{letter-spacing:-.07em;font:500 clamp(28px,4vw,56px)/1 monospace}.cost-story__total--accent{background:var(--accent)}.cost-story__charts{border-inline:1px solid var(--ink);grid-template-columns:1fr 1fr;display:grid}.cost-chart{min-width:0;margin:0;padding:28px 24px 22px;overflow:hidden}.cost-chart+.cost-chart{border-left:1px solid var(--ink)}.cost-chart figcaption{grid-template-columns:34px 1fr;align-items:baseline;font-size:13px;display:grid}.cost-chart figcaption span{font:11px monospace}.cost-chart__svg{width:100%;margin-top:18px;display:block;overflow:visible}.cost-chart__svg line{stroke:#a7a89f;stroke-width:1px;vector-effect:non-scaling-stroke}.cost-chart__svg text{fill:#77786f;font:17px monospace}.cost-chart__svg .cost-chart__age{fill:var(--ink);font-size:18px}.cost-chart__line{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1px}.cost-story.is-visible .cost-chart__line{animation:1.8s cubic-bezier(.25,.7,.25,1) forwards draw-cost-line}.cost-chart__line--purchase{stroke:var(--ink)}.cost-chart__line--print{stroke:#8aa019}.cost-chart__line--assets{stroke:#65760d}.cost-chart__line--contributions{stroke:#77786f;stroke-width:2px;stroke-dasharray:.025 .018}.cost-story.is-visible .cost-chart__line--print,.cost-story.is-visible .cost-chart__line--contributions{animation-delay:.28s}.cost-chart__area{fill:var(--accent);opacity:0}.cost-story.is-visible .cost-chart__area{animation:1s 1.1s forwards reveal-cost-area}.cost-chart__legend{flex-wrap:wrap;gap:18px;font:10px/1.5 monospace;display:flex}.cost-chart__legend span:before{content:"";background:var(--ink);width:20px;height:3px;margin:0 8px 3px 0;display:inline-block}.cost-chart__legend .legend-print:before{background:#8aa019}.cost-chart__legend .legend-assets:before{background:#65760d}.cost-chart__legend .legend-contributions:before{background:#77786f;height:1px}.cost-story__note{border:1px solid var(--ink);color:#666;margin:0;padding:18px 24px;font-size:10px;line-height:1.8}.philosophy-photo{height:650px;min-height:460px;margin:0;position:relative;overflow:hidden}.philosophy-photo img{object-fit:cover;width:100%;height:128%;transform:translateY(var(--photo-drift,0));will-change:transform;position:absolute;top:-14%;left:0}.philosophy-photo figcaption{background:var(--paper);border-top:1px solid var(--ink);letter-spacing:.08em;grid-template-columns:1fr auto;padding:16px 20px;font:10px/1.6 monospace;display:grid;position:absolute;inset:auto 0 0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes draw-cost-line{to{stroke-dashoffset:0}}@keyframes reveal-cost-area{to{opacity:.5}}.calendar-products{background:0 0;grid-template-columns:1fr 1fr;gap:0;padding:0;display:grid}.calendar-products__title{text-align:left;letter-spacing:-.05em;margin:0;padding:0 28px 40px 0;font-size:clamp(38px,5vw,72px);font-weight:500;line-height:1.4}.calendar-products__disclosure{text-align:left;align-self:end;max-width:none;margin:0;padding:20px 0 40px 40px;font-size:12px}.calendar-products__size-guide{border:1px solid var(--ink);background:0 0;border-radius:0;grid-column:1/-1;grid-template-columns:1fr 1.5fr 1.5fr;gap:28px;max-width:none;margin:0;padding:24px;font-size:12px;display:grid}.calendar-products__size-guide-title{margin:0;font-size:14px}.calendar-products__size-guide p+p{margin:0}.calendar-products__grid{border-left:1px solid var(--ink);grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%;max-width:none;margin:0;display:grid}.calendar-products__item{border:0;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);box-shadow:none;background:0 0;border-radius:0;padding:20px;transition:background .3s}.calendar-products__item:hover{box-shadow:none;background:#e0e3d0;transform:none}.calendar-products__item:first-child,.calendar-products__item:nth-child(8){grid-column:span 2}.calendar-products__link{grid-template-rows:1fr auto;height:100%;display:grid}.calendar-products__image-wrapper{aspect-ratio:auto;background:#fff;height:230px;padding:20px;overflow:hidden}.calendar-products__image{object-fit:contain;width:100%;height:100%;transition:transform .5s}.calendar-products__item:hover .calendar-products__image{transform:scale(1.055)}.calendar-products__info{padding:20px 0 0}.calendar-products__name{font-size:12px;font-weight:500;line-height:1.8}.calendar-products__price{margin:12px 0 0;font:18px monospace}.calendar-annotations{text-align:left;color:#666;grid-column:1/-1;margin:20px 0 80px}.calendar-footer{border-top:1px solid var(--ink);color:var(--ink);background:0 0;padding:35px 0}.calendar-footer__content{text-align:left;grid-template-columns:1fr auto;align-items:center;max-width:none;display:grid}.calendar-footer__copyright,.calendar-footer__notice{color:var(--ink);margin:0}[data-reveal]{opacity:0;transition:opacity .8s,transform .8s cubic-bezier(.2,.65,.2,1);transform:translateY(32px)}[data-reveal].is-visible{opacity:1;transform:none}@media (max-width:900px){.nav-caption{display:none}.editorial-nav{grid-template-columns:1fr auto auto}.hero-photo{min-height:520px}.calendar-banner__content{padding-right:24px}.hero-arrow{width:52px;height:52px;font-size:34px}.section-heading{grid-template-columns:1fr 2fr}.section-heading>p:last-child{grid-column:2}.calendar-header__controls{grid-template-columns:repeat(3,1fr)}.calendar-controls__button--print{grid-column:1/-1}.calendar-guide{grid-template-columns:repeat(3,1fr)}.design-story{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr)}.design-story__copy{min-height:540px;padding:36px 28px}.cost-story__header{grid-template-columns:1fr 2fr}.cost-story__header>p{grid-column:2}.cost-story__charts{grid-template-columns:1fr}.cost-chart+.cost-chart{border-left:0;border-top:1px solid var(--ink)}.calendar-products__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-products__size-guide{grid-template-columns:1fr 1fr}.calendar-products__size-guide-title{grid-column:1/-1}}@media (max-width:600px){.calendar-wrapper{padding:0 18px}.editorial-nav{min-height:72px}.wordmark{font-size:30px}.editorial-nav{gap:8px}.language-switch{padding-left:8px}.language-switch button{padding:7px 6px}.editorial-nav__cta{padding-left:10px;font-size:10px}.editorial-nav__cta span{display:none}.calendar-banner{grid-template-columns:1fr}.calendar-banner__content{padding:26px 0 32px}.calendar-banner__title{margin:8px 0 32px;font-size:64px}.hero-photo{border-left:0;border-top:1px solid var(--ink);min-height:370px}.hero-index{font-size:9px}.process-cell{padding:22px 10px}.process-cell .eyebrow{letter-spacing:0;font-size:8px}.process-cell h2{margin:30px 0 14px;font-size:23px}.process-cell h2 span{display:none}.process-cell p{font-size:10px;line-height:1.8}.calendar-studio{padding-top:58px}.section-heading{grid-template-columns:1fr;gap:16px}.section-heading .eyebrow{margin:0}.section-heading>p:last-child{grid-column:auto}.calendar-header{position:relative}.calendar-containers-wrapper{grid-auto-columns:100%;padding:24px 12px}.carousel-pagination{grid-template-columns:repeat(6,24px);gap:5px;display:grid}.carousel-pagination__dot{width:24px;height:24px}.calendar-guide{grid-template-columns:1fr 1fr}.calendar-reasons{grid-template-columns:1fr;margin:60px 0}.calendar-reasons__overview{grid-template-columns:1fr}.calendar-reasons__title{border-right:0;border-bottom:1px solid var(--ink);padding:30px 24px}.calendar-reasons__lede{padding:24px}.design-story{grid-template-columns:1fr}.design-story__copy{border-right:0;border-bottom:1px solid var(--ink);min-height:500px;padding:34px 24px}.design-story__copy h3{margin:auto 0 30px;font-size:50px}.cost-story{padding:38px 0 0}.cost-story__header{grid-template-columns:1fr;gap:10px;padding:0 12px 28px}.cost-story__header .eyebrow{margin-bottom:18px}.cost-story__header>p{grid-column:auto}.cost-story__totals{border-inline:0;grid-template-columns:1fr;margin-top:0}.cost-story__totals>div{border-right:0;border-bottom:1px solid var(--ink);padding:18px 12px}.cost-story__totals>div:last-child{border-bottom:0}.cost-story__totals strong{font-size:40px}.cost-story__charts{border-inline:0}.cost-chart{padding:24px 8px 20px}.cost-chart__svg{margin-top:10px}.cost-story__note{border-inline:0;padding:16px 12px}.philosophy-photo{height:76vh;min-height:520px}.philosophy-photo figcaption{padding:14px 12px;font-size:9px}.calendar-products{grid-template-columns:1fr}.calendar-products__disclosure{padding:0 0 26px}.calendar-products__size-guide{grid-template-columns:1fr;gap:16px;padding:18px}.calendar-products__item{padding:12px}.calendar-products__image-wrapper{height:175px;padding:12px}.calendar-footer__content{grid-template-columns:1fr;gap:12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.calendar-wrapper *,.calendar-wrapper :before{transition:none!important;animation:none!important}[data-reveal]{opacity:1;transform:none}.hero-photo img,.philosophy-photo img{transform:none}.cost-chart__line{stroke-dashoffset:0}.cost-chart__area{opacity:.5}}}@media print{.editorial-nav,.reading-progress,.skip-link,.process-grid,.section-heading,.cost-story,.design-story{display:none!important}.calendar-studio{margin:0;padding:0;display:block}}.knowledge-link{text-align:center;background:#f7f7f0;padding:24px}.knowledge-link a{color:#252c27;text-underline-offset:5px}@media print{.knowledge-link{display:none}}#root{margin:0;padding:0}
