/* A warm, photographic studio: quiet chrome, deliberate image scale and clear actions. */
:root{--ease-out:cubic-bezier(.16,1,.3,1);--photo-surface:#e8ebe4;--photo-shadow:0 14px 22px #28312c24}
.site-header{background:var(--paper)}
.nav-links>a:not(.nav-cta){text-decoration-thickness:1px;text-underline-offset:8px}
.nav-links>a[aria-current=page]{text-decoration:underline}
.nav-links .nav-cta{border-radius:12px;padding-inline:24px}
.nav-product-links{box-shadow:0 16px 28px #28312c12}
.button{border-radius:12px;transition:background .2s,transform .25s var(--ease-out),box-shadow .25s}
.button:hover{box-shadow:0 6px 14px #28312c18}
.button span[aria-hidden],.text-link span[aria-hidden]{display:inline-block;transition:transform .3s var(--ease-out)}
.button:hover span[aria-hidden],.text-link:hover span[aria-hidden]{transform:translate(3px,-2px)}
.menu-button{border-radius:8px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #546a6014}
.page-title{padding-block:70px 52px}
.page-title h1{font-weight:650;line-height:1.15}
.page-title:has(>p){display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:36px;align-items:end}
.page-title>p{margin:0;padding-bottom:5px;max-width:30ch}
.page-title:has(.breadcrumbs){padding-block:28px 36px}

/* The opening is one photographic composition, with the invitation beside the title. */
.campaign-hero{background:var(--paper);padding:46px 0 0;overflow:clip}
.hero-layout{grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);align-items:end;gap:34px 60px}
.hero-message h1{font-size:clamp(3.1rem,6.8vw,4.6rem);font-weight:650;line-height:1.1;letter-spacing:-.035em}
.hero-message h1 span{font-weight:750}
.hero-invitation{padding-bottom:5px;min-width:0}
.hero-invitation .hero-description{margin:0;font-size:1rem;line-height:1.8;max-width:24em}
.hero-invitation .actions{margin-top:26px;gap:16px 26px}
.hero-invitation .button{font-size:1rem;min-height:62px;padding:16px 26px}
.hero-invitation .hero-reassurance{font-size:.85rem;line-height:1.7;margin-top:16px;color:var(--blue);max-width:26em}
.hero-art.scene-hero{grid-column:1/-1;max-width:none;width:100%;margin:0}
.hero-frame{overflow:hidden;border-radius:16px;background:var(--photo-surface)}
.campaign-hero .hero-art.scene-hero .hero-frame img{width:100%;height:auto;aspect-ratio:2.2;object-fit:cover;object-position:50% 53%;border-radius:0}
.campaign-hero .hero-art.scene-hero figcaption{margin:0;padding:13px 0 18px;border-bottom:1px solid var(--line);font-size:.85rem;color:var(--blue);flex-wrap:wrap}
.hero-art figcaption>a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}

/* Uses read like a small visual edit, not a row of feature boxes. */
.category-ribbon.scene-categories{background:var(--paper);padding-block:30px 62px}
.category-ribbon.scene-categories .container{grid-template-columns:minmax(0,1.28fr) repeat(2,minmax(0,1fr));gap:32px;padding-block:0;align-items:start}
.category-ribbon.scene-categories a:nth-child(2){margin-top:52px}
.category-ribbon.scene-categories a:nth-child(3){margin-top:100px}
.scene-category-picture{border-radius:12px;aspect-ratio:1.45}
.scene-category-label{font-size:1.14rem;line-height:1.45;padding-top:22px;font-weight:650}
.scene-categories svg{width:24px;height:24px;transition:transform .35s var(--ease-out)}
.scene-categories a:hover svg{transform:translate(4px,-4px)}
.scene-categories a:hover img{transform:scale(1.04)}

/* Black backboards are actual products, placed on a lighter photographic stage. */
.work-cover{border:0;background:var(--photo-surface);padding:28px;border-radius:12px}
.work-cover img{filter:drop-shadow(var(--photo-shadow));transition:transform .45s var(--ease-out)}
.work-card:nth-child(4n+2) .work-cover{background:#eee6e0}
.work-card:nth-child(4n+3) .work-cover{background:#e4e8e7}
.work-card:nth-child(4n) .work-cover{background:#eeeade}
.work-cover:hover img{transform:scale(1.035)}
.work-copy{padding-top:23px}
.work-copy h3{font-weight:650;line-height:1.45}
.work-copy .meta{margin-top:9px}
.work-copy .text-link{margin-top:5px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.selected-section{padding-block:68px 96px;border-top:1px solid var(--line)}
.editorial-heading{align-items:end;margin-bottom:48px}
.editorial-heading h2{font-size:clamp(2.2rem,4.2vw,3rem);font-weight:650;line-height:1.2}
.selected-section .work-grid.curated-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 24px}
.curated-grid .work-card{grid-column:auto}
.selected-section .work-grid.curated-grid .work-cover{aspect-ratio:1.5;padding:14px}.curated-grid .work-cover picture{display:block;width:100%;height:100%;min-height:0}.curated-grid .work-cover picture img{max-width:none}
.selected-section .work-grid.curated-grid .work-copy h3{font-size:1.1rem}
.selected-section .work-grid.curated-grid .work-copy .meta{font-size:.85rem}
.selected-section .work-grid.curated-grid .work-copy .text-link{font-size:.83rem}
.catalog-tools{padding:26px 28px;background:var(--surface);border-radius:12px;margin-bottom:42px}
.filter-button{border-color:var(--line);border-radius:8px}
.detail-image{background:var(--photo-surface);border:0;aspect-ratio:1.12}
.detail-image img{padding:28px;filter:drop-shadow(var(--photo-shadow))}
.detail-info{padding-top:10px}
.detail-info h1{font-weight:650}

/* Keep the detailed editor operational; only its visual grouping changes. */
.light-lab{padding-block:84px;background:#e4eae0}
.designer-heading{padding-bottom:30px;border-bottom:1px solid #bdc8b8;max-width:none}
.designer-heading h2{font-weight:650}
.designer-group{padding:24px;background:#f4f6f0;border:0;border-radius:12px}
.designer-group legend{padding:0 8px;font-weight:700}
.designer-workspace .lab-stage{border:0;border-radius:12px}

/* Large illustrated steps sit on an open, rose-tinted surface. */
.making-section{background:var(--paper);padding-inline:20px}
.making-section>.container{width:min(1320px,100%);padding:70px 40px;background:#efe5e1;border-radius:16px;margin-top:72px}
.making-section .editorial-heading{max-width:none;margin-bottom:34px}
.process.visual-process{gap:30px;margin-block:34px}
.process-picture,.making-section .process-picture{border-radius:12px}
.process-caption{padding-top:23px}
.step-number{background:transparent!important;color:var(--purple)!important;min-width:auto;height:auto;border-radius:0;font-size:.85rem;font-weight:650;padding:0}
.process.visual-process li:not(:last-child)::after{content:none}
.process.visual-process h3{font-weight:650}
.process.visual-process p{font-size:.95rem;line-height:1.7;margin-top:13px}
.step-heading{gap:13px}
.guide-essentials{background:var(--surface);border:0;border-radius:12px;padding:36px;margin-bottom:60px}
.scene-guide-lead{padding-bottom:36px;gap:52px}
.scene-guide-copy h2{font-weight:650;line-height:1.3}
.scene-accessories{gap:40px;align-items:start;padding-bottom:72px}
.scene-accessories figure:nth-child(2){padding-top:64px}
.scene-accessories h2{font-weight:650;line-height:1.4}
.accessory-gallery{padding-top:42px;border-top:1px solid var(--line)}
.accessory-picture{border:0;border-radius:12px}
.accessory-example h2{font-weight:650}
.accessory-example figcaption{padding-top:24px}
.product-hero{gap:56px;padding-bottom:76px}
.product-intro h1{font-weight:650;line-height:1.15}
.product-hero-photo figcaption{padding-top:8px}
.product-photo-grid{gap:34px}
.product-photo h3,.product-models h3{font-weight:650}
.product-models>div{padding:28px;background:var(--surface);border:0;border-radius:12px}
.product-models .product-note{margin-bottom:0}
.story{border:0;background:var(--surface)}
.story-copy h2{font-weight:650}
.contact-welcome{padding-block:68px 62px}
.contact-welcome h1{font-weight:650}
.contact-welcome-card{background:var(--surface)}
.inquiry-aside{border:0}

/* One inviting close, with a real product form kept in the composition. */
.home-faq{max-width:1240px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:60px;padding-block:90px}
.home-faq h2{font-size:2.35rem;font-weight:650;margin:0}
.faq details{padding:23px 0}
.faq summary{display:flex;align-items:start;justify-content:space-between;gap:24px;list-style:none;margin:0;padding:0;min-height:44px;font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';color:var(--blue);font-size:1.2rem;line-height:1.5;flex:none}
.faq details[open]>summary::after{content:'−'}
.faq details p{margin:18px 0 0;max-width:52ch}
.faq details:first-child{padding-top:0}
.warm-contact{background:var(--surface);padding:64px 0}
.warm-contact>.container{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:70px;align-items:center}
.contact-scene{min-width:0}
.contact-scene img{aspect-ratio:1.22;object-fit:cover;border-radius:12px}
.warm-contact h2{font-size:clamp(2.2rem,4.2vw,3rem);font-weight:650;line-height:1.25}
.warm-contact h2+p{margin-top:22px;font-size:1rem}
.contact-message .contact-action{margin-top:30px}
.warm-contact .button{font-size:1rem;min-height:62px;padding:16px 26px}
.site-footer{background:var(--paper);border:0;padding-top:64px}
.footer-top{padding-bottom:44px}
.footer-links a{transition:color .2s}
.footer-links a:hover{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:5px}

@media(min-width:761px) and (prefers-reduced-motion:no-preference){
  .campaign-hero .hero-frame{animation:photo-open 950ms var(--ease-out) both}
  .campaign-hero .hero-message{animation:title-settle 700ms var(--ease-out) both}
  @keyframes photo-open{from{clip-path:inset(0 5% 0 5% round 16px)}to{clip-path:inset(0 0 0 0 round 16px)}}
  @keyframes title-settle{from{transform:translateY(16px)}to{transform:translateY(0)}}
}
@media(max-width:1180px){.nav-product-links{box-shadow:none}.hero-layout{gap:30px}.hero-message h1{font-size:clamp(2.6rem,6.5vw,4rem)}.hero-invitation .actions{gap:12px 18px}.hero-invitation .hero-description{font-size:.95rem}.hero-invitation .hero-reassurance{font-size:.85rem}.category-ribbon.scene-categories .container{gap:24px}.scene-category-label{font-size:1.08rem}.selected-section .work-grid.curated-grid{gap:38px 24px}.making-section>.container{padding:58px 32px}.home-faq{gap:38px}.warm-contact>.container{gap:44px}}
@media(max-width:1000px){.selected-section .work-grid.curated-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.curated-grid .work-card:nth-child(n){grid-column:auto}.selected-section .work-grid.curated-grid .work-card:nth-child(n) .work-cover{aspect-ratio:1.5;padding:14px}.selected-section .work-grid.curated-grid .work-card:nth-child(n) h3{font-size:1.2rem}.page-title:has(>p){grid-template-columns:1fr;gap:24px}.page-title>p{max-width:35em}.category-ribbon.scene-categories a:nth-child(2){margin-top:30px}.category-ribbon.scene-categories a:nth-child(3){margin-top:60px}.scene-guide-lead{gap:30px}.home-faq h2{font-size:2rem}.warm-contact>.container{gap:32px}}
@media(max-width:760px){
  .campaign-hero{padding-top:30px}.hero-layout{grid-template-columns:1fr;gap:24px}.hero-message h1{font-size:clamp(2.6rem,11.6vw,3.8rem);line-height:1.1;letter-spacing:-.03em}
  .hero-invitation{padding:0}.hero-invitation .hero-description{font-size:1rem;line-height:1.75}.hero-invitation .actions{margin-top:23px;gap:14px 22px}.hero-invitation .hero-reassurance{font-size:.9rem;line-height:1.7;margin-top:15px}.hero-invitation .button{font-size:1rem;padding:15px 22px;min-height:60px}
  .campaign-hero .hero-art.scene-hero .hero-frame img{aspect-ratio:1.5;object-position:center}.campaign-hero .hero-art.scene-hero figcaption{padding-block:10px 14px;font-size:.85rem;gap:6px 20px}
  .category-ribbon.scene-categories{padding-block:34px 48px}.category-ribbon.scene-categories .container{width:calc(100% - 40px);grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}.category-ribbon.scene-categories a:nth-child(n){margin:0}.category-ribbon.scene-categories a:first-child{grid-column:1/-1}.scene-category-picture{aspect-ratio:1.2}.scene-categories a:first-child .scene-category-picture{aspect-ratio:1.8}.scene-category-label{font-size:1rem;gap:8px;padding-top:15px;align-items:start}.scene-categories svg{width:20px;height:20px;margin-top:4px}
  .selected-section{padding-block:48px 64px}.editorial-heading{gap:18px;margin-bottom:30px}.editorial-heading h2{font-size:2rem}.selected-section .work-grid.curated-grid{gap:38px 20px}.work-cover{padding:24px}.selected-section .work-grid.curated-grid .work-card:nth-child(n) .work-cover{aspect-ratio:1.45;padding:12px}
  .light-lab{padding-block:62px}.designer-heading{padding-bottom:22px}.designer-group{padding:18px 16px}.designer-workspace .lab-stage{border-radius:8px}
  .making-section{padding-inline:20px}.making-section>.container{padding:34px 22px;margin-top:48px;border-radius:12px}.making-section .editorial-heading h2{font-size:1.9rem}.process.visual-process{gap:30px}.process.visual-process p{font-size:1rem}.process-caption{padding-top:0}
  .home-faq{grid-template-columns:1fr;gap:30px;padding-block:60px}.home-faq h2{font-size:2rem}.faq-more{margin-top:16px}.faq summary{font-size:1.1rem;gap:18px}.faq details p{font-size:1rem}
  .warm-contact{padding-block:40px}.warm-contact>.container{grid-template-columns:1fr;gap:30px}.contact-scene img{aspect-ratio:1.75}.warm-contact h2{font-size:2.15rem}.warm-contact h2+p{margin-top:18px}.contact-message .contact-action{margin-top:24px}
  .page-title{padding-block:44px 34px}.page-title:has(.breadcrumbs){padding-block:20px 28px}.scene-accessories{gap:36px;padding-bottom:48px}.scene-accessories figure:nth-child(2){padding:0}.accessory-gallery{padding-top:30px}.scene-guide-lead{padding-bottom:24px;gap:26px}.guide-essentials{padding:26px;margin-bottom:42px}.product-hero{gap:32px}.product-models>div{padding:24px}.catalog-tools{padding:22px}.contact-welcome{padding-block:42px}.site-footer{padding-top:42px}
}
@media(max-width:650px){.selected-section .work-grid.curated-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px}.selected-section .work-grid.curated-grid .work-card:nth-child(n) .work-cover{aspect-ratio:1.35;padding:6px;border-radius:8px}.selected-section .work-grid.curated-grid .work-copy{padding-top:12px}.selected-section .work-grid.curated-grid .work-card:nth-child(n) h3{font-size:1rem;overflow-wrap:anywhere}.selected-section .work-grid.curated-grid .work-copy .meta,.selected-section .work-grid.curated-grid .work-copy .text-link{font-size:.8rem}.selected-section .work-grid.curated-grid .work-copy .meta{margin-top:6px}.making-section .process.visual-process li{grid-template-columns:minmax(95px,.72fr) minmax(0,1fr);gap:16px}.making-section .process.visual-process h3{font-size:1.06rem}.making-section .process.visual-process p{font-size:.95rem}.detail-image{aspect-ratio:4/3}}
@media(max-width:390px){.hero-invitation .actions{gap:12px 18px}.hero-invitation .button{padding-inline:18px}.hero-invitation .text-link{font-size:.9rem}.making-section>.container{padding:30px 20px}.making-section .process.visual-process li{grid-template-columns:1fr;gap:18px}.making-section .process.visual-process p{font-size:1rem}.scene-category-label{font-size:.95rem}.scene-categories svg{width:18px}}
@media(prefers-reduced-motion:reduce){.button,.text-link span,.scene-categories svg{transition:none}.button:hover span[aria-hidden],.text-link:hover span[aria-hidden],.scene-categories a:hover svg,.scene-categories a:hover img,.work-cover:hover img{transform:none}}
