/* V3.9: readable touch layout and consistent non-emoji icons. */
.ui-arrow{display:inline-block;width:1.15em;height:1.15em;vertical-align:-.18em;flex:0 0 auto;pointer-events:none}
.stage-arrow .ui-arrow,.image-arrow .ui-arrow{width:23px;height:23px}
.carousel-arrows button{width:44px;height:44px;display:grid;place-items:center;flex-shrink:0}
.carousel-arrows button .ui-arrow{width:22px;height:22px}
.webdesign{background:#141c24;gap:40px}
.cadenza-cover{background:#25271f}
.web-tags span{font-size:12px;white-space:normal}
.reference-top{flex-wrap:wrap}.reference-top .eyebrow{font-size:12px;line-height:1.6}
.reference-domain,.reference-visit{font-size:14px}
.inquiry-note{padding:24px}
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid #e3efff;outline-offset:4px}
@media(max-width:760px){
 html{scroll-padding-top:94px}body{font-size:16px}
 .header{min-height:68px;margin-top:8px;padding:0 16px;border-radius:20px;backdrop-filter:none;background:#10171df5}
 .wordmark{width:140px}.wordmark img{height:62px}.header .menu-toggle{min-height:44px;padding:8px 14px;font-size:16px}
 .header nav.open{top:76px;max-height:calc(100dvh - 100px);overflow:auto;padding:12px 20px}
 .header nav a{min-height:44px;display:flex;align-items:center;font-size:16px}
 .luxury-hero{padding:28px 5% 0;gap:0}.luxury-copy{gap:18px;padding:0 0 24px}
 .luxury-copy>.eyebrow{font-size:12px;letter-spacing:.08em;line-height:1.6}
 .luxury-copy h1{font-size:clamp(3.25rem,14vw,5rem);line-height:.94;letter-spacing:-.055em}
 .hero-intro p{font-size:16px;margin-bottom:18px}.hero-intro{width:100%}
 .button,.button.primary{min-height:48px;padding:13px 18px;font-size:16px;max-width:100%;white-space:normal;gap:12px;text-align:center}
 .web-hero-link{min-height:44px;font-size:16px;margin-top:10px;display:inline-flex;align-items:center;gap:8px}
 .intro-replay{font-size:13px;min-height:44px;margin:0}
 .luxury-stage{margin-bottom:20px;border-radius:22px}.product-carousel .stage-top{padding:14px 16px;gap:10px}
 .stage-top>.eyebrow{font-size:12px;letter-spacing:.06em}.carousel-arrows{width:100%;justify-content:space-between;gap:8px}
 .carousel-arrows #slide-count{font-size:12px;min-width:0}.carousel-tabs{margin:0 12px 12px;padding:4px;gap:3px}
 .carousel-tabs button{font-size:13px;min-height:44px;padding:8px 4px}
 .slide-caption{padding:18px;min-height:0;gap:12px}.slide-caption .eyebrow{font-size:12px;line-height:1.5;letter-spacing:.03em}
 .slide-caption strong{font-size:clamp(1.35rem,6.5vw,1.9rem)}.slide-price{font-size:15px;min-height:44px;align-items:center;margin-top:5px;gap:6px}
 .stage-arrow{width:46px;height:46px}.hero-product-links{display:none}
 .discipline-strip{padding:15px 5%;font-size:12px;letter-spacing:.04em;gap:14px}
 .section{padding:48px 5%}.section-heading{gap:18px;margin-bottom:24px}.section-heading>p{max-width:none;font-size:16px}
 .section-heading h2,.custom h2,.about h2{font-size:clamp(2rem,9vw,3rem);letter-spacing:-.045em;line-height:1.08}
 .webdesign{display:flex;flex-direction:column;align-items:stretch;margin:20px 3% 0;padding:28px 6%;gap:28px;border-radius:24px;background:#141c24;overflow:hidden}
 .web-copy h2{font-size:clamp(2rem,9vw,3rem);margin:18px 0;line-height:1.06}.web-copy>.eyebrow{font-size:12px;letter-spacing:.06em}
 .web-copy p,.web-copy .web-lead,.reference-details p{font-size:16px;line-height:1.65}.web-tags{margin:20px 0;gap:8px}
 .web-tags span{font:12px/1.5 Arial,sans-serif;padding:7px 10px}.web-copy .button{width:100%}
 .web-reference{width:100%;min-width:0}.reference-top{padding:14px}.reference-top .eyebrow{font-size:12px;letter-spacing:.02em}
 .cadenza-cover{min-height:220px;padding:56px 14px 24px;background:#25271f}.cadenza-name{font-size:clamp(1.8rem,8vw,2.5rem);letter-spacing:.04em}
 .cadenza-subtitle{font-size:12px;letter-spacing:.02em}.reference-visit{margin-top:24px;min-height:44px;display:flex;align-items:center;gap:8px}
 .reference-details{padding:20px}.reference-details h3{font-size:22px}.text-link{min-height:44px;display:inline-flex;align-items:center;font-size:15px;gap:8px;max-width:100%}
 .product-grid{gap:30px}.product-card p{font-size:16px}.card-meta .eyebrow{font-size:12px;letter-spacing:.04em}.product-card h3{margin:12px 0}
 .image-index{font-size:12px}.image-arrow{width:44px;height:44px}.collection-note{font-size:14px;margin-top:28px;padding-top:20px}
 .services,.custom{padding:28px 6%;margin:24px 3% 0;border-radius:24px}.service,.service:first-child{padding:24px 0;min-height:0}.service h3{margin:16px 0}.service p{font-size:16px}
 .custom{gap:24px}.custom p{font-size:16px}.inquiry-note{padding:18px;margin-top:20px;border-radius:16px}.inquiry-note .eyebrow{font-size:12px;letter-spacing:.06em}
 .inquiry-note p{font-size:14px;line-height:1.6}.form-grid{gap:18px}input,select,textarea{font-size:16px!important;min-height:48px;max-width:100%;width:100%}textarea{min-height:150px}
 .form-actions{gap:10px}.form-actions .button{width:100%}.custom .form-note{font-size:13px;line-height:1.6}
 .contact{padding:40px 5%}.contact h2{font-size:clamp(1.8rem,8.5vw,3rem)}.contact>p{margin-top:24px;line-height:1.8}
 footer{padding:32px 5%}.footer-top{gap:20px}.footer-bottom{gap:18px;margin-top:24px;padding-top:20px}.legal-links{flex-wrap:wrap;gap:10px}.legal-links button{min-height:44px}
 .product-hero{padding:24px 5%;gap:24px}.product-intro h1{font-size:3rem}.product-intro p{font-size:16px}.detail-notice{margin:0 5%;padding:18px;font-size:14px}.card-contact{grid-template-columns:72px 1fr;padding:16px;gap:12px}.card-contact img{width:72px;height:72px}.card-contact a{overflow-wrap:anywhere}
 .point-variants .related-grid{grid-template-columns:1fr}.point-variants .service{padding:20px}.point-variants h2{font-size:2rem}
}
@media(hover:none){.product-card,.product-card img,.service,.detail-visual img{transform:none!important;filter:none!important}}
@media print{.header{position:static} .webdesign,.cadenza-cover{background:#141c24!important} img{visibility:visible!important}}

/* V3.10: bounded desktop composition; phone layout stays independent. */
@media(min-width:761px){
 .luxury-hero{max-width:1320px;margin-inline:auto;padding:36px 4% 0;grid-template-columns:minmax(0,1fr) minmax(0,520px);column-gap:48px;align-items:center}
 .luxury-stage{width:100%;max-width:520px;justify-self:end;align-self:center;margin:0 0 24px}
 .luxury-copy{gap:22px;padding-bottom:24px}
 .luxury-copy h1{font-size:clamp(4rem,6.3vw,6.25rem)}
 .product-carousel .stage-top{padding:14px 18px}
 .carousel-tabs{margin-bottom:10px}
 .slide-caption{padding:18px 22px;min-height:100px}
 .slide-caption strong{font-size:1.8rem}
 .hero-product-links{padding:0 0 24px}
 #products{max-width:1320px;margin-inline:auto}
 .product-hero{max-width:1260px;margin-inline:auto;grid-template-columns:minmax(0,540px) minmax(0,1fr);gap:48px}
 .detail-visual{width:100%;max-width:540px}
 .detail-visual>img{aspect-ratio:3/2}
}
@media(min-width:761px) and (max-width:1000px){
 .luxury-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
 .luxury-copy h1{font-size:clamp(3.5rem,7.5vw,4.75rem)}
 .product-hero{gap:28px}
}

.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-actions button:disabled{opacity:.55;cursor:not-allowed;transform:none}#turnstile-container{min-height:65px;margin-top:20px}#form-status{line-height:1.65;overflow-wrap:anywhere}
