.bespoke-hero{text-align:center;padding:clamp(3rem,6vw,5rem) 1.5rem clamp(2rem,4vw,3rem);max-width:920px;margin:0 auto}.bespoke-hero h1{font-size:clamp(2rem,4.2vw,2.8rem);line-height:1.1;margin:0 0 .75rem}.bespoke-hero p{color:var(--muted);max-width:60ch;margin:0 auto 1.5rem;font-size:clamp(1rem,1.6vw,1.1rem)}.hero-buttons{display:flex;flex-wrap:wrap;gap:.85rem;justify-content:center}.hero-buttons a{white-space:nowrap}.bespoke-section{max-width:1200px;margin:clamp(2.5rem,6vw,4rem) auto;padding:0 1.5rem}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:center}.split.reverse{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.split .text,.split .image{min-width:0}.split .image img{width:100%;height:auto;border-radius:14px;box-shadow:0 12px 26px #00000014;display:block}.bespoke-carousel{position:relative;width:100%;border-radius:14px;overflow:hidden;box-shadow:0 12px 26px #00000014}.bespoke-carousel .carousel-container{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;background:var(--carousel-bg)}.bespoke-carousel .carousel-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease}.bespoke-carousel .carousel-image.active{opacity:1;z-index:1}.bespoke-carousel .hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:#14100e73;color:#fff;font-size:22px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,transform .2s ease,border-color .2s ease}.bespoke-carousel .hero-prev{left:14px}.bespoke-carousel .hero-next{right:14px}.bespoke-carousel .hero-arrow:hover{background:#14100ea6;border-color:#ffffff73;transform:translateY(-50%) scale(1.03)}.bespoke-carousel .hero-arrow:focus-visible{outline:2px solid var(--hover-dark);outline-offset:3px}.process h2,.materials h2,.faq h2{text-align:center;margin-bottom:clamp(1.25rem,3vw,2rem)}.process-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.process-card{padding:1.5rem;border-radius:14px;background:#ffffff8c;border:1px solid var(--border-soft)}.process-card span{font-weight:900;color:var(--brand);display:inline-block;margin-bottom:.35rem}.process-card h3{margin:.25rem 0 .5rem}.materials ul{margin:1rem 0 0;padding-left:1.1rem}.materials li{margin:.35rem 0}.faq-item{border-bottom:1px solid var(--border-soft);padding:1rem 0}.faq-item h3{margin:0 0 .35rem}@media(max-width:980px){.bespoke-section{padding:0 1.25rem}.process-grid{grid-template-columns:1fr}}@media(max-width:900px){.split{grid-template-columns:1fr}.split.reverse .image{order:-1}.hero-buttons a{width:100%;max-width:360px;text-align:center}}@media(max-width:420px){.bespoke-hero,.bespoke-section{padding-left:1rem;padding-right:1rem}.process-card{padding:1.15rem}}@media(max-width:768px){.bespoke-carousel .carousel-container{aspect-ratio:4 / 3}.bespoke-carousel .hero-arrow{width:40px;height:40px;font-size:20px}.bespoke-carousel .hero-prev{left:10px}.bespoke-carousel .hero-next{right:10px}}.split .image .bespoke-carousel{width:100%;border-radius:14px;overflow:hidden;box-shadow:0 12px 26px #00000014;position:relative}.split .image .bespoke-carousel .carousel-container{position:relative;width:100%;aspect-ratio:16 / 10;background:var(--carousel-bg);overflow:hidden}.split .image .bespoke-carousel .carousel-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease}.split .image .bespoke-carousel .carousel-image.active{opacity:1}.split .image .bespoke-carousel .hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:#14100e73;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;transition:background .2s ease,transform .2s ease}.split .image .bespoke-carousel .hero-arrow:hover{background:#14100eb3;transform:translateY(-50%) scale(1.05)}.split .image .bespoke-carousel .hero-prev{left:12px}.split .image .bespoke-carousel .hero-next{right:12px}
