.cal{padding:clamp(70px,8vw,130px) var(--section-x) clamp(60px,7vw,100px)}.cal-inner{max-width:var(--content);margin:0 auto}.cal-head{margin-bottom:clamp(24px,2.6vw,36px)}.cal-sub{color:var(--ink-62);max-width:52ch}.cal-bar{position:relative;z-index:2;justify-content:space-between;gap:14px 20px;flex-wrap:wrap;margin-bottom:14px}.cal-bar,.cal-month{display:flex;align-items:center}.cal-month{gap:10px}.cal-month-label{min-width:200px;padding:6px 4px;border:0;background:none;text-align:center;font-size:clamp(18px,1.6vw,22px);letter-spacing:-.02em;color:var(--ink)}.cal-round{flex:none;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.9);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.5);backdrop-filter:blur(var(--glass-blur)) saturate(1.5);box-shadow:inset 0 1px 0 #fff,0 10px 24px -18px rgba(24,26,22,.4);color:var(--ink-70);transition:background .4s ease,color .4s ease,transform .42s var(--ease)}.cal-round:hover{background:#fff;color:var(--ink)}.cal-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cal-tool{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 18px;border-radius:999px;background:rgba(255,255,255,.44);border:1px solid rgba(25,26,24,.09);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.4);backdrop-filter:blur(var(--glass-blur)) saturate(1.4);font-size:13.5px;letter-spacing:-.01em;color:var(--ink-70);transition:background .4s ease,border-color .4s ease,color .4s ease,transform .42s var(--ease)}.cal-tool:hover{background:rgba(255,255,255,.72);color:var(--ink)}.cal-tool[data-on="1"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.cal-week{position:relative;display:flex;align-items:center;gap:8px;padding:12px;margin-bottom:clamp(28px,3vw,40px);border-radius:28px;background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.9);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.5);backdrop-filter:blur(var(--glass-blur)) saturate(1.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),var(--shadow-card);touch-action:pan-y}.cal-days-strip{flex:1 1;display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.cal-day{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 0 8px;border:0;border-radius:20px;background:transparent;transition:background .4s ease,box-shadow .4s ease,transform .42s var(--ease)}.cal-day:hover{background:rgba(25,26,24,.04)}.cal-day[aria-pressed=true]{background:#fff;box-shadow:0 2px 10px -4px rgba(24,26,22,.3),inset 0 1px 0 #fff}.cal-day-wd{font-family:var(--font-label);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-44)}.cal-day-num{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.cal-day[data-today="1"] .cal-day-num{background:var(--ink);color:var(--paper);box-shadow:0 12px 26px -16px rgba(24,26,22,.7)}.cal-day[data-past="1"] .cal-day-num,.cal-day[data-past="1"] .cal-day-wd{color:rgba(25,26,24,.34)}.cal-day-dot{width:5px;height:5px;border-radius:50%;background:transparent}.cal-day-dot[data-on="1"]{background:#7a9664}.cal-day[data-past="1"] .cal-day-dot[data-on="1"]{background:rgba(25,26,24,.25)}.cal-list{display:flex;flex-direction:column;gap:clamp(22px,2.4vw,30px)}.cal-dayblock{scroll-margin-top:110px}.cal-dayhead{display:flex;align-items:baseline;gap:12px;margin:0 6px 12px}.cal-dayname{margin:0;font-size:clamp(20px,1.7vw,24px);letter-spacing:-.03em;font-weight:400}.cal-daydate{font-size:13.5px;color:var(--ink-52)}.cal-daycard{position:relative;padding:6px 8px;border-radius:26px;background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.9);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.5);backdrop-filter:blur(var(--glass-blur)) saturate(1.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),var(--shadow-card)}.cal-row{position:relative;display:flex;align-items:center;gap:4px}.cal-row+.cal-row{border-top:1px solid var(--hair-08)}.cal-row[data-bar="0"]{--bar:#7a9664}.cal-row[data-bar="1"]{--bar:#c9a27e}.cal-row[data-bar="2"]{--bar:#c48f94}.cal-row-main{flex:1 1;min-width:0;display:flex;align-items:center;gap:16px;padding:14px 10px;border:0;border-radius:18px;background:transparent;text-align:left;transition:background .35s ease}.cal-row-main:hover{background:rgba(255,255,255,.72)}.cal-row-bar{flex:none;width:3px;align-self:stretch;min-height:36px;border-radius:3px;background:var(--bar);opacity:.85}.cal-row-time{flex:none;width:64px;font-size:14px;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.cal-row-body{min-width:0;display:flex;flex-direction:column;gap:6px}.cal-row-title{font-size:clamp(16px,1.3vw,18px);line-height:1.25;letter-spacing:-.02em;color:var(--ink)}.cal-row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.cal-row-meta:empty{display:none}.cal-tag{padding:3px 10px;border-radius:999px;background:rgba(122,150,100,.14);font-size:11.5px;color:#4e643e}.cal-row-note{font-size:12.5px;color:var(--ink-52)}.cal-heart{flex:none;width:42px;height:42px;margin-right:4px;border-radius:50%;border:0;background:transparent;display:flex;align-items:center;justify-content:center;color:rgba(25,26,24,.36);transition:color .35s ease,background .35s ease,transform .42s var(--ease)}.cal-heart:hover{background:rgba(25,26,24,.05);color:var(--ink)}.cal-heart[aria-pressed=true]{color:#4e643e}.cal-more{width:100%;padding:13px;border:0;border-top:1px solid var(--hair-08);background:transparent;font-size:13.5px;color:var(--ink-62);transition:color .35s ease}.cal-more:hover{color:var(--ink)}.cal-moredays{align-self:center}.cal-ghost{height:150px;animation:cal-breathe 1.8s var(--ease) infinite alternate}.cal-ghost--short{height:96px;margin-top:14px}@keyframes cal-breathe{0%{opacity:.5}to{opacity:.9}}.cal-empty{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:36px;flex-wrap:wrap;border-radius:32px;padding:clamp(40px,5vw,84px) clamp(24px,3vw,56px);background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.9);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.5);backdrop-filter:blur(var(--glass-blur)) saturate(1.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 26px 60px -40px rgba(24,26,22,.3)}.cal-empty-title{margin:0;font-size:clamp(22px,2.2vw,32px);letter-spacing:-.035em;font-weight:400}.cal-empty-text{margin:12px 0 0;max-width:44ch;font-size:15.5px;line-height:1.5;color:rgba(25,26,24,.6)}.cal-empty-note{margin:22px 0 0;max-width:44ch;font-size:14px;line-height:1.5;color:var(--ink-44)}.cal-empty-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cal-empty-actions .arrow-link{padding:14px 4px}@media (max-width:760px){.cal-bar{flex-direction:column;align-items:stretch}.cal-month{justify-content:space-between}.cal-month-label{min-width:0}.cal-tools .seg{flex:1 1 100%}.cal-tools .seg-btn{flex:1 1}.cal-tool{flex:1 1;justify-content:center}.cal-week{padding:8px 6px}.cal-week-arrow{display:none}.cal-days-strip{gap:2px}.cal-day-num{width:34px;height:34px;font-size:15px}.cal-day-wd{letter-spacing:.08em}.cal-row-main{gap:10px;padding:12px 6px}.cal-row-time{width:46px;font-size:13px}}.dir{padding:clamp(86px,10vw,160px) var(--section-x) clamp(40px,5vw,70px)}.dir-inner{max-width:var(--content);margin:0 auto}.dir-title{margin:0 0 clamp(36px,4vw,60px);max-width:20ch;font-size:clamp(30px,4vw,60px);line-height:1.02;letter-spacing:-.04em;font-weight:400}.dir-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:var(--grid-gap);gap:var(--grid-gap)}.dir-card{position:relative;border-radius:28px;overflow:hidden;cursor:pointer;transition:var(--reveal-t,opacity 0s),transform .7s var(--ease),box-shadow .7s var(--ease)}.dir-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-photo-hover)}.dir-picture{position:absolute;inset:0}.dir-photo{width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--ease);will-change:transform}.dir-card:hover .dir-photo{transform:scale(1.045)}.dir-shade{position:absolute;inset:0}.dir-copy{position:relative;display:flex;flex-direction:column;justify-content:flex-end}.dir-card-title{margin:0;font-size:clamp(24px,2.3vw,34px);letter-spacing:-.03em;font-weight:400}.dir-card-text{margin:8px 0 0;font-size:15.5px;line-height:1.45}.dir-card--practices{grid-column:1/span 5;grid-row:1/span 2;min-height:clamp(340px,42vw,560px);display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(22px,2.2vw,34px)}.dir-card--practices .dir-shade{background:linear-gradient(0deg,rgba(14,15,13,.72),rgba(14,15,13,.05) 62%)}.dir-card--practices .dir-card-title{color:var(--paper)}.dir-card--practices .dir-card-text{color:var(--paper-78);max-width:26ch}.dir-card--inspiration{grid-column:6/span 7;grid-row:1;min-height:clamp(220px,22vw,268px);display:flex;align-items:stretch}.dir-card--inspiration .dir-shade{background:linear-gradient(105deg,rgba(14,15,13,.78),rgba(14,15,13,.42) 46%,rgba(14,15,13,.1))}.dir-card--inspiration .dir-copy{padding:clamp(22px,2.2vw,34px)}.dir-card--inspiration .dir-card-title{color:var(--paper)}.dir-card--inspiration .dir-card-text{color:rgba(251,250,247,.8);max-width:30ch}.dir-card--calendar{grid-column:6/span 7;grid-row:2;min-height:clamp(220px,20vw,272px);display:flex;gap:clamp(18px,2vw,30px);padding:clamp(22px,2.2vw,32px);background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.9);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.5);backdrop-filter:blur(var(--glass-blur)) saturate(1.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 22px 50px -34px rgba(24,26,22,.3)}.dir-card--calendar:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 40px 70px -40px rgba(24,26,22,.34)}.dir-card--calendar .dir-copy{flex:1 1;min-width:0}.dir-card--calendar .dir-card-text{color:var(--ink-62);max-width:34ch}.dir-thumb{position:relative;flex:0 0 clamp(150px,18vw,238px);border-radius:20px;overflow:hidden}@media (max-width:980px){.dir-card{grid-column:1/-1!important;grid-row:auto!important;min-height:260px}}@media (max-width:620px){.dir-thumb{display:none}}