.individual-options{display:grid;gap:22px;margin:22px 0}.individual-options h3{font-size:16px;margin:0 0 10px}.choice-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.material-choice{background:#faf9f6;border:1px solid #d9ded9;border-radius:14px;padding:10px;display:flex;align-items:center;flex-direction:column;gap:7px;cursor:pointer;min-width:0;color:#263a40}.material-choice[aria-pressed=true]{border:2px solid #52675b;padding:9px;background:#edf3ec;box-shadow:0 0 0 2px #52675b15}.material-choice img,.option-sample{width:100%;height:126px;object-fit:cover;border-radius:8px}.material-choice small{line-height:1.4;font-size:11px;min-height:29px}.book-scheme{height:74px;width:52px;display:block;border:2px solid currentColor;border-radius:2px 6px 6px 2px;box-shadow:4px 4px 0 #cbd3cc;position:relative;margin:6px}.book-scheme:before{content:'';position:absolute;left:5px;top:0;bottom:0;border-left:1px solid #9caaa0}.book-scheme.landscape{width:88px;height:59px;margin:13.5px 6px}.option-sample{background:linear-gradient(135deg,#dddcd3,#f7f6ef);position:relative;overflow:hidden}.option-sample.cardboard:before{content:'';position:absolute;width:77%;height:50%;left:11%;top:22%;background:#4b5f52;border:2px solid #78897b;box-shadow:0 3px #eeeae0,0 5px #777,0 8px #eeeae0,0 10px #777,0 13px #eeeae0;transform:skewY(-8deg)}.option-sample.thick:before{box-shadow:0 6px #eeeae0,0 8px #777,0 14px #eeeae0,0 16px #777,0 22px #eeeae0}.option-sample.gloss{background:linear-gradient(130deg,#34483f 15%,#658273 38%,#dbe5dc 45%,#405b4b 56%,#22372c)}.option-sample.matte{background:linear-gradient(120deg,#516457,#617365)}.photographer-choice{display:flex;gap:12px;padding:18px;border-radius:12px;background:#f2f0e9;align-items:flex-start}.photographer-choice small{display:block;margin-top:5px}.photographer-choice input{width:20px;height:20px;flex:none}.document-scroll{max-height:55vh;overflow:auto;white-space:pre-wrap;line-height:1.75;padding:18px;background:#faf9f6;border:1px solid #deded3;border-radius:10px}.enrollment-packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.registration-success{text-align:center;max-width:700px;margin:30px auto}.success-mark{width:72px;height:72px;background:#d8e9d9;border-radius:50%;margin:20px auto;display:grid;place-items:center;font-size:38px;animation:success-in .5s ease-out}.registration-steps{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.registration-steps span{padding:7px 12px;background:#f0f0e9;border-radius:18px;font-size:12px}.registration-steps span.active{background:#263a40;color:white}@keyframes success-in{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:700px){.enrollment-packages{grid-template-columns:1fr}.material-choice img,.option-sample{height:108px}.material-choice strong{font-size:14px}.individual-options{gap:18px}}
.portfolio-tools,.portfolio-admin-tools{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:18px 0}.portfolio-grid{display:flex;flex-direction:column;gap:6px;width:100%;min-width:0}.portfolio-tile{position:relative;display:block;flex:none;height:100%;min-width:0;border:0;border-radius:3px;padding:0;overflow:hidden;background:#e8ebe4;cursor:zoom-in;text-align:left}.portfolio-row{display:flex;gap:6px;width:100%;min-width:0}.portfolio-tile img{width:100%;height:100%;object-fit:contain;display:block}.portfolio-tile:focus-visible{outline:3px solid #3b6c58;outline-offset:2px}.portfolio-tile span{position:absolute;bottom:0;left:0;right:0;padding:25px 12px 10px;font-size:13px;color:#fff;background:linear-gradient(transparent,#000b);opacity:0;transition:opacity .15s}.portfolio-tile:hover span,.portfolio-tile:focus-visible span{opacity:1}.portfolio-feed-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;padding:0;background:#171e1c;color:#fff;overflow:hidden}.portfolio-feed-dialog::backdrop{background:#171e1c}.portfolio-feed-toolbar{height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;background:#f6f5ef;color:#263a40}.portfolio-feed-toolbar label{display:flex;align-items:center;gap:8px;font-size:12px}.portfolio-feed{height:calc(100dvh - 68px);overflow:auto;padding:20px;overscroll-behavior:contain;--feed-width:100%}.portfolio-feed figure{width:var(--feed-width);max-width:1800px;margin:0 auto 26px;scroll-margin-top:10px}.portfolio-feed img{width:100%;height:auto;display:block;border-radius:3px;min-height:100px}.portfolio-feed figcaption{padding:8px 0;color:#d5dad6;font-size:13px}.portfolio-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.portfolio-admin-item{display:grid;gap:8px;background:#f3f3ed;border:1px solid #dce0d7;border-radius:12px;padding:10px}.portfolio-admin-item img{width:100%;aspect-ratio:1.5;object-fit:contain;background:#e4e7df}.portfolio-admin-item input[type=text],.portfolio-admin-item select{width:100%;min-width:0}.portfolio-select{font-weight:700}.portfolio-admin-item:has([data-item-select]:checked){outline:3px solid #718673}.portfolio-admin-item button{padding:4px 9px;border:1px solid #ccd3c9;border-radius:5px;background:#fff;cursor:pointer}@media(max-width:600px){.portfolio-feed-toolbar{height:74px;padding:8px;font-size:12px}.portfolio-feed-toolbar input{width:65px}.portfolio-feed{height:calc(100dvh - 74px);padding:12px 6px}.portfolio-grid{gap:6px}.portfolio-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-admin-tools .field{max-width:200px}}

.enrollment-packages>div{display:flex;flex-direction:column;min-width:0}.enrollment-packages .package-card{height:auto;flex:1}.hero-carousel:has([data-poster=true]) .hero-track{border-radius:12px;aspect-ratio:6/5;height:auto}.hero-slide[data-poster=true] img{object-fit:contain;object-position:center;background:#f2f0e7}.hero-carousel:has([data-poster=true]) .hero-slide img{border-radius:0}.hero-carousel .photo-note[hidden]{display:none}

/* Product cards: real album photographs, crisp editable words, one action. */
.has-promotions{container-type:inline-size}
.hero-carousel.has-promotions .hero-track{aspect-ratio:6/5;border-radius:16px}
.promotion-slide{position:relative;isolation:isolate;background:var(--card-bg);--card-bg:#152c27;--card-accent:#d7f379;color:#fff}
.promotion-plum{--card-bg:#352231;--card-accent:#ffe1c2}
.promotion-graphite{--card-bg:#202831;--card-accent:#d4f086}
.hero-slide.promotion-slide .promotion-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center;filter:blur(1.4px);transform:scale(1.025);z-index:-2}
.promotion-slide::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--card-bg) 0%,color-mix(in srgb,var(--card-bg) 91%,transparent) 32%,color-mix(in srgb,var(--card-bg) 32%,transparent) 100%),linear-gradient(0deg,var(--card-bg),transparent 55%)}
.promotion-copy{height:100%;display:flex;flex-direction:column;align-items:flex-start;padding:7cqw 6cqw 8cqw;position:relative}
.promotion-eyebrow{font-size:clamp(11px,2.5cqw,14px);font-weight:750;letter-spacing:.07em;line-height:1.3;text-transform:uppercase;color:#fff;margin-bottom:4.8cqw}
.hero .promotion-title{font-family:'Segoe UI',Arial,sans-serif;font-size:clamp(32px,9.5cqw,58px);line-height:1.06;letter-spacing:-.035em;font-weight:800;color:#fff;margin:0;max-width:100%;text-wrap:balance}
.promotion-title strong{display:block;color:var(--card-accent);font-weight:800}
.hero .promotion-detail{font-size:clamp(16px,3.5cqw,21px);line-height:1.4;color:#fff;max-width:83%;margin:4cqw 0}
.promotion-action{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:100%;padding:13px 18px;border-radius:9px;background:var(--card-accent);color:#15251e;font-size:clamp(16px,3.5cqw,19px);font-weight:750;line-height:1.2;min-height:46px;text-decoration:none}
.promotion-action:hover{filter:brightness(1.08)}.promotion-action:focus-visible{outline:3px solid white;outline-offset:4px}
.has-promotions .hero-arrow{top:auto;bottom:12px;width:36px;height:36px;font-size:25px;background:#fff;color:#203c30}
.has-promotions .hero-prev{left:auto;right:54px}.has-promotions .hero-next{right:12px}
@media(max-width:600px){.hero-carousel.has-promotions .hero-track{aspect-ratio:1.05}.promotion-copy{padding:7cqw 6cqw 17cqw}.has-promotions .hero-arrow{bottom:10px}.hero .promotion-title{font-size:10cqw;min-height:0}.promotion-eyebrow{margin-bottom:5cqw}.hero .promotion-detail{max-width:90%;margin:5cqw 0;font-size:16px}.promotion-action{font-size:16px;padding:12px 16px}}

/* First-screen offer stays readable independently of the carousel. */
.hero{align-items:start;padding-top:22px}.hero-copy h1{font-size:clamp(32px,3.8vw,49px);font-weight:650;line-height:1.12;letter-spacing:-1.4px;white-space:pre-line;text-wrap:balance}
.home-offer-copy{margin:25px 0;padding:1px 0 1px 18px;border-left:3px solid #758a56}.home-offer-copy p{color:#384b40;font-size:clamp(21px,1.65vw,24px);line-height:1.38;max-width:470px;letter-spacing:-.25px}.home-offer-copy strong{font-weight:750;color:#214833}.home-offer-line{display:block}.home-offer-line+.home-offer-line{margin-top:10px}
@media(max-width:760px){.hero{padding-top:10px;gap:24px}.hero-copy h1{font-size:clamp(30px,8vw,40px);line-height:1.13;letter-spacing:-.9px}.home-offer-copy{margin:21px 0;padding-left:14px}.home-offer-copy p{font-size:20px;max-width:none;line-height:1.4;letter-spacing:-.2px}}

.hero>.hero-photo{width:100%;min-width:0}

/* Quiet controls in the middle of the right edge, with geometric SVG chevrons. */
.hero-carousel .hero-arrow{top:50%;bottom:auto;transform:translateY(-50%);width:36px;height:44px;padding:0;border:0;border-radius:7px;background:transparent;box-shadow:none;color:#fff;opacity:.6;display:grid;place-items:center;filter:drop-shadow(0 1px 2px #18352f90)}
.hero-carousel .hero-prev{left:auto;right:40px}.hero-carousel .hero-next{right:5px}
.hero-arrow svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hero-carousel .hero-arrow:hover:not(:disabled),.hero-carousel .hero-arrow:focus-visible{opacity:1;background:#1a312b24}.hero-carousel .hero-arrow:disabled{opacity:.18;cursor:default}

/* One connected, freely scrolling infographic, not full-width paging slides. */
.journey-section{scroll-margin-top:22px;min-width:0}.journey-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:26px}.journey-heading .eyebrow{margin-bottom:12px}.journey-heading h2{font-size:clamp(28px,3vw,36px);font-weight:650;letter-spacing:-1px}.journey-heading p{max-width:710px;margin-top:14px;font-size:15px;line-height:1.6;color:#667365}
.journey-navigation{display:flex;gap:9px;align-items:center;flex-shrink:0}.journey-navigation>span{font-size:12px;color:#657660;margin-right:8px;white-space:nowrap}.journey-navigation button{display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;background:#e6edda;color:#31584d}.journey-navigation button:disabled{opacity:.3;cursor:default}.journey-navigation svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.journey-canvas{background:#edf1e6;border:1px solid #dfe6d5;border-radius:22px;padding:8px 0 0;overflow:hidden}.journey-track{position:relative;display:flex;gap:18px;list-style:none;margin:0;padding:24px 24px 20px;overflow-x:auto;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scrollbar-width:thin;scrollbar-color:#99ae82 #e2e9d9;scroll-padding-inline:24px;align-items:flex-start}
.journey-step{position:relative;flex:0 0 278px;min-width:0;background:#fffdf7;border:1px solid #dce4d3;border-radius:17px;box-shadow:0 5px 12px #31473106;isolation:isolate}.journey-step:not(:last-child):after{content:'';position:absolute;left:100%;top:27px;width:20px;border-top:2px dashed #9aaf8a;z-index:-1}.journey-milestone{height:55px;padding:17px 21px 0;display:flex;align-items:flex-start}.journey-milestone>span{display:grid;place-items:center;min-width:34px;height:25px;border-radius:20px;background:#e9f0de;color:#31584d;font-size:12px;letter-spacing:1px;font-weight:750}.journey-illustration{display:block;width:100%;height:150px;padding:0 10px;margin:0 auto 14px}
.journey-step-copy{padding:0 21px 5px}.journey-step h3{font-size:21px;font-weight:700;line-height:1.18;letter-spacing:-.4px;min-height:75px;color:#2b4b41}.journey-highlights{min-height:113px;padding-top:12px;padding-bottom:14px}.journey-highlights p{font-size:14px;line-height:1.5;color:#496350;font-weight:550;overflow-wrap:anywhere}.journey-photo-types{display:flex;flex-direction:column;gap:5px;align-items:flex-start}.journey-photo-types p{background:#edf3e3;border-radius:6px;padding:2px 8px;font-size:12px}
.journey-details{border-top:1px solid #e0e7d6}.journey-details summary{list-style:none;display:flex;gap:16px;justify-content:space-between;align-items:center;min-height:49px;padding:12px 0;color:#426b51;font-size:12px;font-weight:650;cursor:pointer}.journey-details summary::-webkit-details-marker{display:none}.journey-plus{position:relative;width:14px;height:14px;flex:none}.journey-plus:before,.journey-plus:after{content:'';position:absolute;left:1px;right:1px;top:6px;height:1.5px;background:currentColor;border-radius:2px}.journey-plus:after{transform:rotate(90deg)}.journey-details[open] .journey-plus:after{display:none}.journey-full-text{padding:3px 0 20px;overflow-wrap:anywhere}.journey-full-text p{font-size:14px;line-height:1.65;color:#48564d}.journey-full-text p+p{margin-top:14px}.journey-full-text img{display:block;width:100%;height:auto;border-radius:8px;margin-top:12px}
.journey-scroll-hint{display:flex;justify-content:space-between;padding:11px 25px 15px;font-size:11px;color:#73876b;letter-spacing:.2px}.journey-scroll-hint span:last-child{font-size:20px;line-height:1}.journey-notes{max-width:900px;margin:20px 0 0}.journey-notes .journey-details{border:1px solid #dfe6d5;background:#f3f5ed;border-radius:12px;margin-top:10px;padding:0 20px}.journey-notes summary{font-size:14px}.journey-track:focus-visible,.journey-details summary:focus-visible,.journey-navigation button:focus-visible{outline:2px solid #5d7e4a;outline-offset:-3px}
@media(max-width:760px){.journey-heading{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:18px}.journey-heading p{font-size:14px;line-height:1.55;margin-top:12px}.journey-navigation{align-self:flex-end}.journey-canvas{margin-right:-19px;border-radius:18px 0 0 18px;border-right:0}.journey-track{gap:14px;padding:18px 15px 16px;scroll-padding-inline:15px}.journey-step{flex-basis:268px}.journey-step:not(:last-child):after{width:16px}.journey-step-copy{padding-left:19px;padding-right:19px}.journey-step h3{font-size:20px}.journey-illustration{height:139px}.journey-scroll-hint{padding:10px 18px 13px}.journey-section{scroll-margin-top:14px}}
@media(max-width:350px){.journey-step{flex-basis:238px}.journey-step-copy{padding-left:17px;padding-right:17px}.journey-step h3{font-size:19px}.journey-highlights{min-height:130px}}

/* All step information is visible: role-led lists and a final note on each card. */
.journey-step{display:flex;flex-direction:column}.journey-step-copy{display:flex;flex-direction:column;flex:1;padding-bottom:19px}.journey-step h3{min-height:0;margin-bottom:15px}.journey-copy{display:flex;flex-direction:column;gap:14px;flex:1}.journey-copy strong,.journey-note-copy strong{font-weight:700;color:#2f5143}.journey-card-lead{font-size:13px;line-height:1.45;color:#31584d;background:#edf3e3;border-radius:8px;padding:10px 11px}.journey-points{list-style:none;margin:0;padding:0;display:grid;gap:13px}.journey-points li{position:relative;padding-left:13px;font-size:13.5px;line-height:1.5;color:#46594e;overflow-wrap:anywhere}.journey-points li:before{content:'';width:4px;height:4px;border-radius:50%;background:#93ac79;position:absolute;left:0;top:.65em}.journey-card-note{margin-top:auto;padding-top:13px;border-top:1px solid #dfe7d4;font-size:12.5px;line-height:1.5;color:#60715f;overflow-wrap:anywhere}.journey-content-image{display:block;width:100%;height:auto;border-radius:8px}.journey-note{border:1px solid #dfe6d5;background:#f3f5ed;border-radius:12px;padding:18px 20px;margin-top:12px}.journey-note h3{font-size:16px;font-weight:650;margin-bottom:15px}.journey-notes{max-width:none}.journey-note-copy .journey-points{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.journey-note-copy .journey-points li{font-size:13px}
@media(max-width:760px){.journey-note-copy .journey-points{grid-template-columns:1fr;gap:12px}.journey-step-copy{padding-bottom:17px}.journey-points{gap:12px}}

/* The kindergarten link stays easy to spot even while the school tab is selected. */
.portfolio-category-tabs{align-items:stretch;gap:10px}
.portfolio-category-tabs>.tab{display:inline-flex;align-items:center;justify-content:center;min-height:47px;padding:10px 19px;font-size:14px;font-weight:600}
.portfolio-category-tabs .portfolio-kinder-tab{background:#fff2de;border:1px solid #d5ac78;box-shadow:0 2px 0 #dec7a6;padding:8px 18px}
.kinder-lettering{display:flex;gap:.3em;font-size:20px;line-height:1.3;font-weight:500;letter-spacing:.1px}
.kinder-word{white-space:nowrap}.kinder-word>span{display:inline-block;color:#8d3e65}
.kinder-word>span:nth-child(3n+2){color:#27746c;transform:translateY(-1px) rotate(4deg)}
.kinder-word>span:nth-child(3n){color:#a84d26;transform:translateY(1px) rotate(-5deg)}
.kinder-word>span:nth-child(3n+1){transform:rotate(-3deg)}
.portfolio-category-tabs .portfolio-kinder-tab:hover{background:#ffe8c6;border-color:#b78547}
.portfolio-category-tabs .portfolio-kinder-tab.active{background:#fff2de;border:2px solid #846344;padding:7px 17px;box-shadow:inset 0 -3px #846344,0 2px 0 #dec7a6}
.portfolio-category-tabs>.tab:focus-visible{outline:3px solid #315b51;outline-offset:4px}
@media(max-width:350px){.portfolio-category-tabs{gap:8px}.portfolio-category-tabs>.tab{padding-left:14px;padding-right:14px}.portfolio-category-tabs .portfolio-kinder-tab{padding-left:12px;padding-right:12px}.portfolio-category-tabs .portfolio-kinder-tab.active{padding-left:11px;padding-right:11px}.kinder-lettering{font-size:19px}}

/* Square slides have no vertical scroll range. Vertical gestures belong to the page. */
.hero-carousel .hero-track,.hero-carousel.has-promotions .hero-track{aspect-ratio:1;height:auto;overflow-y:hidden;touch-action:pan-y pinch-zoom;border-radius:12px}
.hero-track .hero-slide{height:100%;min-height:0;position:relative;overflow:hidden}
.hero-slide>.hero-media{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;pointer-events:none;user-select:none;-webkit-user-drag:none}
.hero-slide>video.hero-media{object-fit:cover;background:#142b26}
.hero-track .promotion-copy{touch-action:pan-y pinch-zoom;user-select:none}
.hero-carousel :is(.hero-arrow,.hero-pagination,.banner-video-play)[hidden]{display:none}
.banner-video-play{position:absolute;z-index:3;left:14px;bottom:14px;border-radius:50%;width:44px;height:44px;color:#fff;background:#203932d9}
.banner-crop-stage{position:relative;width:100%;max-width:420px;aspect-ratio:1;overflow:hidden;margin:12px auto;background:#172d26;touch-action:none;cursor:grab;border-radius:8px}
.banner-crop-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none;pointer-events:none}
.banner-crop-stage:focus-visible{outline:3px solid #527357;outline-offset:3px}

/* Exact owner copy: a headline and four scannable benefits. One access form. */
.hero{grid-template-areas:"copy visual" "access visual";grid-template-rows:auto 1fr;row-gap:28px}
.hero>.hero-copy{grid-area:copy;min-width:0}.hero>.hero-photo{grid-area:visual}.hero>.code-box{grid-area:access;margin-top:0;width:100%}
.home-offer-copy:has(.home-offer-benefits){margin:22px 0 25px}
.home-offer-copy:has(.home-offer-benefits)>p{font-size:16px;line-height:1.4;color:#62705f;margin-bottom:12px}
.home-offer-benefits{list-style:none;padding:0;margin:0;display:grid;gap:13px;max-width:480px;color:#384b40;font-size:clamp(19px,1.55vw,22px);line-height:1.38;letter-spacing:-.2px}
.home-offer-benefits li{position:relative;padding-left:17px}.home-offer-benefits li::before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:#758a56}
@media(max-width:760px){.hero{gap:24px}.hero>.code-box{max-width:none}.home-offer-copy:has(.home-offer-benefits){margin:19px 0 22px}.home-offer-benefits{font-size:19px;gap:12px;max-width:none}}

/* Real interface collages: the image is evidence, never a blurred background. */
.hero-slide.interface-slide{display:flex;flex-direction:column;background:radial-gradient(ellipse at 85% 35%,#ffffff12,transparent 65%),var(--card-bg);isolation:isolate}
.interface-slide:after{display:none}.walkthrough-head{flex:none;padding:4.5cqw 6cqw 0}.walkthrough-eyebrow{display:block;font-size:clamp(10px,2.25cqw,13px);line-height:1.25;text-transform:uppercase;letter-spacing:.085em;color:#f0f5e2;margin-bottom:1.6cqw;font-weight:650}
.hero .walkthrough-title{font-family:'Segoe UI',Arial,sans-serif;font-size:clamp(24px,7.2cqw,43px);line-height:1.03;letter-spacing:-.035em;font-weight:750;color:#fff;margin:0;max-width:100%}.walkthrough-title strong{display:block;color:var(--card-accent);font-weight:750}
.walkthrough-art{position:relative;display:block;width:100%;min-height:0;flex:1;border:0;padding:0;margin:1.4cqw 0 .8cqw;background:transparent;overflow:hidden;cursor:default;touch-action:pan-y pinch-zoom}
.hero-slide .walkthrough-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:0;background:transparent;pointer-events:none;user-select:none;filter:none;transform:none}
.walkthrough-art>span{position:absolute;right:5cqw;bottom:1cqw;padding:3px 7px;border-radius:5px;font-size:clamp(9px,2.1cqw,12px);background:#15251ecf;color:#f5f9e9;pointer-events:none}.walkthrough-art:focus-visible{outline:2px solid var(--card-accent);outline-offset:-4px}
.walkthrough-bottom{flex:none;padding:0 6cqw 4.5cqw}.hero .walkthrough-bottom p{font-size:clamp(12px,2.75cqw,16px);line-height:1.3;color:#eff3e7;margin:0 0 2cqw;max-width:100%}.interface-slide .promotion-action{width:100%;padding:10px 14px;min-height:44px;font-size:clamp(13px,3.25cqw,19px)}
.walkthrough-zoom{overflow:auto;max-height:65vh;background:var(--card-bg,#152c27);border-radius:12px;margin:16px 0;touch-action:pan-x pan-y pinch-zoom}.walkthrough-zoom img{display:block;width:960px;max-width:none;height:auto;user-select:none}.walkthrough-zoom:focus-visible{outline:2px solid #758a56;outline-offset:3px}

/* Aligned benefit rows: readable at rest, a single top-to-bottom introduction. */
.hero .home-offer-copy:has(.home-offer-benefits){width:min(100%,29rem);margin:20px auto 0;padding:0;border:0}
.hero .home-offer-copy:has(.home-offer-benefits)>p{font-size:14px;line-height:1.4;margin:0 0 10px;color:#526153}
.hero .home-offer-benefits{display:grid;grid-template-columns:minmax(0,1fr);gap:0;max-width:none;margin:0;border:1px solid #d9e2d3;border-radius:14px;background:#fff;overflow:hidden;font-size:15px;line-height:1.35;letter-spacing:0}
.hero .home-offer-benefits li{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:13px;padding:11px 15px;position:relative;color:#465442;background:#fff;overflow-wrap:break-word}
.hero .home-offer-benefits li+li{border-top:1px solid #e4e9df}
.hero .home-offer-benefits li::before{display:none}
.home-benefit-copy{min-width:0}
.hero .home-offer-benefits strong{display:block;width:fit-content;max-width:100%;margin:0;color:#254931;font-size:19px;line-height:1.25;font-weight:750;letter-spacing:-.2px;box-decoration-break:clone;-webkit-box-decoration-break:clone;background:linear-gradient(#dcecb8,#dcecb8) 0 100%/0% 45% no-repeat}
.home-benefit-detail{display:block;margin-top:3px;color:#52604e;font-size:14px;line-height:1.35}
.home-benefit-separator{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.home-benefit-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid #d9e4ce;border-radius:9px;background:#edf3e5;color:#53703d}
.home-benefit-icon svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
/* 70% of the previous speed: 0.65/0.7s duration, 0.4/0.7s between rows.
   The headline finishes first, followed by a 0.15s pause before the list. */
.hero .home-offer-title{box-decoration-break:clone;-webkit-box-decoration-break:clone;background:linear-gradient(#dcecb8,#dcecb8) 0 100%/0% 45% no-repeat}
.hero .home-offer-title.is-introducing{animation:benefit-word-focus .928571s ease-out both;animation-delay:.15s}
.home-offer-benefits.is-introducing li{animation:benefit-row-focus .928571s ease-out both;animation-delay:calc(1.228571s + var(--benefit-step)*.571429s)}
.home-offer-benefits.is-introducing .home-benefit-icon{animation:benefit-icon-focus .928571s ease-out both;animation-delay:calc(1.228571s + var(--benefit-step)*.571429s)}
.hero .home-offer-benefits.is-introducing strong{animation:benefit-word-focus .928571s ease-out both;animation-delay:calc(1.228571s + var(--benefit-step)*.571429s)}
@keyframes benefit-row-focus{0%,100%{background-color:#fff}30%,60%{background-color:#eff5e6}}
@keyframes benefit-icon-focus{0%,100%{background-color:#edf3e5;color:#53703d}30%,60%{background-color:#53703d;color:#fff}}
@keyframes benefit-word-focus{0%{background-size:0% 45%}40%,65%{background-size:100% 45%}100%{background-size:0% 45%}}
@media(max-width:1000px){.hero{column-gap:24px}.hero .home-offer-benefits strong{font-size:18px}}
@media(max-width:760px){.hero{gap:18px}.hero .home-offer-copy:has(.home-offer-benefits){margin-top:16px}.hero .home-offer-benefits li{padding:10px 12px;gap:11px}.hero .home-offer-benefits strong{font-size:18px}}
@media(max-width:350px){.hero .home-offer-benefits li{grid-template-columns:30px minmax(0,1fr);padding:10px;gap:9px}.home-benefit-icon{width:30px;height:30px}.hero .home-offer-benefits strong{font-size:16px}.home-benefit-detail{font-size:13px}}
@media(prefers-reduced-motion:reduce){.hero .home-offer-title.is-introducing,.home-offer-benefits.is-introducing li,.home-offer-benefits.is-introducing .home-benefit-icon,.hero .home-offer-benefits.is-introducing strong{animation:none}}

/* With an intentionally empty introduction, the banner follows the heading on every screen. */
.hero.hero-banner-first{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;grid-template-areas:"copy" "visual" "access";justify-items:center;row-gap:16px;padding-top:18px;padding-bottom:26px}
.hero-banner-first>.hero-copy{width:100%;max-width:1000px;text-align:center}
.hero-banner-first .hero-copy h1{font-size:clamp(28px,3.2vw,40px);line-height:1.13;letter-spacing:-1px}
.hero.hero-banner-first>.hero-photo,.hero.hero-banner-first>.code-box{width:100%;max-width:660px}
.hero-banner-first>.code-box{margin-top:0}
@media(max-width:760px){.hero.hero-banner-first{padding-top:10px;row-gap:14px}.hero-banner-first .hero-copy h1{font-size:clamp(27px,7.3vw,36px);letter-spacing:-.7px}}

/* A real action below the poster keeps its small-screen calculator details visible. */
.hero-carousel>.hero-price-action{display:flex;width:100%;min-height:48px;margin-top:10px;font-size:16px;font-weight:650;gap:12px}
.hero-price-action svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.hero-price-action:focus-visible{outline:3px solid #31584d;outline-offset:3px}
#album-packages .package-card{scroll-margin-top:20px}
#album-packages .package-card h3:focus-visible{outline:2px solid #527357;outline-offset:5px;border-radius:2px}

/* A single clear invitation, secondary to the owner's price headline. */
.hero .home-price-word{display:inline-block;background:#daecad;color:#294729;border-radius:.16em;padding:0 .11em .035em;line-height:1.06;box-shadow:inset 0 -.055em 0 #abc675}
.hero .home-offer-copy:has(.home-editor-note){width:min(100%,30rem);margin:22px 0 0}
.home-editor-note{display:flex;align-items:flex-start;gap:13px;padding:16px 0;border-top:1px solid #d8e0d1}
.home-editor-note .home-benefit-icon{flex:none;width:38px;height:38px;margin-top:2px}
.hero .home-editor-note strong{display:block;color:#254931;font-size:clamp(22px,2vw,27px);font-weight:700;letter-spacing:-.35px;line-height:1.2}
.hero .home-editor-note p{font-size:17px;line-height:1.4;margin:7px 0 0;color:#52604e;max-width:28ch}
.home-editor-note.is-introducing{animation:home-editor-focus .8s ease-out 1.23s both}
@keyframes home-editor-focus{0%{opacity:.72}100%{opacity:1}}
@media(max-width:760px){.hero .home-offer-copy:has(.home-editor-note){margin-top:15px}.home-editor-note{padding:13px 0 0;gap:10px}.hero .home-editor-note strong{font-size:22px}.hero .home-editor-note p{font-size:16px;margin-top:5px}.home-editor-note .home-benefit-icon{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){.home-editor-note.is-introducing{animation:none}}

/* Close the doubled gap below the desktop hero; smaller screens stay intact. */
@media(min-width:1100px){.hero{padding-bottom:8px}.hero+.section{padding-top:18px}}

/* Portfolio navigation: window and fullscreen photo feed use their own scroll position. */
.portfolio-back-top{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:35;display:grid;place-items:center;width:48px;height:48px;min-width:48px;padding:0;border:1px solid #ffffffa6;border-radius:50%;background:#244b3e;color:#fff;box-shadow:0 3px 14px #132e3652;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility .18s}
.portfolio-back-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.portfolio-back-top svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.portfolio-back-top:hover{background:#17392e}.portfolio-back-top:focus-visible{outline:3px solid #d5e997;outline-offset:3px}
@media(min-width:1100px){.portfolio-back-top{right:30px;bottom:30px}}
@media(prefers-reduced-motion:reduce){.portfolio-back-top{transition:none;transform:none}}
