@charset "UTF-8";
/* 2.1: shared finishing layer. Sector compositions and customer palettes stay authoritative. */
body.experience-modern {
    --refine-line:color-mix(in srgb,currentColor,transparent 84%);
    --refine-soft:color-mix(in srgb,currentColor,transparent 96%);
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}
body.experience-modern :where(h1,h2,h3) { text-wrap:balance; }
body.experience-modern :where(.section-intro,.sector-hero-description,.premium-hero-description,.inner-intro) { text-wrap:pretty; }
body.experience-modern :where(.sector-hero-description,.premium-hero-description,.section-intro,.about-text,.inner-intro) { font-size:16px; line-height:1.85; }
body.experience-modern :where(.eyebrow,.premium-eyebrow,.inner-kicker) { font-size:11px; letter-spacing:.13em; }
body.experience-modern :where(.sector-hero-note,.premium-hero-note) { font-size:12px; letter-spacing:.035em; line-height:1.7; }
body.experience-modern :where(.sector-hero h1,.premium-hero h1,.inner-hero h1) { font-kerning:normal; }
body.experience-modern :where(.section-heading,.inner-section-heading) { margin-bottom:clamp(28px,3.4vw,48px); }
body.experience-modern .section-heading .section-intro { max-width:58ch; margin-top:20px; }
body.experience-modern :where(.section-heading h2,.about-section h2,.request-copy h2) { line-height:1.12; }

/* Navigation has a comfortable reading size and full-height interaction areas. */
body.experience-modern .site-nav { font-size:13px; gap:clamp(18px,2vw,30px); }
body.experience-modern .site-nav > a { min-height:44px; display:inline-flex; align-items:center; }
body.experience-modern .site-nav .nav-contact { padding:13px 21px; min-height:48px; }
body.experience-modern .brand small { font-size:9px; line-height:1.5; }
body.experience-modern .experience-nav { gap:26px; }
body.experience-modern .experience-nav a { font-size:12px; min-height:72px; }
body.experience-modern .experience-nav a > span { font-size:10px; opacity:.8; }
body.experience-modern .button { font-size:13px; min-height:52px; line-height:1.5; padding:15px 24px; gap:24px; }
body.experience-modern .text-link { font-size:13px; min-height:44px; align-items:center; }
body.experience-modern .button:active { transform:translateY(0); }
body.experience-modern :where(.button,.text-link,.nav-contact) > span[aria-hidden="true"] { flex-shrink:0; }
body.experience-modern .image-zoom { padding:12px 17px; min-height:44px; background:#fffffff5; border-color:#fff; box-shadow:0 4px 20px #00000016; }
body.experience-modern .image-zoom > span:not(:first-child) { font-size:12px; }

/* Hero photography retains each sector's frame while captions gain legibility. */
body.experience-modern :is(.sector-hero-media,.premium-hero-media,.inner-cover) { background:var(--primary); }
body.experience-modern :is(.sector-hero-media,.premium-hero-media,.inner-cover) > img ,
body.experience-modern :is(.sector-hero-media,.premium-hero-media,.inner-cover) > picture.responsive-picture > img { color:transparent; }
body.experience-modern :is(.sector-hero-media,.premium-hero-media,.inner-cover) figcaption { font-size:11px; line-height:1.65; letter-spacing:.015em; padding-top:65px; }
body.experience-modern .sector-hero-index strong { font-size:14px; line-height:1.55; }
body.experience-modern :is(.sector-hero-index,.premium-service-index) a { text-decoration:none; }
body.experience-modern :is(.sector-hero-index,.premium-service-index) a:focus-visible { position:relative; z-index:4; outline-offset:-4px; }
body.experience-modern :is(.sector-hero-index,.premium-service-index) a > :last-child { transition:transform .2s ease; }
body.experience-modern .premium-service-index strong { font-size:14px; line-height:1.5; }
body.experience-modern :is(.premium-number,.sector-hero-index .number,.sector-service-number,.inner-number) { font-variant-numeric:tabular-nums; }

/* Equal-height cards keep the action in the same position when copy lengths differ. */
body.experience-modern .sector-services[data-presentation="cards"] .sector-service-card { display:flex; flex-direction:column; }
body.experience-modern .sector-services[data-presentation="cards"] .sector-service-body { display:flex; flex:1; flex-direction:column; padding:clamp(24px,2.4vw,34px); }
body.experience-modern .sector-services[data-presentation="cards"] .sector-service-body h3 { font-size:clamp(25px,2.2vw,31px); line-height:1.22; letter-spacing:-.03em; margin-top:20px; }
body.experience-modern .sector-services[data-presentation="cards"] .sector-service-body p { margin-bottom:25px; }
body.experience-modern .sector-services[data-presentation="cards"] .sector-service-actions { margin-top:auto; padding-top:20px; border-top:1px solid var(--refine-line); gap:8px 24px; }
body.experience-modern :where(.sector-service-body p,.sector-service-detail-content p,.explorer-copy p,.feature-tile p,.process-grid p,.inner-service-copy p,.inner-steps p,.inner-value p) { font-size:15px; line-height:1.85; }
body.experience-modern .sector-service-actions .text-link { font-size:12px; gap:14px; border-bottom:0; }
body.experience-modern .sector-service-actions .text-link:first-child { font-weight:650; }
body.experience-modern .sector-service-visual { isolation:isolate; }
body.experience-modern .sector-service-visual::after { content:"↗"; position:absolute; right:16px; bottom:16px; width:42px; height:42px; display:grid; place-items:center; background:#fffffff2; color:#202821; border-radius:50%; font:22px/1 Arial,sans-serif; box-shadow:0 3px 15px #00000016; }
body.experience-modern .sector-services[data-presentation="rows"] .sector-service-visual::after { width:32px; height:32px; right:10px; bottom:10px; font-size:18px; }
body.experience-modern .sector-service-detail summary { padding-block:2px; }
body.experience-modern .sector-service-expand { border-color:currentColor; opacity:.85; }
body.experience-modern .sector-service-detail-content { padding-top:22px; }
body.experience-modern .explorer-tab-title { font-size:16px; }
body.experience-modern .explorer-tab-number { opacity:.8; }
body.experience-modern .explorer-copy p { max-width:48ch; }
body.experience-modern .explorer-links { gap:14px 24px; }
body.experience-modern .inner-service-copy h3 { font-size:clamp(23px,2vw,28px); line-height:1.25; }
body.experience-modern .inner-service-link { font-size:13px; padding-top:19px; }
body.experience-modern .inner-number { font-size:11px; letter-spacing:.12em; }

/* Supporting sections use the same typographic scale without flattening sector layouts. */
body.experience-modern .feature-tile-index { font-size:11px; font-variant-numeric:tabular-nums; }
body.experience-modern .feature-tile h3 { line-height:1.24; letter-spacing:-.025em; }
body.experience-modern .process-grid h3 { line-height:1.3; }
body.experience-modern .work-caption { align-items:flex-start; gap:20px; }
body.experience-modern .work-caption h3 { font-size:clamp(23px,2.2vw,29px); line-height:1.25; letter-spacing:-.025em; }
body.experience-modern .work-caption .eyebrow { font-size:10px; line-height:1.6; }
body.experience-modern .work-card > p { font-size:14px; line-height:1.8; max-width:55ch; }
body.experience-modern .work-open { width:44px; height:44px; }
body.experience-modern .team-card > p { font-size:14px; line-height:1.7; }
body.experience-modern .faq-list summary { font-size:17px; line-height:1.55; min-height:44px; align-items:center; }
body.experience-modern .faq-list details > div { font-size:15px; line-height:1.85; }
body.experience-modern .request-planner { padding:clamp(26px,3.7vw,48px); }
body.experience-modern .request-planner label { font-size:16px; }
body.experience-modern .request-summary { font-size:14px; line-height:1.8; }
body.experience-modern .request-note { font-size:12px; line-height:1.7; }
body.experience-modern :where(.contact-form input,.contact-form textarea,.request-planner select,.faq-search input) { font-size:16px; min-height:52px; }
body.experience-modern .contact-form label { font-size:14px; line-height:1.6; }
body.experience-modern .form-note { font-size:12px; line-height:1.8; }
body.experience-modern .footer-links,body.experience-modern .footer-social { font-size:13px; line-height:1.8; }
body.experience-modern .footer-links a,body.experience-modern .footer-social a { display:inline-flex; align-items:center; min-height:36px; }
body.experience-modern .footer-bottom { font-size:11px; line-height:1.8; gap:15px 28px; }

/* Architectural and professional themes: open grids, crisp dividers and panoramic imagery. */
body.experience-modern:is(.design-atelier,.design-ledger,.design-lex,.design-perspective,.design-forge,.design-woodwork) .sector-service-visual::after { border-radius:0; }
body.experience-modern:is(.design-atelier,.design-ledger,.design-lex,.design-perspective,.design-forge,.design-woodwork) .sector-service-expand { border-radius:0; }
body.experience-modern:is(.design-atelier,.design-ledger,.design-perspective) .sector-hero-signature { padding-block:22px 6px; }
body.experience-modern:is(.design-terra,.design-aggregate,.design-cargo,.design-motion,.design-repair) .sector-services[data-presentation="cards"] .sector-service-card { border-top-width:3px; }
body.experience-modern:is(.design-dent,.design-care,.design-clear,.design-learn,.design-climate) .sector-services[data-presentation="cards"] .sector-service-card { border-radius:16px; overflow:hidden; }
body.experience-modern:is(.design-bloom,.design-balance,.design-garden) .sector-services[data-presentation="cards"] .sector-service-card { border-radius:22px; overflow:hidden; }
body.experience-modern:is(.design-estate,.design-route,.design-harvest) .sector-services[data-presentation="cards"] .sector-service-visual { aspect-ratio:1.35; }
body.experience-modern:is(.design-pulse,.design-signal,.design-volt) .sector-service-visual::after { background:var(--accent); color:var(--on-accent); }
body.experience-modern:is(.design-stay,.design-table,.design-occasion) .sector-service-expand { width:44px; height:44px; }

/* Premium editions share the updated controls but retain their distinct compositions. */
body.experience-modern.has-premium-theme .premium-hero-description { font-size:16px; line-height:1.85; }
/* Premium headers use the light paper surface even when their base sector is dark. */
body.experience-modern.has-premium-theme .site-header .menu-toggle { color:var(--primary); background:transparent; border-color:var(--premium-line); }
body.experience-modern.has-premium-theme .site-header .menu-toggle[aria-expanded="true"] { color:var(--on-primary); background:var(--primary); border-color:var(--primary); }
body.experience-modern.has-premium-theme .premium-hero-actions .button { font-size:13px; padding:15px 24px; min-height:54px; }
body.experience-modern.has-premium-theme .premium-discover { font-size:13px; line-height:1.6; }
body.experience-modern.has-premium-theme .premium-hero-note { font-size:12px; line-height:1.7; }
body.experience-modern.premium-linea .premium-hero h1 { letter-spacing:-.06em; line-height:1.03; }
body.experience-modern.premium-linea .premium-hero-media { border-radius:3px; }
body.experience-modern.premium-linea .premium-service-index { border-block-color:var(--primary); }
body.experience-modern.premium-nexus .premium-hero { box-shadow:0 20px 60px color-mix(in srgb,var(--primary),transparent 90%); }
body.experience-modern.premium-nexus .premium-service-index > a { background:#ffffff0d; padding-block:24px; }
body.experience-modern.premium-nexus .premium-hero-media { transform:none; }
body.experience-modern.premium-solis .premium-hero-copy { box-shadow:0 12px 35px #0000000c; }
body.experience-modern.premium-solis .premium-service-index strong { font-weight:500; }
body.experience-modern.premium-savor .premium-service-index strong { font-family:Georgia,serif; font-size:24px; font-weight:400; }
body.experience-modern.premium-savor .premium-service-index > a { padding-block:30px; }
body.experience-modern.premium-aura .premium-service-index > a { border:1px solid var(--premium-line); background:transparent; }
body.experience-modern.premium-aura .sector-services[data-presentation="cards"] .sector-service-visual { aspect-ratio:1.18; }
body.experience-modern.premium-aura .sector-services[data-presentation="cards"] .sector-service-body { padding:30px; }
body.experience-modern.premium-meridian .premium-service-index > a { padding:26px; }
body.experience-modern.premium-meridian .premium-service-index strong { font-size:15px; }
body.experience-modern.premium-meridian .premium-signature { font-size:13px; }

@media(hover:hover) and (prefers-reduced-motion:no-preference) {
    body.experience-modern[data-motion="1"] :is(.sector-hero-index,.premium-service-index) a:hover > :last-child { transform:translate(3px,-3px); }
    body.experience-modern[data-motion="1"] .sector-services[data-presentation="cards"] .sector-service-card,
    body.experience-modern[data-motion="1"] .inner-service-card { transition:box-shadow .25s ease,border-color .25s ease; }
    body.experience-modern[data-motion="1"] .sector-services[data-presentation="cards"] .sector-service-card:hover,
    body.experience-modern[data-motion="1"] .inner-service-card:hover { box-shadow:0 15px 38px #0000000c; border-color:color-mix(in srgb,currentColor,transparent 55%); }
    body.experience-modern[data-motion="1"] .sector-service-detail summary:hover h3 { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:7px; }
}
@media(min-width:1101px) {
    body.experience-modern .section { padding-block:104px; }
    body.experience-modern .inner-page :is(.inner-catalog,.inner-process,.inner-values) { padding-block:50px 88px; }
    body.experience-modern .site-nav { flex-wrap:wrap; justify-content:flex-end; }
    body.experience-modern .site-nav .nav-contact { margin-left:0; }
}
@media(max-width:1100px) {
    body.experience-modern .header-inner { gap:22px; }
    body.experience-modern .site-nav { gap:18px; }
    body.experience-modern .site-nav .nav-contact { padding-inline:16px; margin-left:0; }
    body.experience-modern .sector-services[data-presentation="cards"] .sector-service-actions { column-gap:16px; }
}
@media(max-width:980px) {
    body.experience-modern .site-nav > a { min-height:48px; }
    body.experience-modern .site-nav .nav-contact { margin-left:0; }
}
@media(max-width:760px) {
    body.experience-modern .section { padding-block:68px; }
    body.experience-modern :is(.section-heading,.inner-section-heading) { margin-bottom:30px; }
    body.experience-modern .section-heading { align-items:flex-start; }
    body.experience-modern .section-heading .text-link { white-space:normal; }
    body.experience-modern .experience-nav { gap:26px; }
    body.experience-modern .experience-nav a { min-height:60px; font-size:12px; }
    body.experience-modern .sector-hero-description,body.experience-modern.has-premium-theme .premium-hero-description { font-size:15px; line-height:1.8; }
    body.experience-modern .sector-services[data-presentation="cards"] .sector-service-body { padding:26px; }
    body.experience-modern .sector-services[data-presentation="cards"] .sector-service-body h3 { font-size:27px; }
    body.experience-modern .inner-service-copy { padding:26px; }
    body.experience-modern .work-caption h3 { font-size:25px; }
    body.experience-modern .faq-list summary { font-size:16px; }
    body.experience-modern .footer-main { gap:32px; }
}
@media(max-width:520px) {
    body.experience-modern .brand small { font-size:8px; letter-spacing:.12em; }
    body.experience-modern :is(.sector-hero,.premium-hero) .eyebrow,
    body.experience-modern .premium-eyebrow { font-size:10px; letter-spacing:.11em; }
    body.experience-modern :is(.sector-hero-note,.premium-hero-note) { font-size:11px; }
    body.experience-modern .button,body.experience-modern.has-premium-theme .premium-hero-actions .button { min-height:52px; font-size:13px; padding:14px 20px; gap:18px; }
    body.experience-modern :is(.sector-hero-actions,.premium-hero-actions) { gap:12px 22px; }
    body.experience-modern .sector-hero-actions .button { font-size:13px; }
    body.experience-modern .sector-hero-index strong { font-size:14px; }
    body.experience-modern .premium-service-index strong { font-size:14px; }
    body.experience-modern :is(.sector-hero-index,.premium-service-index) > a { min-height:68px; }
    body.experience-modern .premium-service-index > a { padding-block:20px; }
    body.experience-modern.premium-savor .premium-service-index strong { font-size:22px; }
    body.experience-modern.premium-savor .premium-service-index > a { padding-block:22px; }
    body.experience-modern.premium-aura .premium-service-index > a { padding:20px 22px; border-radius:14px; }
    body.experience-modern.premium-aura .sector-services[data-presentation="cards"] .sector-service-body { padding:26px; }
    body.experience-modern.premium-meridian .premium-service-index > a { padding:20px 0; }
    body.experience-modern .sector-services[data-presentation="rows"] .sector-service-visual::after { display:none; }
    body.experience-modern .sector-services[data-presentation="rows"] .sector-service-body p { font-size:14px; }
    body.experience-modern .sector-service-detail summary { grid-template-columns:20px minmax(0,1fr) 40px; gap:12px; }
    body.experience-modern .sector-service-expand,
    body.experience-modern:is(.design-stay,.design-table,.design-occasion) .sector-service-expand { width:40px; height:40px; }
    body.experience-modern .sector-service-detail-content { padding-left:32px; }
    body.experience-modern .text-link { font-size:12px; gap:18px; }
    body.experience-modern .image-zoom { padding:10px 13px; }
    body.experience-modern .image-zoom > span:not(:first-child) { font-size:11px; }
    body.experience-modern .footer-links a,body.experience-modern .footer-social a { min-height:44px; }
    body.experience-modern .inner-page .prose { font-size:16px; line-height:1.9; }
}
@media(prefers-reduced-motion:reduce) {
    body.experience-modern :is(.sector-hero-index,.premium-service-index) a > :last-child { transition:none; }
}
body.experience-modern[data-motion="0"] :is(.sector-hero-index,.premium-service-index) a > :last-child { transition:none; }
