/* Shared refinements for the September staging review. */
.ui-arrow{flex:none;width:24px;height:24px;vertical-align:middle}
.home-hero .hero-buttons .button-outline{color:var(--canvas);border-color:var(--canvas);background:#172b2266}
.home-hero .hero-buttons .button-outline:hover{background:var(--canvas);color:var(--forest)}
.occasion-card .image-shade{background:linear-gradient(180deg,rgba(10,25,17,.58),transparent 45%,rgba(10,25,17,.78))}
.occasion-card .card-index{color:var(--white);font-weight:650;text-shadow:0 1px 3px #000}
.hero-bottom>span{font-size:12px;line-height:1.6;letter-spacing:.08em;max-width:24ch}
@media(min-width:1201px){
 .brand img{width:68px;height:76px}.brand>span{font-size:39px}.brand small{font-size:8px}.desktop-nav{font-size:13px;gap:18px}
 .header-actions{gap:16px}.header-actions .purchase-link{display:inline-flex;align-items:center;gap:10px;border:1px solid currentColor;padding:10px 14px;font-size:13px;min-height:46px}.header-inner{gap:18px}
}
.footer-v2 .footer-directory{grid-template-columns:1.35fr 1fr 1fr;gap:clamp(28px,5vw,72px)}
.footer-v2 h2{font-size:15px;margin-bottom:18px}.footer-v2 .footer-links a{font-size:15px}
.footer-v2 .footer-description,.footer-v2 .footer-hours,.footer-v2 address,.footer-v2 .footer-delivery{font-size:14px;line-height:1.75}
.footer-v2 .footer-social-title{margin-top:26px;font-size:13px;color:var(--cream-accent)}.footer-v2 .footer-social{margin-top:4px}.footer-v2 .footer-social a{font-size:14px}
.footer-v2 .footer-legal{font-size:12px}.footer-v2 .footer-start{font-size:16px}
.inspiration-details .inspiration-photo:nth-child(3n+2){padding-top:0}
.inspiration-details .inspiration-detail-grid{gap:36px 28px;align-items:start}
.inspiration-details .inspiration-photo-open{aspect-ratio:4/3}
.inspiration-details .inspiration-photo-open img{height:100%;width:100%;aspect-ratio:4/3;object-fit:cover}
.inspiration-details .inspiration-photo h3{font-size:25px;line-height:1.15}
.inspiration-details .inspiration-photo figcaption p{font-size:14px;line-height:1.7}
.inspiration-camp-context{border-top:1px solid var(--line);margin-top:26px;padding-top:22px}
.inspiration-camp-context h4{font:400 27px/1.15 var(--serif);margin:0 0 12px}
.inspiration-camp-context p{font-size:14px;line-height:1.7}
.about-work .about-responsibility{grid-template-columns:1fr 1.25fr;gap:40px;padding-block:32px;margin-top:36px;border-bottom:1px solid #6c8174}
.about-work .about-responsibility p{font-size:15px;line-height:1.75}
.about-work .about-responsibility .text-link,.about-work .about-delivery .text-link{font-size:14px;min-height:44px}
.about-work .about-delivery{display:grid;grid-template-columns:minmax(180px,32%) 1fr;gap:32px;align-items:center;margin-top:36px;max-width:none}
.about-work .about-delivery-image img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.about-work .about-delivery h3{font-size:32px;margin-bottom:14px}.about-work .about-delivery p{font-size:15px;line-height:1.75;max-width:60ch}
@media(max-width:1000px){.footer-v2 .footer-directory{grid-template-columns:1fr 1fr}.footer-v2 .footer-contact{grid-column:1/-1}}
@media(max-width:700px){
 .hero-bottom{gap:20px;align-items:center}.hero-bottom>span{font-size:11px;max-width:20ch;white-space:normal}
 .home-hero .hero-buttons .button{width:100%}.home-hero .hero-buttons{gap:14px}
 .brand img{display:block;width:42px;height:48px}.brand>span{font-size:27px}.brand small{font-size:6px}
 .footer-v2 .footer-directory{gap:30px 20px}.footer-v2 .footer-links a{font-size:14px}
 .about-work .about-responsibility,.about-work .about-delivery{grid-template-columns:1fr;gap:22px}
 .about-work .about-delivery h3{font-size:29px}.inspiration-details .inspiration-photo h3{font-size:24px}
}
@media(max-width:380px){.brand>span{font-size:23px}.brand img{width:34px}.header-actions>.button{padding:10px;gap:8px}}
.occasion-card .card-index{background:var(--forest-deep);padding:7px 10px;text-shadow:none;letter-spacing:.09em;line-height:1.5}

/* Give the brand more presence on phones and tablets. */
@media(min-width:701px) and (max-width:1200px){
 .site-header{height:98px}
 .brand img{width:76px;height:84px}
 .brand>span{font-size:39px}.brand small{font-size:8px}
 .desktop-nav{display:none}.menu-toggle{display:block}
 .header-actions .purchase-link{display:none}
 .header-actions .plan-toggle{position:static;background:transparent;color:inherit;box-shadow:none}
}
@media(max-width:700px){
 .site-header{height:88px}
 .brand img,.header-inner:has(.plan-toggle:not([hidden])) .brand img{display:block;width:60px;height:70px}
 .brand>span{font-size:29px}.brand small{font-size:6px}
 .header-inner{gap:8px}.header-actions{gap:8px}
 .header-actions>.button{padding-inline:10px;gap:8px}
}
@media(max-width:400px){
 .brand>span{font-size:25px}
 .header-actions>.button .ui-arrow{display:none}
}
@media(max-width:350px){
 .brand>span{font-size:22px}.brand small{font-size:5px}
 .header-inner{width:calc(100% - 24px);gap:6px}
 .header-actions{gap:5px}.header-actions>.button{padding-inline:8px}
}

/* 2026 indicative unit prices and generous equipment selection targets. */
.rental-unit-price{display:block;color:var(--forest);font:600 17px/1.4 var(--sans);font-variant-numeric:tabular-nums}
.rental-unit-price small{display:block;font:400 11px/1.5 var(--sans);margin-top:3px;color:var(--muted,#56655d)}
.journey-pick{flex-wrap:wrap;align-items:flex-start;gap:10px}
.journey-pick .rental-unit-price{margin-left:auto;max-width:100%}
.journey-model>.rental-unit-price{padding:0 18px 14px}
.journey-model>.rental-unit-price small{padding:0}
.equipment-product-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.equipment-product-title .rental-unit-price{margin-bottom:16px}
.rental-price-note{font-size:14px;line-height:1.65;max-width:75ch;margin-block:16px 24px}
.journey-equipment article:has(input:not(:disabled)),.equipment-product:has(input:not(:disabled)){cursor:pointer}
.journey-equipment article:has(input:checked),.equipment-product:has(input:checked){outline:2px solid var(--forest);outline-offset:-2px;background:var(--surface-selected)}
.journey-equipment article:focus-within,.equipment-product:focus-within{outline:2px solid var(--forest);outline-offset:3px}
.journey-equipment article>img,.equipment-product-image img{object-fit:cover;object-position:center}
.rental-price-overview>p{max-width:75ch;font-size:15px;line-height:1.7;margin-top:18px}
.rental-price-overview dl{columns:2;column-gap:48px;margin-block:30px}
.rental-price-overview dl>div{break-inside:avoid;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:14px 0;font-size:14px;line-height:1.6}
.rental-price-overview dd{margin:0;white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums}
@media(max-width:700px){.rental-price-overview dl{columns:1}.journey-pick .rental-unit-price{width:100%;margin-left:0}.journey-model>.rental-unit-price{grid-column:2;padding:8px 15px}.rental-unit-price{font-size:16px}}

.equipment-product-image,.equipment-product-image img{border-radius:12px;overflow:hidden}

.equipment-product{border-radius:12px;overflow:hidden}

/* Text-led actions; symbols are reserved for controls with a specific function. */
.button,.text-link{gap:0;justify-content:center}
.text-link{justify-content:flex-start}
.round-arrow,.catalog-arrow,.home-tent-arrow{display:none}
.submenu-toggle,.submenu-toggle[aria-expanded=true]{transform:none}
.submenu-toggle span{display:block;font-size:20px;line-height:1}
.button:hover{filter:brightness(.94)}
.button:focus-visible,.text-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.inspiration-expand::after,[data-zoom]::after{content:'';display:inline-block;width:22px;height:22px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10' cy='10' r='6.5' fill='none' stroke='black' stroke-width='1.7'/%3E%3Cpath d='m15 15 6 6M7 10h6M10 7v6' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E") center/contain no-repeat}
[data-zoom]:not(.room-zoom){position:relative}
[data-zoom]::after{position:absolute;right:12px;bottom:12px;pointer-events:none}
.room-zoom::after{content:none}
.room-experience .room-zoom{position:absolute;right:16px;bottom:16px;width:48px;height:48px;min-height:48px;padding:0;display:grid;place-items:center;gap:0;border-radius:50%;background:var(--canvas);color:var(--forest);box-shadow:0 2px 8px #10251c26}
.room-experience .room-zoom:hover{background:var(--white)}
.room-zoom svg{display:block;width:24px;height:24px}
.occasion-card .image-card-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:20px;padding:9px 18px;border:1px solid #f5f0e5;border-radius:3px;background:#f5f0e5;color:var(--forest);font:500 14px var(--sans)}
.occasion-card .image-link:hover .image-card-action{background:var(--white);border-color:var(--white)}
.occasion-card .image-link:focus-visible{outline:3px solid var(--forest);outline-offset:5px}

/* Responsive audit: consistent actions, readable supporting copy, stable branding. */
.text-link,.filter-chip{min-height:var(--control-height)}
.hero-bottom>a{display:inline-flex;align-items:center;min-height:var(--control-height);font-size:13px}
.inspiration-series-link{position:absolute;right:16px;bottom:16px;display:inline-flex;align-items:center;min-height:var(--control-height);padding:10px 16px;border-radius:3px;background:var(--canvas);color:var(--forest);font:600 14px/1.4 var(--sans)}
.inspiration-cover-side>a:hover .inspiration-series-link,.inspiration-story-image:hover .inspiration-series-link{background:var(--white)}
.mobile-menu .mobile-plan-link{display:flex;align-items:center;min-height:48px;padding:12px 16px;margin:0 0 18px;border:1px solid var(--forest);border-radius:4px;font:600 16px/1.5 var(--sans);color:var(--forest)}
.field small,.form-bottom-note,.price-option-terms,.price-option-details p,.prices-page .estimate-footnote,.price-family-nav small{font-size:13px}
.finder-form>p,.finder-form .finder-help,.range-labels,.finder-result>span{font-size:13px}
.price-opening-copy>p.price-opening-note,.price-opening-photo figcaption small,.price-opening-photo figcaption>p,.price-floor-control legend,.price-result-status,.price-family-story>div>.price-family-note{font-size:13px}
.price-opening-photo figcaption a{display:inline-flex;align-items:center;min-height:var(--control-height);font-size:14px}
@media(max-width:1200px){
 .breadcrumbs{font-size:12px;gap:8px;align-items:center}.breadcrumbs a{display:inline-flex;align-items:center;min-height:var(--control-height)}
 .room-next .text-link,.inspiration-opening .text-link,.inspiration-cover-side .text-link,.inspiration-story-copy .text-link{font-size:14px}
}
@media(max-width:700px){
 .header-actions .plan-toggle{display:none}
 .header-inner:has(.plan-toggle:not([hidden])) .brand>span{display:block}
 .brand{gap:8px;flex-shrink:0}.brand>span{white-space:nowrap}
 .header-inner:has(.plan-toggle:not([hidden])) .header-actions{gap:8px}
 .hero-bottom{align-items:flex-end;gap:16px}.hero-bottom>span{max-width:17ch;letter-spacing:.04em}.hero-bottom>a{flex-shrink:0;font-size:12px}
 .finder-help,.finder-range-labels,.finder-range-labels span{font-size:13px}
 .inspiration-series-link{right:12px;bottom:12px;padding:10px 12px;font-size:13px}
 .inspiration-cover-side{grid-template-columns:1fr;gap:16px}
 .inspiration-cover-side>a{width:100%}.inspiration-cover-side>a>img{width:100%;height:230px;object-fit:cover}
 .inspiration-cover-side p{font-size:30px}
 .form-actions .button{font-size:13px}.form-progress li b{font-size:12px}
 .small-tag,.card-index,.room-tab-note{font-size:12px}
}
@media(max-width:380px){
 .brand img{width:48px;height:60px}.brand>span{font-size:22px}.brand small{font-size:5px;letter-spacing:.05em}
 .header-inner:has(.plan-toggle:not([hidden])) .brand img{width:48px;height:60px}
 .header-inner:has(.plan-toggle:not([hidden])) .header-actions,.header-actions{gap:5px}
 .header-actions>.button,.header-inner:has(.plan-toggle:not([hidden])) .header-actions>.button{font-size:11px;padding-inline:8px}
 .hero-bottom{align-items:flex-start;flex-direction:column;gap:6px}.hero-bottom>span{max-width:none}
}

/* Mobile navigation: each disclosure belongs to its parent row. */
.mobile-menu{width:min(100%,480px);padding:0;overflow:hidden}
.mobile-menu[open]{display:flex;flex-direction:column}
.mobile-menu-body{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:16px 28px max(24px,env(safe-area-inset-bottom))}
.mobile-menu-top{position:relative;flex:none;z-index:2;margin:0;padding:24px 28px 20px;background:var(--canvas);border-bottom:1px solid var(--line)}
.mobile-menu .mobile-brand{font:400 34px/1.1 var(--serif)}
.mobile-menu .menu-close{display:grid;place-items:center;width:44px;height:44px;min-width:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--forest)}
.mobile-menu nav{margin:0 0 24px}
.mobile-menu .mobile-nav-group{border-bottom:1px solid var(--line)}
.mobile-menu .mobile-nav-row{display:flex;align-items:center;gap:12px;min-height:65px}
.mobile-menu nav .mobile-nav-row>a{flex:1;min-width:0;min-height:64px;display:flex;align-items:center;padding:12px 0;border:0;font:400 clamp(25px,6.8vw,31px)/1.15 var(--serif)}
.mobile-nav-toggle{width:48px;height:48px;flex:none;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--forest);cursor:pointer}
.mobile-nav-toggle svg{transition:transform .18s ease-out}
.mobile-nav-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.mobile-nav-toggle:hover,.mobile-nav-toggle[aria-expanded=true]{background:var(--surface-selected)}
.mobile-menu .mobile-nav-children{padding:0 0 12px 16px}
.mobile-menu nav .mobile-nav-children>a{display:flex;align-items:center;min-height:48px;padding:10px 0;border:0;font:500 16px/1.5 var(--sans);color:var(--forest)}
.mobile-menu nav a[aria-current=page]{text-decoration:none;color:var(--copper)}
.mobile-menu .mobile-menu-actions>.button{width:100%;min-height:52px;font-size:15px}
.mobile-menu-secondary{display:flex;gap:24px;margin-top:12px}
.mobile-menu .mobile-menu-secondary>a{display:inline-flex;align-items:center;min-height:48px;font:500 15px/1.5 var(--sans);text-decoration:underline;text-underline-offset:5px}
.mobile-menu a:focus-visible,.mobile-nav-toggle:focus-visible,.mobile-menu .menu-close:focus-visible{outline:2px solid var(--forest);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.mobile-nav-toggle svg{transition:none}}

/* Small occasion cards need content height, not a fixed photo overlay. */
@media(max-width:700px){
 .home .occasion-grid{gap:28px}
 .home .occasion-card .image-link{display:flex;flex-direction:column;height:auto;min-height:0;aspect-ratio:auto;background:var(--canvas);color:var(--forest);overflow:visible}
 .home .occasion-card .image-link>img{position:static;display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transform:none;border-radius:12px}
 .home .occasion-card .image-shade,.home .occasion-card .card-index{display:none}
 .home .occasion-card .occasion-card-copy{position:static;inset:auto;padding:18px 0 0}
 .home .occasion-card .occasion-card-copy h3{color:var(--forest);font-size:34px;line-height:1.1;margin:0 0 8px}
 .home .occasion-card .occasion-card-copy p{color:var(--muted);font-size:15px;line-height:1.6;margin:0}
 .home .occasion-card .image-card-action{min-height:44px;margin-top:8px;padding:6px 0;border:0;border-radius:0;background:transparent;color:var(--forest);font-size:15px;text-decoration:underline;text-underline-offset:5px}
 .home .occasion-card .image-link:hover .image-card-action{background:transparent}
}
