/* Top Granite / Phase 3. Load after the approved tokens.css and style.css.
   Shared navigation, footer and material template. No framework or build. */

/* Shared chrome: preserve the approved V5 smoky finish, logo and type. */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.site-header .nav { align-items: center; gap: 18px; }
.site-header .nav > a:not(.btn), .nav-group > summary { min-height: 44px; display: flex; align-items: center; }
.nav-group { position: relative; }
.nav-group > summary { cursor: pointer; list-style: none; gap: 8px; }
.nav-group > summary::-webkit-details-marker { display: none; }
.nav-group > summary::after { content: ''; width: 6px; height: 6px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .15s; }
.nav-group[open] > summary::after { transform: rotate(225deg); }
.nav-panel { position: absolute; top: calc(100% + 12px); left: -22px; min-width: 245px; padding: 12px; background: #252725; color: white; border: 1px solid #ffffff45; box-shadow: var(--shadow); }
.nav-panel a { display: block; padding: 10px 12px; min-height: 44px; font-size: 12px; }
.nav-panel a:hover, .nav-panel a[aria-current='page'] { background: #414240; }
.nav-panel a[aria-current='page'] { box-shadow: inset 3px 0 var(--orange); }
.site-header .nav .btn { padding: 12px 17px; gap: 12px; white-space: nowrap; }
.site-header .phone { font-size: 13px; }
.site-header .phone small { font-size: 8px; }
.site-header .lang-switch { font-size: 11px; font-weight: 700; letter-spacing: .12em; color: #fff; border: 1px solid #ffffff70; border-radius: 4px; padding: 6px 8px; line-height: 1; margin-left: 14px; text-decoration: none; }
.site-header .lang-switch:hover, .site-header .lang-switch:focus-visible { border-color: var(--orange); color: var(--orange); }
@media (min-width: 1101px) and (max-width: 1420px) { .site-header .head { gap: 14px; } .site-header .nav { gap: 13px; } .site-header .phone small { display: none; } .site-header .lang-switch { margin-left: 4px; } }
.site-header .menu { display: none; align-items: center; gap: 8px; }
.site-header .menu svg { width: 16px; height: 16px; }
.site-header :focus-visible { outline-color: white; }
.site-header .btn:focus-visible { outline-color: white; }
.site-footer .footer-brand { display: flex; justify-content: space-between; align-items: center; gap: 32px; border-bottom: 1px solid var(--line); padding-bottom: 30px; margin-bottom: 32px; }
.site-footer .footer-brand img { width: 215px; margin-bottom: 10px; }
.site-footer .footer-brand p { font-size: 11px; }
.site-footer .foot { grid-template-columns: 1fr .8fr .8fr 1.35fr; gap: 32px; }
.site-footer .foot h2 { font-size: 12px; letter-spacing: .1em; font-weight: 600; text-transform: uppercase; margin-bottom: 14px; line-height: 1.5; }
.site-footer .foot a { width: fit-content; padding: 7px 0; }
.site-footer .foot a:hover { text-decoration: underline; text-underline-offset: 4px; }
.site-footer address { font-style: normal; font-size: 12px; color: var(--graphite); margin-bottom: 12px; }
.site-footer .footer-hours { margin-top: 12px; }
.site-footer .areas summary { min-height: 44px; }
.site-footer .areas { padding-top: 16px; }
.site-footer .bottom { border-top: 1px solid var(--line); padding-top: 22px; }
.mobile-bar a { min-height: 46px; }
.mobile-bar .btn { gap: 12px; padding: 12px 14px; white-space: nowrap; }

/* Shared material page. */
.material-page section[id] { scroll-margin-top: 105px; }
.breadcrumb { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; padding-top: 17px; padding-bottom: 17px; font-size: 10px; color: var(--graphite); }
.breadcrumb a { text-decoration: underline; text-underline-offset: 3px; }
.material-hero { padding: 0; }
.material-hero .wrap { padding-top: 58px; padding-bottom: 64px; }
.material-hero .hero-copy { max-width: 665px; }
.material-hero h1 { font-size: clamp(38px, 4.15vw, 58px); max-width: 630px; line-height: 1.1; }
.material-hero .bg { inset: 0; object-position: center 52%; }
.material-hero:after { background: linear-gradient(90deg, #202220f2 0%, #292b29ec 30%, #343634ba 51%, #3436340a 78%); }
.material-hero .hero-copy p { max-width: 530px; font-size: 14px; }
.photo-note { position: absolute; z-index: 2; right: 24px; bottom: 18px; background: #252725ee; color: white; border: 1px solid #ffffff45; padding: 5px 10px; font-size: 9px; letter-spacing: .035em; }
.material-jump { background: var(--paper); border-bottom: 1px solid var(--line); }
.material-jump .wrap { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; padding-top: 12px; padding-bottom: 12px; }
.material-jump span { font-size: 9px; font-weight: 600; letter-spacing: .11em; margin-right: auto; }
.material-jump a { font-size: 11px; padding: 8px 0; }
.material-jump a:hover { text-decoration: underline; text-underline-offset: 4px; }
.material-page .section-head h2 { max-width: 650px; }
.material-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; margin-top: 45px; }
.material-facts article { border-top: 1px solid var(--line); padding-top: 22px; }
.fact-index { display: block; font-size: 9px; letter-spacing: .09em; font-weight: 600; color: var(--graphite); margin-bottom: 16px; }
.material-facts h3 { font-size: 18px; margin-bottom: 12px; }
.material-facts p { font-size: 13px; }
.material-aside { margin-top: 34px; font-size: 12px; padding-left: 17px; border-left: 2px solid var(--orange); }
.material-aside a { text-decoration: underline; text-underline-offset: 3px; }
.grade-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.grade-card { padding: 30px; background: white; border: 1px solid var(--line); display: flex; flex-direction: column; position: relative; }
.grade-card::before { content: ''; position: absolute; left: 30px; top: 0; width: 38px; height: 3px; background: var(--orange); }
.grade-number { color: var(--graphite); font-size: 11px; letter-spacing: .08em; margin-bottom: 25px; }
.grade-card h3 { font-weight: 500; font-size: 29px; letter-spacing: -.035em; }
.grade-card p { font-size: 13px; margin: 17px 0 30px; flex: 1; }
.grade-foot { padding-top: 18px; border-top: 1px solid var(--line); font-size: 9px; font-weight: 600; letter-spacing: .08em; }
.section-tail { display: flex; justify-content: space-between; align-items: center; gap: 30px; margin-top: 28px; }
.section-tail p { font-size: 12px; max-width: 660px; }
.section-tail .textlink { white-space: nowrap; flex-shrink: 0; }
.catalog-note { display: flex; gap: 10px; align-items: center; font-size: 11px; margin: 0 0 22px; }
.placeholder-key { width: 9px; height: 9px; flex-shrink: 0; background: var(--orange); }
.color-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px 22px; }
.color-card { margin: 0; }
.color-card .color-placeholder { position: relative; background: var(--paper); border: 1px solid var(--line); aspect-ratio: 1.48; display: grid; place-items: center; }
.color-placeholder img { width: 66px; height: 50px; opacity: .75; object-fit: contain; }
.color-placeholder span { position: absolute; bottom: 14px; left: 0; right: 0; text-align: center; font-size: 9px; color: var(--graphite); letter-spacing: .1em; }
.color-card h3 { font-size: 14px; margin-top: 14px; }
.color-card p { font-size: 10px; margin-top: 3px; }
.material-detail-layout { display: grid; grid-template-columns: 1.12fr 1fr; align-items: center; gap: 80px; }
.material-detail-copy p { font-size: 13px; margin-top: 22px; }
.material-detail-copy strong { font-weight: 600; color: var(--ink); }
.material-detail-copy .textlink { margin-top: 22px; }
.thickness-figure { border: 1px solid var(--line); background: white; padding: 34px; }
.thickness-caption { font-size: 10px; letter-spacing: .12em; font-weight: 600; padding-bottom: 25px; border-bottom: 1px solid var(--line); }
.thickness-row { display: flex; align-items: center; gap: 26px; margin: 40px 0; }
.thickness-row b { font-size: 28px; font-weight: 500; letter-spacing: -.03em; }
.thickness-row small { display: block; color: var(--graphite); font-size: 10px; white-space: nowrap; }
.slab-profile { width: 60%; height: 66px; position: relative; }
.slab-profile:before { content: ''; position: absolute; top: 0; left: 0; right: 20px; height: 34px; border: 1.5px solid var(--graphite); background: var(--paper); transform: skewX(-30deg); transform-origin: bottom left; }
.slab-profile span { display: block; position: absolute; top: 34px; height: 16px; left: 0; right: 20px; border: 1.5px solid var(--graphite); border-top: 0; background: #e6e6e3; }
.slab-profile-three span { height: 24px; }
.slab-profile span:after { content: ''; position: absolute; right: -24px; top: -1px; width: 4px; height: calc(100% + 1px); background: var(--orange); }
.thickness-key { font-size: 10px; color: var(--graphite); border-top: 1px solid var(--line); padding-top: 20px; }
.material-care-layout { display: grid; grid-template-columns: 1fr 1.12fr; gap: 80px; align-items: center; }
.care-photo { margin: 0; position: relative; }
.care-photo img { height: 560px; object-position: center 55%; }
.care-photo figcaption { position: absolute; bottom: 16px; left: 16px; background: #252725f0; color: white; font-size: 9px; padding: 5px 10px; }
.care-block { padding-top: 24px; margin-top: 25px; border-top: 1px solid var(--line); }
.care-block h3 { font-size: 15px; }
.care-block ul { padding-left: 18px; margin: 12px 0 0; color: var(--graphite); font-size: 13px; }
.care-block li { padding-left: 5px; margin: 8px 0; }
.care-block li::marker { color: var(--graphite); }
.material-care-copy > .textlink { margin-top: 15px; }
.material-budget { background: var(--graphite); color: white; }
.material-budget-layout { display: grid; grid-template-columns: 1.1fr 1fr; gap: 85px; align-items: center; }
.material-budget h2 { font-size: clamp(32px, 3.3vw, 46px); }
.material-budget p { color: white; font-size: 14px; margin-bottom: 26px; }
.budget-small { display: block; margin-top: 15px; font-size: 10px; }
.material-faq { grid-template-columns: .9fr 1.1fr; gap: 90px; }
.material-faq h2 { max-width: 440px; }
.material-faq summary { position: relative; list-style: none; padding-right: 35px; min-height: 30px; display: flex; align-items: center; }
.material-faq summary::-webkit-details-marker { display: none; }
.material-faq summary::after { content: '+'; position: absolute; right: 4px; font-size: 22px; font-weight: 400; }
.material-faq details[open] summary::after { content: '−'; }
.material-faq details:first-child { border-top: 1px solid var(--line); }
.material-faq details p { padding-right: 20px; line-height: 1.8; }
.material-final .wrap { align-items: center; }
.material-final h2 { font-size: clamp(32px, 3.1vw, 44px); }
.material-final .eyebrow:before { background: var(--ink); }
.material-final .actions { flex-shrink: 0; }
.material-final .btn { margin-top: 0; }
.material-page .textlink:hover { color: black; }

@media (max-width: 1100px) {
  .site-header .head { height: 98px; flex-wrap: wrap; gap: 4px 12px; justify-content: space-between; align-content: center; }
  .site-header .brand-lockup { width: calc(100% - 92px); gap: 6px; }
  .site-header .brand-lockup .logo { width: 213px; max-width: 100%; }
  .site-header .brand-lockup > span { padding-left: 55px; font-size: 7px; letter-spacing: .005em; }
  .site-header .menu { display: flex; align-self: flex-start; background: transparent; color: white; border-color: #ffffff70; font-size: 11px; min-height: 40px; padding: 8px 10px; }
  .site-header .head > .phone { font-size: 10px; position: absolute; right: 5%; bottom: 9px; }
  .site-header .head > .phone small { display: none; }
  .site-header .lang-switch { position: absolute; left: 5%; bottom: 9px; margin: 0; font-size: 10px; padding: 5px 7px; }
  .site-header .nav { display: none; position: absolute; top: 98px; left: 0; right: 0; flex-direction: column; align-items: stretch; background: #252725; padding: 18px 5% 24px; gap: 0; border-bottom: 1px solid #ffffff45; max-height: calc(100dvh - 170px); overflow-y: auto; }
  .site-header .nav.open { display: flex; }
  .site-header .nav > a:not(.btn), .nav-group > summary { font-size: 13px; min-height: 48px; }
  .nav-group > summary { justify-content: space-between; }
  .nav-group { border-bottom: 1px solid #ffffff35; }
  .nav-panel { position: static; border: 0; border-left: 2px solid var(--orange); box-shadow: none; margin: 0 0 16px; padding: 0 0 0 8px; }
  .site-header .nav .btn { align-self: flex-start; margin-top: 12px; }
  .material-jump .wrap { gap: 10px 22px; }
  .material-jump span { flex-basis: 100%; margin: 0; }
  .material-facts { grid-template-columns: repeat(2, 1fr); }
  .material-detail-layout, .material-care-layout, .material-budget-layout, .material-faq { gap: 40px; }
  .material-final .wrap { flex-wrap: wrap; }
  .grade-card { padding: 25px; }
  .site-footer .foot { grid-template-columns: 1fr 1fr; gap: 30px; }
}
@media (max-width: 760px) {
  .material-page section[id] { scroll-margin-top: 98px; }
  .breadcrumb { font-size: 9px; gap: 9px; padding-top: 13px; padding-bottom: 13px; }
  .material-hero .wrap { padding-top: 44px; padding-bottom: 67px; }
  .material-hero .hero-copy h1 { font-size: clamp(34px, 8.8vw, 48px); }
  .material-hero:after { background: #252725de; }
  .material-hero .bg { object-position: 64% center; }
  .material-hero .hero-copy p { font-size: 13px; }
  .material-hero .actions { gap: 10px; }
  .photo-note { right: 5%; bottom: 16px; font-size: 8px; }
  .material-jump .wrap { gap: 2px 19px; padding-top: 16px; padding-bottom: 12px; }
  .material-jump span { margin-bottom: 6px; }
  .material-jump a { font-size: 10px; min-height: 36px; display: flex; align-items: center; }
  .desktop-break { display: none; }
  .material-facts { gap: 24px 20px; margin-top: 30px; }
  .material-facts h3 { font-size: 16px; }
  .material-facts p { font-size: 12px; }
  .fact-index { font-size: 8px; }
  .grade-grid { grid-template-columns: 1fr; gap: 15px; }
  .grade-card { padding: 25px; }
  .grade-number { margin-bottom: 12px; }
  .grade-card p { margin-bottom: 20px; }
  .section-tail { display: block; }
  .section-tail .textlink { margin-top: 15px; white-space: normal; }
  .color-grid { grid-template-columns: 1fr 1fr; gap: 22px 14px; }
  .color-placeholder img { width: 50px; height: 36px; margin-bottom: 14px; }
  .color-placeholder span { font-size: 8px; bottom: 10px; }
  .color-card h3 { font-size: 12px; margin-top: 10px; }
  .color-card p { font-size: 9px; }
  .catalog-note { align-items: flex-start; font-size: 10px; }
  .placeholder-key { margin-top: 5px; }
  .material-detail-layout, .material-care-layout, .material-budget-layout, .material-faq { grid-template-columns: 1fr; gap: 32px; }
  .material-detail-copy p { margin-top: 20px; }
  .thickness-figure { padding: 25px; }
  .thickness-row { gap: 20px; }
  .material-care-copy { grid-row: 1; }
  .care-photo img { height: 330px; }
  .material-budget h2 { font-size: 34px; }
  .material-budget p { font-size: 13px; }
  .material-final .actions { margin-top: 28px; display: grid; gap: 12px; }
  .material-final .btn { justify-content: center; }
  .site-footer .footer-brand { align-items: flex-start; flex-direction: column; gap: 18px; }
  .site-footer .foot { gap: 32px 22px; }
  .site-footer .footer-contact { grid-column: 1 / -1; border-top: 1px solid var(--line); padding-top: 26px; }
  .site-footer .foot a { min-height: 36px; font-size: 11px; }
  .site-footer .foot h2 { margin-bottom: 9px; font-size: 11px; }
}
@media (max-width: 360px) {
  .site-header .brand-lockup .logo { width: 185px; }
  .site-header .brand-lockup > span { padding-left: 47px; font-size: 6px; }
  .material-facts { grid-template-columns: 1fr; }
  .color-placeholder img { width: 42px; }
  .thickness-row small { white-space: normal; }
}

/* V6 / Home-led shared direction: official brand, lighter accents, purposeful motion. */
:root { --peach: #fff2e8; --warm-line: #ebd9c9; --green: #25774a; }
button { color: inherit; }
.plain-button { background: none; border: 0; border-bottom: 1px solid; border-radius: 0; }
.site-header .head { height: 114px; gap: 25px; }
.site-header .brand-v6, .brand-v6 { display: flex; flex-direction: row; align-items: center; width: 292px; gap: 13px; flex-shrink: 0; }
.brand-v6 .brand-mark { width: 53px; height: 70px; object-fit: contain; }
.brand-v6 > .brand-type { display: flex; flex-direction: column; gap: 6px; padding: 0; width: 226px; white-space: normal; }
.site-header .brand-v6 > .brand-type { padding: 0; }
.brand-type > img { width: 100%; height: auto; object-fit: contain; }
.brand-v6 .brand-slogan { font-size: 10px; line-height: 1.55; font-weight: 500; letter-spacing: 1.45px; text-align: center; color: white; display: block; }
.site-header .brand-slogan { animation: craft-in 1.25s .15s both; }
@keyframes craft-in { from { opacity: 0; clip-path: inset(0 100% 0 0); transform: translateY(3px); } to { opacity: 1; clip-path: inset(0); transform: none; } }
.site-header .nav { gap: 16px; }
.site-header .nav .btn { padding: 12px 15px; }
.site-header .phone { font-size: 12px; }
.site-header .phone small { font-size: 7px; }
.btn { position: relative; overflow: hidden; transition: transform .22s, box-shadow .22s, background .22s; isolation: isolate; }
.btn:hover { filter: none; transform: translateY(-2px); box-shadow: 0 9px 22px #25272515; }
.btn:active { transform: translateY(0); }
.btn.shine:after, .site-header .nav .btn:after { content: ''; position: absolute; pointer-events: none; top: -80%; bottom: -80%; left: -80%; width: 30%; background: linear-gradient(90deg,transparent,#fff8,transparent); transform: rotate(22deg); transition: left .65s; z-index: -1; }
.btn.shine:hover:after, .btn.shine:focus-visible:after, .site-header .nav .btn:hover:after { left: 150%; }
.home-hero { padding: 0; }
.home-hero .bg { inset: 0; }
.home-hero .wrap { padding-top: 100px; padding-bottom: 96px; }
.home-hero .bg { object-position: 70% 52%; }
.home-hero:after { background: linear-gradient(90deg,#232523f7 0%,#262825de 40%,#26282535 75%,#26282515); }
.home-hero h1 { max-width: 740px; font-size: clamp(45px,4.9vw,66px); }
.home-hero .hero-copy { max-width: 730px; }
.home-hero .hero-copy > p:not(.small) { max-width: 570px; line-height: 1.9; margin: 28px 0; }
.hero-credit { position: absolute; bottom: 18px; right: 5%; color: #fff; font-size: 8px; letter-spacing: .11em; z-index: 2; text-shadow: 0 1px 4px #000; }
.home-hero .small { font-size: 11px; line-height: 1.8; }
.trust-strip { display: grid; grid-template-columns: repeat(4,1fr); gap: 26px; padding-top: 35px; padding-bottom: 35px; border-bottom: 1px solid var(--line); }
.trust-item { border-right: 1px solid var(--line); padding-right: 20px; }
.trust-item:last-child { border: 0; padding: 0; }
.trust-top { display: flex; align-items: center; gap: 10px; min-height: 37px; margin-bottom: 10px; }
.trust-top > img { width: 145px; height: auto; }
.trust-top b { font-size: 11px; font-weight: 500; }
.trust-item > strong { display: block; font-size: 12px; line-height: 1.5; font-weight: 600; }
.trust-item > span { display: block; font-size: 10px; color: var(--graphite); margin-top: 4px; }
.trust-icon { width: 36px; height: 31px; flex-shrink: 0; color: var(--graphite); }
.verified-check { width: 25px; height: 25px; flex-shrink: 0; fill: none; stroke: var(--green); stroke-width: 2; }
.verified-check path { stroke-dasharray: 26; stroke-dashoffset: 0; animation: verify-in 1.5s .6s both; }
@keyframes verify-in { from { stroke-dashoffset: 26; } to { stroke-dashoffset: 0; } }
.google-g { font-family: Arial,sans-serif; font-size: 31px; font-weight: 700; line-height: 1.2; color: #4285f4; display: inline-block; }
.google-g img { width: 27px; height: 27px; object-fit: contain; }
.trust-top .google-g img { width: 28px; height: 28px; }
.stars { color: #9b6300; font-size: 17px; letter-spacing: .1em; }
.home-projects { padding-bottom: 85px; }
.project-metric { display: flex; align-items: center; gap: 22px; }
.project-metric strong { font-size: 62px; font-weight: 400; line-height: 1; letter-spacing: -.06em; }
.project-metric p { font-size: 11px; border-left: 2px solid var(--orange); padding-left: 18px; }
.customer-mosaic { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; gap: 18px; margin-top: 42px; }
.customer-mosaic button { position: relative; padding: 0; border: 0; overflow: hidden; background: var(--ink); text-align: left; }
.customer-mosaic img { height: 330px; transition: transform .6s; object-position: 50% 35%; }
.customer-mosaic button:hover img { transform: scale(1.04); }
.customer-mosaic button > span { display: flex; justify-content: space-between; gap: 10px; padding: 18px 16px; color: white; font-size: 10px; min-height: 70px; align-items: center; }
.customer-mosaic b { font-size: 18px; font-weight: 400; }
.budget-section { background: linear-gradient(115deg,#fff7f0,#f5f5f5 80%); border-block: 1px solid #efe8e0; }
.budget-section .split { gap: 90px; }
.budget-section h2 { font-size: clamp(35px,3.6vw,50px); }
.budget-promise { font-size: 17px!important; color: var(--ink); }
.budget-section .planner-card { box-shadow: 0 16px 60px #5757560b; }
.planner-card .btn { justify-content: space-between; }
.section-intro { margin-top: 24px; font-size: 14px; }
.explore-layout { display: grid; grid-template-columns: .62fr 1.6fr; gap: 36px; }
.detail-tabs { display: flex; flex-direction: column; border-top: 1px solid var(--line); }
.detail-tabs button, .service-selector button { display: flex; align-items: center; text-align: left; gap: 14px; border: 0; border-bottom: 1px solid var(--line); padding: 25px 14px; background: white; font-size: 13px; min-height: 80px; transition: background .2s,padding .2s; }
.detail-tabs button small, .service-selector button small { font-size: 10px; color: var(--graphite); }
.detail-tabs button b, .service-selector button b { font-weight: 500; }
.detail-tabs button > span, .service-selector button > span { margin-left: auto; }
.detail-tabs button[aria-selected=true], .service-selector button[aria-selected=true] { background: var(--peach); box-shadow: inset 3px 0 var(--orange); padding-left: 21px; }
.detail-panel { display: grid; grid-template-columns: 1fr 1fr; background: var(--paper); min-height: 425px; }
.detail-panel > img { height: 100%; min-height: 425px; max-height: 480px; object-fit: cover; }
.detail-panel > div { padding: 28px; align-self: center; }
.detail-panel .eyebrow { font-size: 9px; letter-spacing: .09em; }
.detail-panel h3, .material-comparison-panel h3, .service-panel h3 { font-size: 25px; line-height: 1.25; font-weight: 500; letter-spacing: -.025em; }
.detail-panel p, .detail-panel li { font-size: 12px; }
.detail-panel p { margin: 18px 0; }
.detail-panel ul, .material-comparison-panel ul { padding-left: 17px; color: var(--graphite); }
.detail-panel li { margin: 8px 0; }
.detail-panel .textlink { font-size: 11px; }
.benefit-list { padding: 0; list-style: none; margin: 25px 0; }
.benefit-list li { border-top: 1px solid var(--line); padding: 12px 0 12px 25px; font-size: 12px; position: relative; }
.benefit-list li:before { content: '✓'; position: absolute; left: 0; color: var(--green); }
.home-story { min-width: 0; }
.story-slides figure { margin: 0; position: relative; }
.story-slides img { height: 395px; object-fit: cover; }
.story-slides figure:nth-child(2) img { object-position: 50% 30%; }
.story-slides figcaption { position: absolute; bottom: 0; padding: 24px; background: linear-gradient(transparent,#202220ed); color: white; font-size: 12px; width: 100%; }
.carousel-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 10px; color: var(--graphite); margin-top: 15px; }
.carousel-bar > div { display: flex; gap: 6px; }
.carousel-bar button { border: 1px solid var(--line); background: white; min-width: 40px; height: 40px; padding: 0 12px; font-size: 10px; }
.carousel-bar button:hover { border-color: var(--graphite); }
.video { font-size: 13px; padding: 18px 20px; margin-top: 20px; }
.video-arrow { margin-left: auto; font-size: 21px; }
.review-section { margin-top: 55px; border-top: 1px solid var(--line); padding-top: 32px; }
.reviews-top .carousel-bar { margin: 0; }
.google-review { background: white; border: 1px solid #e0e2e4; border-radius: 9px; padding: 30px 36px; min-height: 255px; max-width: 100%; }
.google-review .review-person { max-width: none; }
.google-review .google-g { margin-left: auto; font-size: 27px; }
.google-review > .stars { display: block; font-size: 15px; margin-top: 13px; }
.google-review blockquote { font-size: 16px; line-height: 1.9; margin: 15px 0; max-width: 1050px; }
.google-review > a { font-size: 10px; color: var(--graphite); text-decoration: underline; text-underline-offset: 3px; }
[data-slide]:not([hidden]), [role=tabpanel]:not([hidden]) { animation: soft-enter .4s ease both; }
@keyframes soft-enter { from { opacity: .25; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.journey-v6 .journey-tabs { gap: 8px; }
.journey-v6 .journey-tabs button { min-height: 102px; justify-content: center; gap: 7px; padding: 17px 10px; }
.journey-v6 .journey-tabs button > span { display: none; }
.journey-v6 .journey-tabs b { font-weight: 500; font-size: 12px; }
.journey-v6 .journey-tabs small { color: var(--graphite); }
.journey-card { display: grid; grid-template-columns: 1fr 1.04fr; min-height: 380px; margin-top: 22px; background: var(--paper); }
.journey-photo { position: relative; }
.journey-photo img { height: 390px; object-position: 50% 40%; }
.journey-photo > span { position: absolute; left: 22px; bottom: 20px; color: white; background: #252725e8; padding: 9px 13px; font-size: 10px; letter-spacing: .08em; }
.journey-copy { padding: 40px; align-self: center; }
.journey-copy h3 { font-size: 31px; font-weight: 500; letter-spacing: -.03em; }
.journey-copy p { margin-top: 20px; font-size: 13px; }
.journey-copy .textlink { margin-top: 20px; }
.journey-bottom { display: flex; align-items: center; justify-content: space-between; margin-top: 16px; gap: 20px; font-size: 10px; color: var(--graphite); }
.journey-bottom button { border: 0; background: none; padding: 8px 0; font-size: 11px; }
.material-priorities { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 28px 0 14px; }
.material-priorities > span { font-size: 9px; letter-spacing: .07em; margin-right: 10px; }
.material-priorities button, .color-filters button, .thickness-controls button, .help-filters button { border: 1px solid var(--line); background: white; font-size: 11px; padding: 11px 15px; border-radius: 3px; min-height: 42px; }
.material-priorities button[aria-pressed=true], .color-filters button[aria-pressed=true], .thickness-controls button[aria-pressed=true], .help-filters button[aria-pressed=true] { background: var(--ink); border-color: var(--ink); color: white; }
.priority-guidance { font-size: 12px; min-height: 44px; max-width: 800px; margin-bottom: 22px; }
.material-tabs { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; }
.material-tabs button { display: flex; justify-content: space-between; padding: 20px 25px; border: 1px solid var(--line); background: white; font-size: 14px; border-right: 0; border-bottom: 3px solid var(--line); }
.material-tabs button:last-child { border-right: 1px solid var(--line); }
.material-tabs button[aria-selected=true] { background: var(--peach); border-bottom-color: var(--orange); }
.material-tabs b { font-weight: 500; }
.material-comparison-panel { display: grid; grid-template-columns: 1fr 1fr; background: white; border: 1px solid var(--line); border-top: 0; }
.material-comparison-panel figure { margin: 0; position: relative; }
.material-comparison-panel figure > img { height: 100%; min-height: 510px; object-fit: cover; }
.material-comparison-panel figcaption { background: #252725ed; color: white; font-size: 9px; position: absolute; bottom: 0; padding: 12px 20px; width: 100%; }
.material-comparison-panel > div { padding: 40px; }
.material-comparison-panel p, .material-comparison-panel li { font-size: 13px; }
.material-comparison-panel p { margin: 18px 0; }
.material-comparison-panel ul { margin: 24px 0; }
.material-comparison-panel li { margin: 7px 0; }
.material-tradeoff { border-left: 2px solid var(--orange); padding-left: 17px; }
.material-tradeoff b { color: var(--ink); font-weight: 600; }
.material-comparison-panel .actions { margin-top: 27px; }
.material-comparison-panel .btn { font-size: 11px; }
.service-layout { display: grid; grid-template-columns: .63fr 1.65fr; gap: 36px; }
.service-selector { display: flex; flex-direction: column; border-top: 1px solid var(--line); }
.service-panel { display: grid; grid-template-columns: 1fr 1.1fr; background: var(--paper); min-height: 404px; }
.service-panel > img { height: 100%; min-height: 404px; }
.service-panel > div { padding: 32px; align-self: center; }
.service-panel p { font-size: 12px; margin: 20px 0; }
.service-next { border-top: 1px solid var(--line); padding-top: 15px; }
.soft-cta { background: #fff2e8; position: relative; border-top: 1px solid var(--warm-line); border-bottom: 1px solid var(--warm-line); padding: 72px 0; }
.soft-cta > .wrap { display: grid; grid-template-columns: 1.1fr 1fr; gap: 80px; align-items: center; }
.soft-cta h2 { font-size: clamp(34px,3.7vw,49px); }
.soft-cta p { margin-top: 22px; font-size: 13px; }
.cta-options { display: grid; gap: 12px; }
.cta-option { display: block; width: 100%; text-align: left; background: #ffffffb8; border: 1px solid #e6d7ca; padding: 20px 25px; transition: transform .2s, background .2s, border-color .2s; }
.cta-option:hover { transform: translateX(4px); background: white; border-color: var(--orange); }
.option-index { display: block; font-size: 8px; letter-spacing: .1em; color: var(--graphite); margin-bottom: 8px; }
.cta-option strong { display: flex; justify-content: space-between; gap: 20px; font-size: 15px; font-weight: 600; }
.cta-option small { display: block; font-size: 10px; color: var(--graphite); margin-top: 5px; }
.cta-options > .textlink { justify-self: end; font-size: 11px; }
.contact-panel { grid-template-columns: 1.25fr 1fr; gap: 40px; }
.signature .brand-v6 { width: min(100%,292px); }
.signature .brand-v6 img { max-width: none; margin: 0; }
.signature .brand-v6 .brand-mark { width: 53px; height: 70px; }
.signature .brand-type { flex: 1; min-width: 0; }
.signature .brand-type > img { width: 100%; height: auto; }
.signature .btn { margin-top: 38px; font-size: 11px; }
.map-link { border-top: 1px solid #ffffff50; border-bottom: 1px solid #ffffff50; padding: 18px 0; display: flex; gap: 18px; align-items: center; margin-top: 25px; }
.map-link > span:first-child { font-size: 32px; }
.map-link b { font-size: 12px; font-weight: 500; }
.map-link small { display: block; font-size: 10px; margin-top: 4px; }
.photo-dialog { max-width: 950px; background: #252725; color: white; padding: 25px; }
.photo-dialog > img { height: min(68vh,720px); object-fit: contain; }
.photo-dialog p { color: white; font-size: 12px; }
.photo-dialog .close { color: white; }
.video-dialog { max-width: 900px; }
#video-frame { aspect-ratio: 16/9; background: #171717; }
#video-frame iframe { width: 100%; height: 100%; border: 0; }
.material-hero h1 { max-width: 700px; }
.material-budget { background: #f5f5f5; color: var(--ink); border-block: 1px solid var(--line); }
.material-budget p { color: var(--graphite); }
.material-budget .budget-small { color: var(--graphite); }
.grade-card { transition: border-color .2s, transform .2s; }
.grade-card:has([aria-pressed=true]) { border-color: var(--orange); transform: translateY(-4px); }
.grade-pick { display: flex; justify-content: space-between; align-items: center; min-height: 44px; border: 0; border-top: 1px solid var(--line); padding: 15px 0 0; text-align: left; background: none; font-size: 12px; }
.grade-feedback { padding: 18px 20px; font-size: 12px; margin-top: 22px; background: var(--peach); border-left: 2px solid var(--orange); }
.color-filters { display: flex; gap: 8px; margin: 22px 0; flex-wrap: wrap; }
.color-card-title { display: flex; align-items: center; justify-content: space-between; gap: 7px; margin-top: 10px; }
.color-card-title h3 { margin: 0; }
.favorite { background: white; border: 1px solid var(--line); width: 38px; height: 38px; font-size: 20px; flex-shrink: 0; }
.favorite[aria-pressed=true] { background: var(--peach); border-color: var(--orange); }
.shortlist { display: flex; justify-content: space-between; gap: 25px; align-items: center; background: var(--paper); padding: 18px 24px; margin-top: 30px; }
.shortlist p { font-size: 11px; }
.shortlist button { white-space: nowrap; font-size: 11px; }
.thickness-controls { display: flex; gap: 8px; margin-bottom: 25px; }
[data-thickness-row] { transition: opacity .2s, transform .2s; }
[data-thickness-row='3'] { opacity: .38; }
.help-hero { background: linear-gradient(110deg,#fff4eb,#f5f5f5 75%); text-align: center; padding: 76px 0 60px; }
.help-hero h1 { font-size: clamp(38px,4.3vw,59px); }
.help-hero p { font-size: 14px; margin-top: 25px; }
.search-label { display: block; font-size: 12px; margin-top: 32px; }
.help-search { position: relative; margin: 10px auto 0; max-width: 660px; }
.help-search input { height: 58px; background: white; border-color: #b9b5b0; margin: 0; padding: 15px 54px 15px 20px; font-size: 14px; border-radius: 0; }
.help-search input::-webkit-search-cancel-button { display: none; }
.help-search button { position: absolute; right: 6px; top: 7px; width: 43px; height: 43px; background: white; border: 0; font-size: 24px; }
#faq-results { font-size: 11px; margin-top: 14px; }
.help-content { padding-top: 40px; }
.help-filters { display: flex; flex-wrap: wrap; gap: 9px; padding-bottom: 40px; border-bottom: 1px solid var(--line); }
.help-grid { display: grid; grid-template-columns: .6fr 1.4fr; gap: 85px; padding-top: 55px; align-items: start; }
.help-grid aside { position: sticky; top: 155px; }
.help-grid aside h2 { font-size: 36px; }
.help-grid aside p { font-size: 13px; margin: 22px 0; }
.help-grid aside .textlink { display: table; margin-top: 18px; }
.help-category { margin-bottom: 42px; }
.help-category > h2 { font-size: 23px; letter-spacing: -.02em; margin-bottom: 15px; }
.help-answers details { padding: 19px 0; }
.help-answers summary { list-style: none; position: relative; padding-right: 30px; }
.help-answers summary::-webkit-details-marker { display: none; }
.help-answers summary:after { content: '+'; position: absolute; right: 0; font-size: 20px; top: -5px; }
.help-answers details[open] summary:after { content: '−'; }
.help-answers details p { line-height: 1.85; }
#faq-empty h2 { font-size: 30px; }
#faq-empty p { margin: 22px 0; }
@media (min-width:1101px) and (max-width:1240px) {
  .site-header .head { gap: 15px; }
  .site-header .brand-v6 { width: 255px; gap: 10px; }
  .site-header .brand-type { width: 198px; }
  .site-header .brand-mark { width: 47px; height: 63px; }
  .site-header .nav { gap: 12px; font-size: 11px; }
  .site-header .phone small { display: none; }
}
@media (max-width:1100px) {
  .site-header .head { height: 106px; }
  .site-header .brand-v6 { width: 270px; flex-direction: row; gap: 12px; }
  .site-header .brand-type { width: 206px; padding: 0; }
  .site-header .brand-mark { width: 49px; height: 65px; }
  .site-header .brand-slogan { font-size: 9px; letter-spacing: 1.2px; }
  .site-header .menu { align-self: center; margin-bottom: 12px; }
  .site-header .nav { top: 106px; }
  .trust-strip { gap: 20px; grid-template-columns: repeat(2,1fr); }
  .trust-item:nth-child(2) { border: 0; }
  .customer-mosaic { gap: 12px; }
  .customer-mosaic img { height: 270px; }
  .project-metric { flex-direction: column; align-items: start; gap: 16px; }
  .project-metric strong { font-size: 50px; }
  .budget-section .split { gap: 40px; }
  .explore-layout, .service-layout { grid-template-columns: .65fr 1.4fr; gap: 20px; }
  .detail-panel { grid-template-columns: 1fr; }
  .detail-panel > img { min-height: 0; height: 240px; }
  .detail-tabs button { min-height: 95px; }
  .service-panel { grid-template-columns: 1fr; }
  .service-panel > img { min-height: 0; height: 230px; }
  .journey-copy { padding: 30px; }
  .material-comparison-panel > div { padding: 28px; }
  .soft-cta > .wrap { gap: 40px; }
  .contact-panel { grid-template-columns: 1.2fr .9fr; gap: 25px; padding: 30px; }
  .signature { padding: 20px; }
  .signature .brand-v6 { flex-direction: column; width: 220px; }
  .signature .brand-type { width: 100%; }
  .help-grid { gap: 45px; }
}
@media (max-width:760px) {
  .site-header .head { height: 106px; gap: 8px; }
  .site-header .brand-v6 { width: 244px; gap: 10px; }
  .site-header .brand-mark { width: 43px; height: 60px; }
  .site-header .brand-type { width: 185px; gap: 5px; padding: 0; }
  .site-header .brand-slogan { font-size: 8.5px; letter-spacing: 1px; }
  .site-header .menu { padding: 8px; font-size: 10px; }
  .site-header .head > .phone { bottom: 7px; }
  .home-hero .wrap { padding-top: 62px; padding-bottom: 67px; }
  .home-hero h1 { font-size: clamp(40px,9.8vw,59px); }
  .home-hero h1 br { display: none; }
  .home-hero:after { background: linear-gradient(90deg,#232523f0,#232523bb); }
  .home-hero .eyebrow { font-size: 9px; letter-spacing: .10em; }
  .home-hero .hero-copy > p:not(.small) { font-size: 13px; margin: 24px 0; }
  .home-hero .small { font-size: 10px; }
  .hero-credit { left: 5%; right: auto; font-size: 7px; bottom: 17px; }
  .trust-strip { gap: 27px 20px; padding-top: 30px; padding-bottom: 30px; }
  .trust-item { padding-right: 10px; }
  .trust-top { flex-wrap: wrap; gap: 7px; align-items: center; }
  .trust-top > img { width: 103px; }
  .verified-check { width: 20px; height: 20px; }
  .trust-top b { font-size: 9px; }
  .trust-item > strong { font-size: 11px; }
  .trust-item > span { font-size: 9px; }
  .trust-top .stars { font-size: 14px; }
  .home-projects { padding-bottom: 60px; }
  .home-projects .section-head { margin-bottom: 28px; }
  .project-metric { flex-direction: row; gap: 20px; align-items: center; margin-top: 28px; }
  .project-metric strong { font-size: 51px; }
  .project-metric p { font-size: 10px; margin: 0; padding-left: 13px; }
  .customer-mosaic { grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 30px; }
  .customer-mosaic img { height: 235px; }
  .customer-mosaic button > span { padding: 12px; font-size: 9px; min-height: 68px; }
  .budget-section .split { gap: 30px; }
  .budget-section h2 { font-size: 36px; }
  .budget-section .split p { font-size: 13px; }
  .budget-section .planner-card { padding: 25px; }
  .explore-layout, .service-layout { grid-template-columns: 1fr; gap: 22px; }
  .detail-tabs { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); }
  .detail-tabs button { font-size: 11px; min-height: 68px; padding: 14px 12px; gap: 8px; }
  .detail-tabs button[aria-selected=true] { padding-left: 12px; }
  .detail-tabs button:last-child { grid-column: 1/-1; }
  .detail-panel { min-height: 0; }
  .detail-panel > div { padding: 25px; }
  .detail-panel > img { height: 250px; }
  .story-slides img { height: 340px; }
  .home-story { margin-top: 8px; }
  .review-section { margin-top: 40px; }
  .google-review { padding: 25px; min-height: 380px; }
  .google-review blockquote { font-size: 14px; line-height: 1.85; }
  .reviews-top { gap: 14px; }
  .reviews-top .carousel-bar { width: 100%; }
  .journey-v6 .journey-tabs { grid-template-columns: repeat(3,1fr); gap: 7px; }
  .journey-v6 .journey-tabs button { min-height: 83px; padding: 12px 7px; }
  .journey-v6 .journey-tabs b { font-size: 10px; }
  .journey-card { grid-template-columns: 1fr; }
  .journey-photo img { height: 280px; }
  .journey-copy { padding: 28px; min-height: 365px; }
  .journey-copy h3 { font-size: 27px; }
  .journey-bottom { align-items: center; font-size: 9px; gap: 15px; }
  .journey-bottom span { max-width: 60%; }
  .material-priorities > span { width: 100%; }
  .material-priorities button { padding: 11px 12px; font-size: 10px; }
  .priority-guidance { font-size: 11px; min-height: 63px; }
  .material-tabs button { padding: 16px 8px; font-size: 11px; justify-content: center; }
  .material-tabs button > span { display: none; }
  .material-comparison-panel { grid-template-columns: 1fr; }
  .material-comparison-panel figure > img { min-height: 0; height: 285px; }
  .material-comparison-panel > div { padding: 26px; }
  .material-comparison-panel figcaption { font-size: 8px; padding: 10px 14px; }
  .material-comparison-panel .actions { gap: 18px; }
  .service-selector { display: flex; flex-direction: row; overflow-x: auto; border: 1px solid var(--line); }
  .service-selector button { min-height: 65px; flex: 0 0 auto; padding: 16px 18px; font-size: 11px; }
  .service-selector button[aria-selected=true] { padding-left: 18px; box-shadow: inset 0 -3px var(--orange); }
  .service-selector button > small, .service-selector button > span { display: none; }
  .service-panel { grid-template-columns: 1fr; }
  .service-panel > div { padding: 26px; }
  .service-panel > img { height: 240px; }
  .soft-cta { padding: 60px 0; }
  .soft-cta > .wrap { grid-template-columns: 1fr; gap: 30px; }
  .soft-cta h2 { font-size: 36px; }
  .cta-option { padding: 20px; }
  .cta-option strong { font-size: 13px; }
  .cta-option small { font-size: 10px; }
  .contact-panel { grid-template-columns: 1fr; padding: 25px; }
  .signature .brand-v6 { flex-direction: row; width: 260px; gap: 12px; }
  .signature .brand-type { width: 194px; }
  .signature { padding: 35px 0 15px; }
  .signature .btn { margin-top: 27px; }
  .shortlist { display: block; padding: 18px; }
  .shortlist button { margin-top: 10px; white-space: normal; }
  .color-card-title h3 { font-size: 11px; }
  .favorite { width: 33px; height: 33px; font-size: 18px; }
  .color-filters button { font-size: 10px; padding: 10px 13px; }
  .help-hero { padding: 55px 0 40px; }
  .help-hero h1 { font-size: 39px; }
  .help-hero p { font-size: 12px; }
  .help-hero p br { display: none; }
  .help-search input { font-size: 16px; }
  .help-content { padding-top: 27px; }
  .help-filters { gap: 8px; padding-bottom: 27px; }
  .help-filters button { font-size: 10px; padding: 10px 12px; }
  .help-grid { grid-template-columns: 1fr; gap: 40px; padding-top: 35px; }
  .help-grid aside { position: static; order: 2; background: var(--paper); padding: 28px; }
  .help-grid aside h2 { font-size: 30px; }
  .help-category > h2 { font-size: 23px; }
}
@media (max-width:360px) {
  .site-header .brand-v6 { width: 207px; gap: 8px; }
  .site-header .brand-mark { width: 38px; height: 55px; }
  .site-header .brand-type { width: 161px; }
  .site-header .brand-slogan { font-size: 7.5px; letter-spacing: .65px; }
  .site-header .menu svg { width: 13px; }
  .site-header .menu { gap: 4px; padding: 7px; }
  .trust-strip { gap: 25px 14px; }
  .trust-top > img { width: 95px; }
  .trust-top { gap: 3px; }
  .verified-check { width: 18px; }
  .customer-mosaic img { height: 195px; }
  .signature .brand-v6 { width: 235px; }
  .signature .brand-v6 .brand-mark { width: 43px; height: 58px; }
  .signature .brand-slogan { font-size: 8px; letter-spacing: .65px; }
  .signature .brand-type { width: 175px; }
  .planner-card .btn { font-size: 11px; gap: 12px; }
}
@media (prefers-reduced-motion:reduce) {
  *, *:before, *:after { animation: none!important; transition: none!important; scroll-behavior: auto!important; }
  .btn:hover, .cta-option:hover, .customer-mosaic button:hover img { transform: none; }
}

/* V7 / owner reference: live-site orange, quiet controls and focused motion. */
:root { --orange-glow: 236,106,8; }

/* The mark and wordmark never animate. Only these slogan letters do. */
.brand-v6, .brand-v6 .brand-mark, .brand-v6 .brand-type, .brand-v6 .brand-type > img { animation: none!important; transform: none!important; transition: none; filter: none; }
.brand-v6 .brand-type { text-shadow: none; }
.brand-v6 .brand-slogan { animation: none; white-space: nowrap; font-size: 9.1px; line-height: 1.6; letter-spacing: .18px; }
.brand-slogan .slogan-letters { display: block; width: 100%; white-space: nowrap; text-shadow: 0 0 8px #fff6, 0 0 16px #ec6a0860; }
.site-header .slogan-letters { animation: slogan-type 2.8s steps(37,end) .3s both, slogan-glow 5s ease-in-out 3.1s infinite; }
@keyframes slogan-type { from { clip-path: inset(-8px 100% -8px -8px); } to { clip-path: inset(-8px -8px -8px -8px); } }
@keyframes slogan-glow { 0%,100% { text-shadow: 0 0 5px #fff5,0 0 13px #ec6a0844; } 48% { text-shadow: 0 0 8px #fffb,0 0 19px #ec6a0899; } }

.home-hero .actions { gap: 20px; align-items: stretch; }
.home-hero .consultation-glow { box-shadow: 0 0 30px 2px rgba(var(--orange-glow),.38); padding-inline: 23px; }
.budget-entrance { position: relative; display: inline-flex; isolation: isolate; animation: budget-arrive 1.05s cubic-bezier(.16,1,.3,1) .7s both; }
.budget-entrance:before { content: ''; position: absolute; z-index: -1; inset: -16px -24px; pointer-events: none; background: radial-gradient(ellipse at 20% 60%,#fff9,transparent 49%),radial-gradient(ellipse at 75% 40%,#ec6a08c0,transparent 64%); filter: blur(16px); opacity: 0; animation: budget-mist 2.3s ease-out 1s both; }
.home-hero .budget-spotlight { width: 100%; text-align: left; padding: 14px 22px; min-height: 77px; overflow: hidden; background: var(--orange); color: var(--ink); box-shadow: 0 0 26px rgba(var(--orange-glow),.32); animation: budget-breathe 5.5s ease-in-out 3.2s infinite; }
.budget-spotlight strong { font-size: 12px; font-weight: 600; display: block; }
.budget-spotlight small { font-size: 14px; font-weight: 700; display: block; margin-top: 3px; }
.budget-arrow { font-size: 25px; font-weight: 400; transition: transform .3s; }
.budget-spotlight:hover .budget-arrow { transform: translate(3px,-3px); }
.budget-spotlight:after { content: ''; position: absolute; pointer-events: none; width: 34%; top: -70%; bottom: -70%; left: -60%; background: linear-gradient(90deg,transparent,#fff9,transparent); transform: rotate(20deg); animation: budget-glint 6.5s ease-in-out 1.4s infinite; }
@keyframes budget-arrive { from { opacity: 0; transform: translateX(140px); } to { opacity: 1; transform: translateX(0); } }
@keyframes budget-mist { 0% { opacity: 0; transform: translateX(40px) scale(.6); } 30% { opacity: .65; } 100% { opacity: 0; transform: translateX(-18px) scale(1.4); } }
@keyframes budget-breathe { 0%,100% { box-shadow: 0 0 24px rgba(var(--orange-glow),.28); } 50% { box-shadow: 0 0 37px 3px rgba(var(--orange-glow),.48); } }
@keyframes budget-glint { 0%,60% { left: -65%; } 84%,100% { left: 150%; } }
.warranty-handshake { width: 38px; height: 38px; stroke: var(--graphite); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }

/* One customer at a time. The complete photograph stays in view. */
.customer-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; }
.customer-layout .section-head { display: block; margin: 0; }
.customer-layout h2 { font-size: clamp(32px,3.5vw,49px); }
.customer-layout .project-metric { margin-top: 44px; align-items: center; }
.customer-layout .project-metric p { max-width: 190px; margin: 0; }
.customer-carousel { min-width: 0; }
.customer-slides figure { margin: 0; }
.customer-slides button { display: block; position: relative; width: 100%; padding: 0; border: 0; background: linear-gradient(120deg,#eee7df,#f7f5f1 55%,#e9e7e3); overflow: hidden; }
.customer-slides img { height: 540px; object-fit: contain; transition: transform .8s cubic-bezier(.2,.65,.3,1); }
.customer-slides button > span { position: absolute; inset: auto 0 0; padding: 65px 26px 24px; display: flex; justify-content: space-between; align-items: center; gap: 15px; background: linear-gradient(transparent,#202220ed); color: white; font-size: 12px; text-align: left; }
.customer-slides button > span b { font-size: 23px; font-weight: 400; }
.customer-slides button:hover img { transform: scale(1.025); }
.photo-carousel { position: relative; isolation: isolate; }
.photo-controls { position: absolute; inset: 0; pointer-events: none; z-index: 2; }
.photo-controls button { position: absolute; width: 44px; height: 44px; padding: 0; border: 1px solid #ffffff70; border-radius: 50%; background: #202220d9; color: white; display: grid; place-items: center; pointer-events: auto; opacity: 0; transition: opacity .25s,transform .35s,background .2s; }
.photo-controls button[data-prev] { top: calc(50% - 22px); left: 15px; transform: translateX(-9px); }
.photo-controls button[data-next] { top: calc(50% - 22px); right: 15px; transform: translateX(9px); }
.photo-controls button[data-toggle] { top: 15px; right: 15px; transform: translateY(-7px); }
.photo-carousel:hover .photo-controls button, .photo-carousel:focus-within .photo-controls button { opacity: 1; transform: translate(0); }
.photo-controls button:hover { background: var(--orange); color: var(--ink); border-color: var(--orange); }
.photo-controls svg, .icon-toggle svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.play-glyph { display: none; }
[data-toggle][data-paused=true] .play-glyph { display: block; }
[data-toggle][data-paused=true] .pause-glyph { display: none; }
.icon-toggle { display: grid; place-items: center; }
.photo-position { position: absolute; top: 18px; left: 18px; color: white; background: #202220c9; padding: 5px 9px; font-size: 9px; letter-spacing: .1em; pointer-events: none; z-index: 1; }
.story-photo { overflow: hidden; }
.story-photo .story-slides img { transition: transform .8s cubic-bezier(.2,.65,.3,1); }
.story-photo:hover .story-slides [data-slide]:not([hidden]) img { transform: scale(1.025); }
.story-photo .story-slides figcaption { z-index: 1; }

/* Photo links replace the former text-heavy explorer tabs. */
.detail-tiles { display: grid; grid-template-columns: repeat(6,1fr); gap: 20px; }
.detail-tile { position: relative; grid-column: span 2; display: block; isolation: isolate; overflow: hidden; background: var(--ink); }
.detail-tile:nth-child(-n+2) { grid-column: span 3; }
.detail-tile > img { height: 300px; transition: transform .8s cubic-bezier(.2,.65,.3,1),filter .4s; }
.detail-tile:nth-child(-n+2) > img { height: 340px; }
.detail-tile:after { content: ''; position: absolute; inset: 0; z-index: 1; border: 1px solid #ffffff24; pointer-events: none; transition: border-color .3s,box-shadow .3s; }
.detail-tile-label { position: absolute; inset: auto 0 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 70px 25px 24px; background: linear-gradient(transparent,#181a18ed); color: white; font-size: 16px; font-weight: 500; }
.tile-arrow { display: grid; place-items: center; width: 39px; height: 39px; border: 1px solid #ffffff80; border-radius: 50%; font-size: 22px; flex-shrink: 0; transition: transform .3s,background .3s,color .3s,border-color .3s; }
.detail-tile:hover > img, .detail-tile:focus-visible > img { transform: scale(1.045); filter: brightness(1.08); }
.detail-tile:hover .tile-arrow, .detail-tile:focus-visible .tile-arrow { transform: translate(2px,-2px); color: var(--ink); background: var(--orange); border-color: var(--orange); }
.detail-tile:hover:after, .detail-tile:focus-visible:after { border-color: var(--orange); box-shadow: inset 0 0 0 1px var(--orange); }
.detail-tile:focus-visible { outline-offset: 5px; }

@media (min-width:1101px) and (max-width:1240px) { .site-header .brand-slogan { font-size: 8px; letter-spacing: .1px; } }
@media (max-width:1100px) {
  .site-header .brand-slogan { font-size: 8.3px; letter-spacing: .1px; }
  .customer-layout { gap: 35px; }
  .customer-layout .project-metric { align-items: flex-start; }
  .customer-slides img { height: 480px; }
  .detail-tile-label { font-size: 14px; padding: 60px 20px 20px; }
}
@media (max-width:760px) {
  .site-header .brand-slogan { font-size: 7.5px; letter-spacing: .03px; }
  .signature .brand-slogan { font-size: 7.8px; letter-spacing: .03px; }
  .home-hero .actions { gap: 18px; }
  .home-hero .consultation-glow { min-height: 60px; }
  .budget-entrance { width: 100%; }
  .home-hero .actions .budget-spotlight { justify-content: space-between; padding: 16px 22px; }
  .customer-layout { grid-template-columns: 1fr; gap: 28px; }
  .customer-layout .section-head { margin: 0; }
  .customer-layout .project-metric { flex-direction: row; align-items: center; margin-top: 26px; }
  .customer-slides img { height: auto; aspect-ratio: 3/4; object-fit: contain; }
  .customer-slides button > span { font-size: 11px; padding-inline: 20px; }
  .detail-tiles { grid-template-columns: 1fr 1fr; gap: 14px; }
  .detail-tile, .detail-tile:nth-child(-n+2) { grid-column: span 1; }
  .detail-tile:first-child { grid-column: 1/-1; }
  .detail-tile > img, .detail-tile:nth-child(-n+2) > img { height: 250px; }
  .detail-tile:first-child > img { height: 290px; }
  .detail-tile-label { align-items: flex-end; gap: 8px; font-size: 12px; padding: 60px 14px 15px; }
  .tile-arrow { width: 28px; height: 28px; font-size: 17px; }
}
@media (max-width:360px) {
  .site-header .brand-slogan { font-size: 6.6px; letter-spacing: 0; }
  .signature .brand-slogan { font-size: 7px; letter-spacing: 0; }
  .detail-tiles { grid-template-columns: 1fr; }
  .detail-tile > img, .detail-tile:nth-child(-n+2) > img { height: 250px; }
  .detail-tile-label { font-size: 15px; padding: 65px 22px 20px; }
}
@media (hover:none), (pointer:coarse) {
  .photo-controls button { opacity: 1; transform: none!important; }
}
@media (prefers-reduced-motion:reduce) {
  .site-header .slogan-letters, .budget-entrance, .budget-entrance:before, .budget-spotlight, .budget-spotlight:after { animation: none!important; }
  .budget-entrance:before, .budget-spotlight:after { display: none; }
  .customer-slides button:hover img, .story-photo:hover .story-slides img, .detail-tile:hover > img { transform: none; }
}

/* Owner refinement: original handshake idea, warmer orange and satisfaction seal. */
.why-proof { display: flex; flex-wrap: wrap; gap: 24px 32px; align-items: center; margin-top: 28px; }
.why-proof .rating { margin-top: 0; }
.satisfaction-badge { width: 110px; height: 110px; border: 1px solid var(--orange); border-radius: 50%; box-shadow: inset 0 0 0 5px #fff8f0,inset 0 0 0 6px rgba(var(--orange-glow),.48); background: #fff8f0; color: var(--ink); display: flex; flex-direction: column; align-items: center; justify-content: center; flex-shrink: 0; text-align: center; }
.satisfaction-value { font-size: 30px; font-weight: 600; line-height: 1.15; letter-spacing: -1.2px; }
.satisfaction-value > span { font-size: 19px; margin-left: 1px; }
.satisfaction-label { font-size: 7px; font-weight: 600; letter-spacing: .65px; line-height: 1.55; margin-top: 5px; }
@media (max-width:760px) { .why-proof { gap: 18px; } .satisfaction-badge { width: 94px; height: 94px; } .satisfaction-value { font-size: 26px; } .satisfaction-label { font-size: 6px; letter-spacing: .45px; } }

/* Natural stone pages extend the approved material template only. */
.material-page[data-material] .grade-pick { margin-top: auto; padding-bottom: 4px; font-weight: 500; line-height: 1.5; }
.material-page[data-material] .material-hero .bg { object-position: 68% 53%; }
.material-page[data-material=quartzite] .material-hero .bg { object-position: 63% 57%; }
.material-page[data-material=marble] .material-hero .bg { object-position: 60% 59%; }
.material-page[data-material] .catalog-note { max-width: 880px; }
@media (max-width:760px) {
 .material-page[data-material] .photo-note { font-size: 7px; }
 .material-page[data-material] .grade-card h3 { font-size: 27px; }
}

/* Batch 2: service pages. Shared Home and material styles remain unchanged. */
.service-page .service-hero .hero-copy { max-width: 760px; }
.service-page .service-hero h1 { max-width: 730px; }
.service-page .service-hero .hero-copy p { max-width: 560px; }
.service-page .service-hero .bg { object-position: 64% 52%; }
.service-page[data-service=fabrication] .service-hero .bg { object-position: 75% 35%; }
.service-page[data-service=repair] .service-hero .bg { object-position:60% 92%; }
.service-page[data-service=repair] .service-photo img { object-position:center bottom; }
.service-page .service-journey { display:grid;grid-template-columns:.75fr 1.25fr;gap:44px;align-items:stretch; }
.service-page .service-step-list { display:flex;flex-direction:column; }
.service-page .service-step-list button { display:flex;align-items:center;gap:20px;text-align:left;min-height:72px;border:0;border-top:1px solid var(--line);background:transparent;padding:18px 20px;font:inherit;font-size:14px;color:var(--ink);transition:background .2s,box-shadow .2s; }
.service-page .service-step-list button:last-child { border-bottom:1px solid var(--line); }
.service-page .service-step-list button[aria-selected=true] { background:#fff2e8;box-shadow:inset 3px 0 var(--orange); }
.service-page .step-index { font-size:10px;color:var(--graphite); }
.service-page .step-arrow { margin-left:auto;transition:transform .2s; }
.service-page .service-step-list button:hover .step-arrow { transform:translate(3px,-3px); }
.service-page .service-step-content { background:linear-gradient(135deg,#f5f5f5,#fff7f0);border:1px solid var(--line); }
.service-page .service-step-content [role=tabpanel] { padding:44px;min-height:380px; }
.service-page .service-step-content h3 { font-size:clamp(26px,2.4vw,34px);line-height:1.2;margin:14px 0 22px; }
.service-page .service-step-content p { font-size:14px;line-height:1.85; }
.service-page .step-prep { border-top:1px solid var(--line);margin-top:28px;padding-top:22px; }
.service-page .step-prep strong { font-size:11px;letter-spacing:.09em;text-transform:uppercase; }
.service-page .step-prep p { margin-top:9px;font-size:13px; }
.service-page .service-scope { background:linear-gradient(120deg,#f5f5f5,#fff5ec); }
.service-page .service-scope-grid { display:grid;grid-template-columns:1fr 1fr;gap:26px; }
.service-page .service-scope-grid article { background:#ffffffc9;border:1px solid var(--line);padding:35px; }
.service-page .scope-symbol { display:grid;place-items:center;border-radius:50%;border:1px solid #b5c7b5;background:#eef4ed;color:#36513a;width:38px;height:38px;font-size:19px;margin-bottom:24px; }
.service-page .scope-separate { background:#fff2e8;border-color:#debca2;color:var(--ink); }
.service-page .service-scope-grid h3 { font-size:26px;margin-bottom:22px; }
.service-page .service-scope-grid ul { list-style:none;margin:0;padding:0; }
.service-page .service-scope-grid li { border-top:1px solid var(--line);padding:15px 0;color:var(--graphite);font-size:13px;line-height:1.8; }
.service-page .service-detail { display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center; }
.service-page .service-detail figure { margin:0; }
.service-page .service-photo { display:block;width:100%;position:relative;border:0;background:var(--paper);padding:0;overflow:hidden; }
.service-page .service-photo img { width:100%;height:560px;object-fit:cover;transition:transform .6s; }
.service-page .service-photo:hover img, .service-page .service-photo:focus-visible img { transform:scale(1.025); }
.service-page .photo-enlarge { position:absolute;right:18px;bottom:18px;background:#252725d9;color:white;border:1px solid #ffffff80;padding:8px 14px;font-size:22px; }
.service-page .service-detail figcaption { font-size:10px;color:var(--graphite);margin-top:10px; }
.service-page .service-detail h2 { margin-bottom:24px; }
.service-page .service-detail p { font-size:14px;line-height:1.85; }
.service-page .service-note { margin:25px 0;padding-left:18px;border-left:2px solid var(--orange); }
.service-page .service-related { margin-top:24px;font-size:12px; }
.service-page .service-related a { text-decoration:underline;text-underline-offset:5px; }
@media(max-width:1000px) {
 .service-page .service-journey { grid-template-columns:.8fr 1.2fr;gap:24px; }
 .service-page .service-step-content [role=tabpanel] { padding:28px; }
 .service-page .service-detail { gap:35px; }
 .service-page .service-scope-grid article { padding:28px; }
}
@media(max-width:760px) {
 .service-page .service-journey, .service-page .service-detail, .service-page .service-scope-grid { grid-template-columns:1fr; }
 .service-page .service-journey { gap:24px; }
 .service-page .service-step-list button { min-height:58px;padding:14px 17px;font-size:13px; }
 .service-page .service-step-content [role=tabpanel] { min-height:0;padding:27px; }
 .service-page .service-step-content p { font-size:13px; }
 .service-page .service-scope-grid article { padding:28px; }
 .service-page .service-photo img { height:410px; }
 .service-page .service-hero .actions .btn { white-space:normal;line-height:1.5; }
}
@media(prefers-reduced-motion:reduce) {
 .service-page .service-photo img,.service-page .step-arrow { transition:none;transform:none!important; }
}
/* Batch 3: choices and About. All additions are scoped to .choice-page. */
.choice-page .choice-hero .hero-copy{max-width:730px}
.choice-page .choice-hero h1{max-width:690px}
.choice-page[data-choice=sink-selection] .choice-hero .bg{object-position:center 62%}
.choice-page[data-choice=about] .choice-hero .bg{object-position:70% 45%}
.choice-page .choice-gradient{background:linear-gradient(125deg,#f5f5f5 15%,#fff5ed 100%)}
.choice-page .choice-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.choice-page .choice-facts article{border-top:1px solid var(--line);padding-top:25px}
.choice-page .choice-facts h3,.choice-page .choice-two h3{font-size:23px;margin-bottom:17px}
.choice-page .choice-facts p,.choice-page .choice-two p{font-size:14px;line-height:1.9}
.choice-page .choice-two{display:grid;grid-template-columns:1fr 1fr;gap:65px}
.choice-page .choice-two p+p{margin-top:20px}
.choice-page .choice-two .textlink{margin-top:25px}
.choice-page .choice-note{font-size:13px;line-height:1.9;padding-left:20px;border-left:2px solid var(--orange);margin:25px 0;max-width:830px}
.choice-page .small-note{font-size:11px;line-height:1.8;color:var(--graphite);margin:22px 0 0}
.choice-page .small-note a{text-decoration:underline;text-underline-offset:3px}
.choice-page button.textlink{background:transparent;border:0;border-bottom:1px solid currentColor;padding:8px 0;font:inherit;font-size:12px;text-align:left;color:var(--ink)}
.choice-page .sink-tools{padding:26px;background:linear-gradient(115deg,#f5f5f5,#fff8f2);border:1px solid var(--line);margin-bottom:30px}
.choice-page .sink-room{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:23px}
.choice-page .sink-room button,.choice-page .sink-saved-filter{min-height:44px;padding:10px 20px;background:transparent;border:1px solid #b4b4b0;color:var(--ink);font:inherit;font-size:12px;transition:background .2s,border-color .2s}
.choice-page .sink-room button[aria-pressed=true],.choice-page .sink-saved-filter[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.choice-page .sink-inputs{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:18px;align-items:end}
.choice-page .sink-inputs label{display:flex;flex-direction:column;gap:9px;font-size:11px;font-weight:600;letter-spacing:.025em;min-width:0}
.choice-page .sink-inputs input,.choice-page .sink-inputs select{border:1px solid #b4b4b0;background:white;color:var(--ink);width:100%;min-width:0;min-height:48px;padding:11px;font:inherit;font-size:12px;letter-spacing:0;font-weight:400;border-radius:0}
.choice-page .sink-inputs #sink-reset{margin-bottom:5px;min-height:40px}
.choice-page .sink-results{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:22px}
.choice-page #sink-count{font-size:12px}
.choice-page .sink-saved-filter{font-size:11px;padding:8px 12px}
.choice-page #sink-save-number{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:6px;border:1px solid currentColor;border-radius:50%;font-size:10px}
.choice-page .sink-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.choice-page .sink-card{border:1px solid var(--line);display:flex;flex-direction:column;background:#fff;min-width:0;transition:box-shadow .25s,border-color .25s}
.choice-page .sink-card:hover{border-color:#a4a4a0;box-shadow:0 8px 28px #2527250b}
.choice-page .sink-image{width:100%;aspect-ratio:1.26;border:0;border-bottom:1px solid var(--line);padding:18px;background:white;position:relative;overflow:hidden}
.choice-page .sink-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .4s}
.choice-page .sink-image:hover img,.choice-page .sink-image:focus-visible img{transform:scale(1.05)}
.choice-page .sink-image>span{position:absolute;bottom:14px;right:14px;background:var(--ink);color:white;padding:7px 12px;font-size:10px;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}
.choice-page .sink-image:hover>span,.choice-page .sink-image:focus-visible>span{opacity:1;transform:none}
.choice-page .sink-card-copy{padding:22px;display:flex;flex-direction:column;flex:1;min-width:0}
.choice-page .sink-card .fact-index{font-size:9px;margin-bottom:12px;text-transform:uppercase}
.choice-page .sink-card h3{font-size:19px;line-height:1.4;letter-spacing:-.025em;margin-bottom:12px}
.choice-page .sink-material{font-size:12px;margin-bottom:13px}
.choice-page .sink-size{font-size:15px;font-weight:500;margin-bottom:7px;color:var(--ink)}
.choice-page .sink-size span{font-size:10px;font-weight:400;margin-left:3px}
.choice-page .sink-sku{font-size:9px;line-height:1.6;overflow-wrap:anywhere}
.choice-page .sink-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:17px;margin-top:auto}
.choice-page .sink-sku+.sink-actions{margin-top:22px}
.choice-page .sink-save{border:1px solid #b4b4b0;background:white;color:var(--ink);font:inherit;font-size:11px;padding:10px 13px;min-height:44px;white-space:nowrap}
.choice-page .sink-save[aria-pressed=true]{border-color:var(--orange);background:#fff2e8}
.choice-page .sink-more{display:flex;justify-content:center;margin-top:34px}
.choice-page #sink-empty{padding:50px 25px;background:var(--paper);text-align:center;font-size:15px}
.choice-page .sink-shortlist,.choice-page .edge-selection{display:flex;justify-content:space-between;align-items:center;gap:25px;background:linear-gradient(110deg,#f5f5f5,#fff5ec);padding:26px;margin-top:35px;border-left:3px solid var(--orange)}
.choice-page .sink-shortlist strong{font-size:16px;font-weight:500}
.choice-page .sink-shortlist p,.choice-page .edge-selection p{font-size:12px;margin-top:6px;max-width:760px}
.choice-page .sink-shortlist button,.choice-page .edge-selection button{flex-shrink:0}
.choice-page .model-note{font-size:11px;border-left:2px solid var(--orange);padding:0 0 0 12px;margin:16px 0;line-height:1.75}
.choice-page #sink-dialog{width:min(1000px,calc(100% - 40px));max-height:90dvh;padding:45px;border:1px solid var(--line);overflow:auto}
.choice-page #sink-dialog h2{font-size:clamp(24px,3vw,36px);padding-right:24px;max-width:800px;margin:8px 0 30px}
.choice-page .sink-detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.choice-page .sink-detail-layout>img{width:100%;height:auto;max-height:430px;object-fit:contain}
.choice-page .sink-specs{margin:0}
.choice-page .sink-specs>div{display:grid;grid-template-columns:1fr 1.2fr;gap:18px;border-bottom:1px solid var(--line);padding:10px 0;font-size:11px;line-height:1.65}
.choice-page .sink-specs dt{color:var(--graphite)}
.choice-page .sink-specs dd{margin:0;overflow-wrap:anywhere;color:var(--ink)}
.choice-page .sink-modal-actions{display:flex;align-items:center;gap:25px;margin-top:30px;flex-wrap:wrap}
.choice-page .model-links{display:flex;flex-direction:column;align-items:start;gap:12px;margin-top:20px;font-size:11px}
.choice-page .edge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.choice-page .edge-card{border:1px solid var(--line);background:white;display:flex;flex-direction:column}
.choice-page .edge-drawing{background:linear-gradient(120deg,#f5f5f5,#fcfaf8);padding:24px 16px 6px;position:relative}
.choice-page .edge-drawing svg{width:100%;height:auto;display:block}
.choice-page .edge-number{position:absolute;top:18px;left:19px;font-size:9px;color:var(--graphite)}
.choice-page .edge-copy{padding:23px;flex:1;display:flex;flex-direction:column}
.choice-page .edge-copy .fact-index{text-transform:uppercase;font-size:8px;margin-bottom:12px}
.choice-page .edge-copy h3{font-size:24px;margin-bottom:15px}
.choice-page .edge-copy p{font-size:12px;line-height:1.85;margin-bottom:20px;flex:1}
.choice-page .edge-pick{width:fit-content;min-height:42px}
.choice-page .edge-card:has(.edge-pick[aria-pressed=true]){border-color:var(--orange);box-shadow:inset 0 -3px var(--orange)}
.choice-page .idea-tabs{display:flex;gap:0;margin-bottom:32px;border-bottom:1px solid var(--line)}
.choice-page .idea-tabs button{flex:1;display:flex;justify-content:space-between;gap:15px;min-height:62px;padding:18px 22px;border:0;border-bottom:3px solid transparent;background:var(--paper);font:inherit;font-size:13px;color:var(--ink)}
.choice-page .idea-tabs button[aria-selected=true]{border-bottom-color:var(--orange);background:#fff1e6}
.choice-page .idea-tabs span{transition:transform .2s}
.choice-page .idea-tabs button:hover span{transform:translate(3px,-3px)}
.choice-page .idea-panels [role=tabpanel]{display:grid;grid-template-columns:1.15fr 1fr;gap:55px;align-items:center}
.choice-page .idea-panels h3{font-size:clamp(25px,3vw,37px);line-height:1.2;margin:14px 0 24px}
.choice-page .idea-panels p{font-size:14px;line-height:1.9}
.choice-page figure{margin:0}
.choice-page .idea-panels img{width:100%;height:390px;object-fit:cover}
.choice-page figcaption{font-size:10px;color:var(--graphite);margin-top:10px}
.choice-page .readiness-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:65px;align-items:start}
.choice-page .template-visual{background:#ffffff85;padding:25px;border:1px solid var(--line);position:sticky;top:135px}
.choice-page .template-visual svg{width:100%;display:block}
.choice-page .template-visual p{font-size:11px;text-align:center}
.choice-page .readiness-item{display:flex;align-items:start;gap:17px;padding:22px 0;border-bottom:1px solid var(--line);cursor:pointer}
.choice-page .readiness-item:first-child{padding-top:0}
.choice-page .readiness-item input{appearance:auto;width:22px;height:22px;flex-shrink:0;accent-color:#575756;margin:3px 0 0;cursor:pointer}
.choice-page .readiness-item strong{font-size:15px;font-weight:500;display:block;margin-bottom:9px;line-height:1.5}
.choice-page .readiness-item span span{font-size:12px;line-height:1.9;display:block;color:var(--graphite)}
.choice-page .readiness-item:has(input:checked) strong{color:#36513a}
.choice-page .about-craft{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.choice-page .about-craft img{width:100%;height:490px;object-fit:cover}
.choice-page .about-craft h3{font-size:clamp(29px,3vw,42px);line-height:1.15;margin:12px 0 26px}
.choice-page .about-craft p{font-size:14px;line-height:1.85;margin-bottom:20px}
.choice-page .team-placeholder{border:1px dashed #aaa9a4;padding:30px;margin-top:42px;display:flex;flex-direction:column;gap:12px;background:#ffffff80}
.choice-page .team-placeholder strong{font-size:23px;font-weight:400}
.choice-page .team-placeholder>span:last-child{font-size:11px;color:var(--graphite)}
.choice-page .credentials{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);padding-top:30px;margin-top:45px}
.choice-page .credentials span{display:block;font-size:9px;letter-spacing:.07em;color:var(--graphite);margin-bottom:10px}
.choice-page .credentials strong{font-size:22px;font-weight:500}
.choice-page [hidden]{display:none!important}
@media(max-width:1050px){
.choice-page .edge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.choice-page .sink-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.choice-page .sink-inputs{grid-template-columns:1fr 1fr}
.choice-page .sink-inputs #sink-reset{justify-self:start}
.choice-page .choice-two,.choice-page .about-craft,.choice-page .readiness-layout{gap:35px}
}
@media(max-width:760px){
.choice-page .choice-facts,.choice-page .choice-two,.choice-page .idea-panels [role=tabpanel],.choice-page .about-craft,.choice-page .readiness-layout{grid-template-columns:1fr;gap:30px}
.choice-page .choice-hero .actions{gap:12px}
.choice-page .choice-hero .actions .btn{white-space:normal;line-height:1.5}
.choice-page .sink-tools{padding:18px}
.choice-page .sink-room button{padding:10px 15px;font-size:11px}
.choice-page .sink-inputs{grid-template-columns:1fr}
.choice-page .sink-inputs input,.choice-page .sink-inputs select{font-size:16px}
.choice-page .sink-results{align-items:start;flex-direction:column;gap:12px}
.choice-page .sink-grid{gap:16px}
.choice-page .sink-card-copy{padding:17px}
.choice-page .sink-card h3{font-size:17px}
.choice-page .sink-image{padding:8px}
.choice-page .sink-shortlist,.choice-page .edge-selection{align-items:start;flex-direction:column;padding:22px}
.choice-page .sink-shortlist button,.choice-page .edge-selection button{flex-shrink:1}
.choice-page .sink-detail-layout{grid-template-columns:1fr;gap:20px}
.choice-page #sink-dialog{padding:28px 20px;width:calc(100% - 24px)}
.choice-page .sink-detail-layout>img{max-height:270px}
.choice-page .sink-modal-actions{gap:16px}
.choice-page .edge-grid{gap:17px}
.choice-page .edge-copy{padding:20px}
.choice-page .edge-copy h3{font-size:22px}
.choice-page .idea-tabs{display:grid;grid-template-columns:1fr 1fr}
.choice-page .idea-tabs button{min-height:58px;padding:15px 18px}
.choice-page .idea-panels img{height:300px}
.choice-page .template-visual{position:static;padding:10px 20px 24px}
.choice-page .about-craft img{height:350px}
.choice-page .credentials{grid-template-columns:1fr;gap:26px}
}
@media(max-width:520px){.choice-page .sink-grid,.choice-page .edge-grid{grid-template-columns:1fr}.choice-page .edge-drawing svg{height:155px}.choice-page .sink-image{aspect-ratio:1.5}.choice-page .sink-card h3{font-size:21px}.choice-page .sink-card-copy{padding:23px}}
@media(hover:none){.choice-page .sink-image>span{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.choice-page .sink-image img,.choice-page .sink-image>span,.choice-page .idea-tabs span{transition:none;transform:none!important}}
/* Batch 4: company, gallery, journal and legal templates. */
.company-page [hidden]{display:none!important}
.company-page .company-intro{padding:64px 0 70px;background:linear-gradient(115deg,#f5f5f5,#fff7f1)}
.company-page .intro-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:75px;align-items:end;margin-top:24px}
.company-page .company-intro h1{font-size:clamp(38px,4.5vw,66px);letter-spacing:-.045em;line-height:1.08;margin:0;max-width:800px}
.company-page .intro-layout p{font-size:15px;line-height:1.9;margin-bottom:24px;max-width:550px}
.company-page .company-gradient{background:linear-gradient(125deg,#f5f5f5,#fff6ee)}
.company-page .small-note{font-size:11px;line-height:1.85;color:var(--graphite);margin-top:22px}
.company-page .company-note{border-left:2px solid var(--orange);padding-left:20px;font-size:13px;line-height:1.9;margin:27px 0;max-width:790px}
.company-page button.textlink{background:transparent;border:0;border-bottom:1px solid currentColor;padding:8px 0;color:var(--ink);font:inherit;font-size:12px;text-align:left;min-height:42px}
.company-page .gallery-tools{border:1px solid var(--line);background:linear-gradient(110deg,#f5f5f5,#fff9f4);padding:26px;margin-bottom:30px}
.company-page .filter-family{display:flex;align-items:center;gap:25px;margin-bottom:18px}
.company-page .filter-family>span{width:65px;font-size:11px;font-weight:600}
.company-page .filter-family>div{display:flex;gap:8px;flex-wrap:wrap}
.company-page .gallery-tools button:not(.textlink),.company-page .journal-tools button{min-height:44px;font:inherit;font-size:12px;padding:10px 18px;border:1px solid #aaa9a5;background:transparent;color:var(--ink);transition:background .2s}
.company-page button[aria-pressed=true]:not(.textlink){background:var(--ink);color:white;border-color:var(--ink)}
.company-page .filter-status{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--line);padding-top:15px;font-size:12px}
.company-page .gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px}
.company-page .gallery-card{position:relative;border:1px solid var(--line);background:white}
.company-page .gallery-placeholder{position:relative;background:var(--paper);border-bottom:1px solid var(--line)}
.company-page .gallery-placeholder img{width:100%;height:auto;display:block}
.company-page .gallery-placeholder>span{position:absolute;bottom:20px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:.13em;color:var(--graphite)}
.company-page .gallery-slot{position:absolute;top:17px;left:20px;z-index:1;color:var(--graphite);font-size:10px}
.company-page .gallery-card-copy{padding:25px}
.company-page .gallery-card-copy>span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--graphite)}
.company-page .gallery-card h3{font-size:27px;margin:10px 0}
.company-page .gallery-card p{font-size:12px;margin-bottom:20px}
.company-page .gallery-card a{font-size:12px}
.company-page .empty-state{padding:35px;background:var(--paper);font-size:14px;line-height:1.85;margin:25px 0}
.company-page .empty-state p{margin-bottom:16px}
.company-page .address-check{margin-top:28px;font-size:15px;line-height:1.8;color:var(--graphite)}
.company-page .address-check .textlink{display:inline}
.company-page .before-after-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.company-page .before-after-pair{padding:28px;background:#ffffffa8;border:1px solid var(--line)}
.company-page .pair-heading>span{font-size:9px;letter-spacing:.1em;color:var(--graphite)}
.company-page .pair-heading h3{font-size:25px;line-height:1.25;margin:12px 0 23px}
.company-page .pair-images{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.company-page figure{margin:0}
.company-page .pair-images .gallery-placeholder>span{font-size:7px;bottom:9px}
.company-page figcaption{font-size:10px;line-height:1.6;margin-top:10px;color:var(--graphite)}
.company-page .before-after-pair>p{font-size:11px;margin-top:19px}
.company-page .city-search{max-width:640px;margin:0 0 35px}
.company-page .city-search>label{font-size:11px;font-weight:600;display:block;margin-bottom:11px}
.company-page .city-search>div{display:flex;gap:20px;align-items:center}
.company-page .city-search input{font:inherit;font-size:14px;border:1px solid #aaa9a5;padding:15px;min-width:0;flex:1}
.company-page .city-search button{flex-shrink:0}
.company-page #city-count{font-size:11px;margin-top:13px}
.company-page .city-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.company-page .city-card{padding:29px;border:1px solid var(--line);background:white;display:flex;flex-direction:column;position:relative}
.company-page .city-card:before{content:'';position:absolute;top:0;left:29px;width:28px;height:2px;background:var(--orange)}
.company-page .city-card h3{font-size:25px;margin-bottom:15px}
.company-page .city-card p{font-size:13px;line-height:1.9;margin-bottom:23px;flex:1}
.company-page .city-card button{width:fit-content;font-size:11px}
.company-page .travel-list{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:0;gap:15px}
.company-page .travel-list li{padding:20px;background:#ffffffa0;border:1px solid var(--line);font-size:16px}
.company-page .location-map{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.company-page .map-art{min-height:340px;background-color:#eeefec;background-image:linear-gradient(#d6d6d24d 1px,transparent 1px),linear-gradient(90deg,#d6d6d24d 1px,transparent 1px);background-size:44px 44px;display:grid;place-items:center;border:1px solid var(--line);color:var(--graphite)}
.company-page .map-art svg{width:160px;height:150px;filter:drop-shadow(0 6px 5px #2527250d)}
.company-page .location-map h3{font-size:36px;line-height:1.15;margin:15px 0 25px}
.company-page .location-map address{font-size:15px;font-style:normal;line-height:1.8;margin-bottom:15px}
.company-page .location-map p{font-size:13px;margin-bottom:22px;max-width:390px}
.company-page .location-map small{display:block;font-size:10px;margin-top:25px;color:var(--graphite)}
.company-page .contact-page-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.company-page .contact-details{position:sticky;top:135px}
.company-page .contact-details h2{margin:16px 0 30px}
.company-page .contact-big{font-size:clamp(21px,2vw,29px);display:block;letter-spacing:-.025em;margin-bottom:15px}
.company-page .contact-email{font-size:13px;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
.company-page .contact-details dl{border-top:1px solid var(--line);padding-top:10px;margin:30px 0 20px}
.company-page .contact-details dl>div{padding:17px 0;display:grid;grid-template-columns:1fr 1.5fr;gap:20px}
.company-page .contact-details dt{font-size:11px;font-weight:600}
.company-page .contact-details dd{font-size:12px;line-height:1.85;margin:0}
.company-page .contact-details>p{font-size:12px;line-height:1.9;margin:0 0 23px}
.company-page .social-links{display:flex;gap:27px;margin-top:32px;border-top:1px solid var(--line);padding-top:25px;font-size:12px}
.company-page .social-links a{text-decoration:underline;text-underline-offset:5px}
.company-page .inquiry-panel{padding:37px;background:linear-gradient(145deg,#f5f5f5,#fff8f2);border:1px solid var(--line)}
.company-page .inquiry-panel h2{font-size:36px;margin:14px 0 32px}
.company-page #inquiry-fields{border:0;padding:0;margin:0;min-width:0}
.company-page .inquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 18px}
.company-page .inquiry-grid .span-two{grid-column:1/-1}
.company-page .field{min-width:0}
.company-page .field label{display:block;font-size:11px;font-weight:600;margin:0 0 10px}
.company-page .field label span{font-weight:400}
.company-page .field input:not([type=checkbox]),.company-page .field select,.company-page .field textarea{font:inherit;font-size:13px;line-height:1.6;width:100%;min-width:0;border:1px solid #aaa9a5;border-radius:0;background:white;padding:12px;color:var(--ink);min-height:48px;margin:0}
.company-page .field textarea{resize:vertical;min-height:140px}
.company-page .field input[type=file]{font-size:11px;white-space:normal}
.company-page .field input[type=file]::file-selector-button{padding:9px 13px;margin:0 10px 0 0;background:var(--ink);color:white;border:0;font:inherit;cursor:pointer}
.company-page .photo-field p{font-size:10px;line-height:1.8;margin-top:10px}
.company-page #photo-list{font-size:11px;line-height:1.8;padding:0;list-style:none;overflow-wrap:anywhere}
.company-page #photo-list li{padding:8px 0;border-bottom:1px solid var(--line)}
.company-page .inquiry-check{display:flex;align-items:start;gap:12px;font-size:11px;line-height:1.8;margin:23px 0 0;font-weight:400}
.company-page .inquiry-check input{width:18px;height:18px;margin:2px 0 0;flex-shrink:0;appearance:auto;accent-color:#575756}
.company-page .inquiry-check a{text-decoration:underline;text-underline-offset:3px}
.company-page .form-preview-note{padding:18px;background:#ffffffa0;border-left:2px solid var(--orange);margin:24px 0}
.company-page .form-preview-note strong{font-size:11px;font-weight:600}
.company-page .form-preview-note p{font-size:11px;line-height:1.8;margin:7px 0 0}
.company-page #inquiry-status{font-size:12px;line-height:1.8;margin-top:17px}
.company-page #inquiry-review{width:min(730px,calc(100% - 30px));max-height:90dvh;overflow:auto;padding:40px}
.company-page #inquiry-review h2{font-size:33px;margin:14px 24px 18px 0}
.company-page #inquiry-review>p{font-size:13px;line-height:1.8}
.company-page #inquiry-summary{margin:25px 0}
.company-page #inquiry-summary>div{display:grid;grid-template-columns:.6fr 1.4fr;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.8}
.company-page #inquiry-summary dt{font-weight:600}
.company-page #inquiry-summary dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.company-page .reviews-placeholder{padding:28px;border:1px dashed #aaa9a5;margin-top:30px;background:var(--paper);font-size:12px;color:var(--graphite)}
.company-page .journal-tools{display:flex;gap:24px;align-items:end;flex-wrap:wrap;margin-bottom:34px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.company-page .journal-tools label{display:flex;flex-direction:column;gap:10px;font-size:11px;font-weight:600;min-width:260px;flex:1}
.company-page .journal-tools input{font:inherit;font-size:14px;font-weight:400;min-height:48px;border:1px solid #aaa9a5;background:white;color:var(--ink);padding:12px;width:100%}
.company-page .journal-tools>div{display:flex;gap:8px;flex-wrap:wrap}
.company-page #journal-count{width:100%;font-size:11px}
.company-page .journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 27px}
.company-page .journal-card{display:flex;flex-direction:column;border:1px solid var(--line);background:white}
.company-page .journal-image{position:relative;display:block;overflow:hidden;aspect-ratio:1.55;background:var(--paper)}
.company-page .journal-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.company-page .journal-card:hover .journal-image img{transform:scale(1.04)}
.company-page .journal-image>span{position:absolute;right:13px;bottom:13px;color:white;background:#252725e6;padding:7px 11px;font-size:9px;opacity:0;transition:opacity .2s}
.company-page .journal-card:hover .journal-image>span,.company-page .journal-card:focus-within .journal-image>span{opacity:1}
.company-page .journal-copy{padding:26px;flex:1;display:flex;flex-direction:column}
.company-page .journal-meta{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;font-size:9px;color:var(--graphite);margin-bottom:18px}
.company-page .journal-meta>span{text-transform:uppercase;letter-spacing:.06em}
.company-page .journal-copy h3{font-size:23px;line-height:1.25;letter-spacing:-.025em;margin-bottom:19px}
.company-page .journal-copy h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.company-page .journal-copy p{font-size:12px;line-height:1.85;margin-bottom:24px;flex:1}
.company-page .journal-copy>.textlink{font-size:11px;width:fit-content}
.company-page .article-template-link{margin-top:38px;padding:24px;border:1px dashed #aaa9a5;display:flex;align-items:center;gap:25px;font-size:12px}
.company-page .article-template-link>span{font-size:9px;letter-spacing:.08em;color:var(--graphite)}
.company-page .article-byline{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;margin-bottom:25px}
.company-page .article-cover img{width:100%;height:500px;object-fit:cover}
.company-page .article-preview-label{font-size:11px;color:var(--graphite);margin-top:20px}
.company-page #article-image{padding-bottom:0}
.company-page .reading-layout,.company-page .legal-layout{display:grid;grid-template-columns:240px minmax(0,750px);gap:70px;justify-content:space-between;align-items:start}
.company-page .article-contents,.company-page .legal-contents{position:sticky;top:130px;border-top:1px solid var(--line);padding-top:22px}
.company-page .article-contents a,.company-page .legal-contents a{display:block;font-size:12px;line-height:1.7;padding:11px 0;border-bottom:1px solid var(--line)}
.company-page .article-contents a:hover,.company-page .legal-contents a:hover{text-decoration:underline;text-underline-offset:4px}
.company-page .reading-body p,.company-page .legal-body p{font-size:15px;line-height:1.95;margin-bottom:22px}
.company-page .reading-body h2,.company-page .legal-body h2{font-size:30px;line-height:1.25;margin:45px 0 22px;scroll-margin-top:140px}
.company-page .legal-body h2:first-child{margin-top:0}
.company-page .reading-body a,.company-page .legal-body a{text-decoration:underline;text-underline-offset:4px}
.company-page .reading-body .article-lead{font-size:21px;line-height:1.65;color:var(--ink)}
.company-page .article-callout{border-left:3px solid var(--orange);background:linear-gradient(110deg,#f5f5f5,#fff4eb);padding:28px;margin:35px 0}
.company-page .article-callout strong{font-size:22px;font-weight:500}
.company-page .article-callout p{font-size:14px;margin:13px 0 0}
.company-page .legal-preview{padding:23px 27px;background:var(--paper);border-left:3px solid var(--orange);margin-bottom:45px}
.company-page .legal-preview strong{font-size:13px;font-weight:500}
.company-page .legal-preview p{font-size:12px;line-height:1.8;margin-top:8px;max-width:850px}
.company-page .legal-contents{max-height:calc(100dvh - 170px);overflow:auto;padding-right:10px}
.company-page .legal-contents a{font-size:11px}
.company-page .legal-related{display:flex;flex-wrap:wrap;gap:25px;margin-top:35px;border-top:1px solid var(--line);padding-top:25px;font-size:12px}
@media(max-width:1050px){
.company-page .gallery-grid,.company-page .city-grid,.company-page .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.company-page .intro-layout,.company-page .location-map{gap:35px}
.company-page .contact-page-grid{grid-template-columns:.8fr 1.2fr;gap:30px}
.company-page .inquiry-panel{padding:25px}
.company-page .reading-layout,.company-page .legal-layout{grid-template-columns:190px minmax(0,1fr);gap:40px}
.company-page .before-after-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
.company-page .company-intro{padding:45px 0 48px}
.company-page .intro-layout,.company-page .location-map,.company-page .contact-page-grid,.company-page .reading-layout,.company-page .legal-layout{grid-template-columns:1fr;gap:30px}
.company-page .company-intro h1{font-size:40px}
.company-page .intro-layout{margin-top:20px}
.company-page .intro-layout p{font-size:14px}
.company-page .gallery-tools{padding:19px}
.company-page .filter-family{align-items:start;flex-direction:column;gap:12px}
.company-page .gallery-tools button:not(.textlink){font-size:11px;padding:10px 13px}
.company-page .gallery-grid,.company-page .city-grid,.company-page .journal-grid{gap:22px}
.company-page .gallery-card-copy{padding:22px}
.company-page .city-search>div{flex-wrap:wrap;gap:10px}
.company-page .city-search input{font-size:16px;flex-basis:100%}
.company-page .city-card{padding:25px}
.company-page .city-card h3{font-size:23px}
.company-page .travel-list{grid-template-columns:1fr 1fr;gap:12px}
.company-page .travel-list li{font-size:14px;padding:16px}
.company-page .map-art{min-height:240px}
.company-page .contact-details{position:static}
.company-page .inquiry-panel{padding:27px}
.company-page .inquiry-panel h2{font-size:32px}
.company-page .inquiry-grid{grid-template-columns:1fr}
.company-page .field input:not([type=checkbox]),.company-page .field textarea,.company-page .field select{font-size:16px}
.company-page .field input[type=file]{font-size:11px}
.company-page #inquiry-review{padding:28px 21px}
.company-page #inquiry-summary>div{grid-template-columns:1fr;gap:4px}
.company-page .journal-tools label{min-width:0;flex-basis:100%}
.company-page .journal-tools input{font-size:16px}
.company-page .journal-tools button{padding:10px 13px;font-size:11px}
.company-page .article-template-link{align-items:start;flex-direction:column;gap:12px}
.company-page .article-cover img{height:330px}
.company-page .article-contents,.company-page .legal-contents{position:static;max-height:none}
.company-page .reading-body h2,.company-page .legal-body h2{font-size:27px}
.company-page .reading-body p,.company-page .legal-body p{font-size:14px}
.company-page .reading-body .article-lead{font-size:19px}
.company-page .legal-body{overflow-wrap:anywhere}
}
@media(max-width:550px){
.company-page .gallery-grid,.company-page .city-grid,.company-page .journal-grid{grid-template-columns:1fr}
.company-page .before-after-pair{padding:20px}
.company-page .pair-images{gap:10px}
.company-page .pair-images .gallery-placeholder>span{font-size:6px;letter-spacing:.03em;bottom:5px}
.company-page .inquiry-panel{padding:22px 18px}
.company-page .company-intro h1{font-size:clamp(33px,9vw,40px)}
}
@media(prefers-reduced-motion:reduce){.company-page .journal-image img,.company-page .journal-image>span{transition:none;transform:none!important}}

.company-page #inquiry-form{scroll-margin-top:135px}

/* Claude 18/09 · live pieces on the Contact and Service area pages */
.company-page .map-art.map-live{padding:0;min-height:340px;overflow:hidden;border-radius:10px}
.company-page .map-art.map-live iframe{width:100%;height:100%;min-height:340px}
.company-page .reviews-placeholder.reviews-live{border:0;padding:0;background:transparent;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;font-size:inherit}
.company-page .reviews-live .google-review{min-height:0}
.company-page .reviews-live .avatar{object-fit:cover}
@media (max-width:900px){.company-page .reviews-placeholder.reviews-live{grid-template-columns:1fr}}
.company-page .reading-body .article-figure{margin:28px 0}
.company-page .reading-body .article-figure img{width:100%;height:auto;max-height:640px;object-fit:contain;background:var(--paper);border-radius:8px}
.company-page .reading-body h3{font-size:20px;margin:26px 0 10px}
/* Claude 18/09 · real photo gallery */
.company-page .gallery-photo{display:block;width:100%;padding:0;border:0;background:var(--paper);cursor:zoom-in;position:relative;border-bottom:1px solid var(--line);overflow:hidden}
.company-page .gallery-photo img{width:100%;height:auto;aspect-ratio:1.4;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.65,.3,1)}
.company-page .gallery-photo:hover img,.company-page .gallery-photo:focus-visible img{transform:scale(1.04)}
.company-page .gallery-zoom{position:absolute;right:12px;bottom:12px;width:34px;height:34px;border-radius:50%;background:#181a18cc;color:white;display:grid;place-items:center;font-size:14px}
.company-page .gallery-card-copy h3{font-size:14px;font-weight:500;line-height:1.4}
#gallery-empty{margin-top:24px;color:var(--graphite)}

/* Claude 18/09 · footer v2 (social, quick links, license) */
.site-footer .footer-tagline{max-width:520px;font-size:12px;line-height:1.7;margin-top:10px}
.site-footer .footer-social{text-align:right}
.site-footer .footer-social>span{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--graphite);margin-bottom:10px}
.site-footer .footer-social div{display:flex;gap:10px;justify-content:flex-end}
.site-footer .footer-social a{width:44px;height:44px;border:1px solid var(--graphite);border-radius:50%;display:grid;place-items:center;color:var(--ink);transition:background .2s,color .2s,border-color .2s}
.site-footer .footer-social a:hover,.site-footer .footer-social a:focus-visible{background:var(--orange);border-color:var(--orange);color:#000}
.site-footer .footer-social svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
.site-footer .footer-contact a{display:block}
.site-footer .bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:11px}
.site-footer .bottom a{margin-left:18px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.site-footer .footer-social{text-align:left}.site-footer .footer-social div{justify-content:flex-start}.site-footer .bottom{flex-direction:column;gap:10px}.site-footer .bottom a{margin:0 18px 0 0}}

/* Claude 18/09 · Home: no slide counters on the customer and story carousels; video as a slide */
.customer-carousel .photo-position,.home-story .photo-position{display:none}
.story-video-slide button{position:relative;display:block;width:100%;padding:0;border:0;background:var(--ink);cursor:pointer;text-align:left;color:white}
.story-video-slide button img{opacity:.75}
.story-video-slide .play{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:64px;height:64px;font-size:22px}
.story-video-slide .story-video-label{position:absolute;left:24px;right:24px;bottom:22px;font-size:16px;font-weight:600}
.story-video-slide .story-video-label small{display:block;font-weight:400;font-size:12px;color:#eee}
/* Claude 19/09 · video play badge, home map, about client photo, installation photo pair */
.story-video-slide .play-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;background:var(--orange);display:grid;place-items:center;box-shadow:0 8px 24px #0006}
.story-video-slide .play-badge svg{width:30px;height:30px;fill:#000;margin-left:4px}
.story-video-slide button img{opacity:.85}
.contact .map-embed{margin:22px 0 6px}
.contact .map-embed iframe{width:100%;height:220px}
.contact .map-embed .textlink{color:white;margin-top:10px}
.choice-page .team-photo,.company-page .team-photo,.team-photo{margin:40px 0 0;position:relative;border:1px solid var(--line);background:white}
.team-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:70% 45%;display:block}
.team-photo figcaption{padding:20px 24px;display:flex;flex-direction:column;gap:4px}
.team-photo figcaption strong{font-size:22px;font-weight:500;letter-spacing:-.02em}
.team-photo figcaption span{font-size:13px;color:var(--graphite)}
.service-page .service-pair .pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.service-page .service-pair .service-photo img{aspect-ratio:3/4;object-fit:cover;height:auto}
@media(max-width:760px){.team-photo img{aspect-ratio:1.2}.service-page .service-pair .pair{gap:8px}}
/* Claude 19/09 · About: people + owner */
.about-people{margin-top:0}.about-craft-head{margin-top:80px}
.about-people img{object-position:70% 45%}
.about-owner{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center;margin-top:70px;padding-top:60px;border-top:1px solid var(--line)}
.about-owner figure{margin:0}
.about-owner img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:6px}
.about-owner h3{font-size:clamp(29px,3vw,42px);line-height:1.15;margin:12px 0 6px}
.about-owner .owner-role{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--orange);font-weight:600;margin-bottom:20px}
.about-owner p{font-size:14px;line-height:1.85;margin-bottom:20px}
.about-owner .owner-points{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:14px}
.about-owner .owner-points li{display:grid;gap:2px;padding-left:18px;border-left:2px solid var(--orange)}
.about-owner .owner-points strong{font-size:14px;font-weight:600}
.about-owner .owner-points span{font-size:13px;color:var(--graphite)}
@media(max-width:760px){.about-owner{margin-top:44px}.about-craft-head{margin-top:50px}.about-owner{grid-template-columns:1fr;gap:28px;padding-top:40px}.about-owner img{aspect-ratio:1}}
/* material catalogs (quartz colors, Easy Stones stones) */
.catalog-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:22px 0 8px}
.catalog-tools .color-filters{margin:0}
.catalog-search{position:relative;min-width:260px;flex:1;max-width:340px}
.catalog-search input{width:100%;margin:0;padding:11px 14px 11px 38px;border:1px solid var(--line);border-radius:3px;font-size:13px;background:white}
.catalog-search svg{position:absolute;left:13px;top:50%;width:16px;height:16px;transform:translateY(-50%);stroke:var(--graphite);fill:none;stroke-width:1.6}
#catalog-count{font-size:11px;color:var(--graphite);margin:0 0 18px;letter-spacing:.04em}
.stone-grid{grid-template-columns:repeat(3,1fr);gap:28px 22px}
.stone-card .stone-photo{display:block;width:100%;padding:0;border:1px solid var(--line);background:var(--paper);cursor:zoom-in;overflow:hidden;border-radius:3px}
.stone-card .stone-photo img{width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;transition:transform .35s}
.stone-card .stone-photo:hover img{transform:scale(1.04)}
.stone-card p{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:10px}
.grade-tag{display:inline-block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;padding:3px 7px;border-radius:2px;background:var(--paper);border:1px solid var(--line);color:var(--ink)}
.grade-tag.grade-high{border-color:#d9c7b5;background:#f7efe6}
.grade-tag.grade-luxury{border-color:#e6b58f;background:#fdece0;color:#8a3d05}
.stone-meta{font-size:10px;color:var(--graphite)}
.stone-card .stock{display:block;width:100%;font-size:10px;color:var(--graphite);margin-top:2px}
.stone-card .stock a{border-bottom:1px solid;color:var(--ink)}
.catalog-source{font-size:11px;color:var(--graphite);margin-top:26px;max-width:880px}
@media(max-width:1000px){.stone-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.stone-grid{grid-template-columns:1fr 1fr;gap:20px 12px}.catalog-search{min-width:0;max-width:none;width:100%}}
/* header v7: uppercase nav with orange underline on the current section (direction: current WordPress header) */
@media(min-width:1101px){.site-header .head{height:100px}.site-header .nav{gap:26px}}
.site-header .nav > a:not(.btn), .nav-group > summary{position:relative;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#f3f3f1;padding:4px 0}
.site-header .nav > a:not(.btn)::before, .nav-group > summary::before{content:'';position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.site-header .nav > a:not(.btn):hover::before, .nav-group > summary:hover::before, .site-header .nav > a[aria-current=page]::before, .nav-group.is-current > summary::before, .nav-group[open] > summary::before{transform:scaleX(1)}
.nav-group > summary::after{width:0;height:0;border:4px solid transparent;border-top:5px solid currentColor;border-bottom:0;transform:translateY(1px);transition:transform .15s}
.nav-group[open] > summary::after{transform:translateY(-1px) rotate(180deg)}
.site-header .nav .btn{font-size:11px;letter-spacing:.06em;padding:13px 18px}
.site-header .phone{font-size:14px;font-weight:600;letter-spacing:.02em}
.site-header .phone small{font-size:8px;letter-spacing:.14em;font-weight:400;opacity:.85}
@media(max-width:1180px){.site-header .nav{gap:16px}.site-header .nav > a:not(.btn), .nav-group > summary{letter-spacing:.08em;font-size:10.5px}}
@media(max-width:1100px){.site-header .nav > a:not(.btn), .nav-group > summary{font-size:12px;letter-spacing:.12em;padding:8px 0}.site-header .nav > a:not(.btn)::before, .nav-group > summary::before{display:none}.site-header .nav > a[aria-current=page]:not(.btn), .nav-group.is-current > summary{color:var(--orange)}}
.bundle-thumbs{display:flex;gap:6px;margin-top:8px}
.bundle-thumb{width:44px;height:32px;padding:0;border:1px solid var(--line);background:var(--paper);overflow:hidden;border-radius:2px;cursor:zoom-in}
.bundle-thumb img{width:100%;height:100%;object-fit:cover;aspect-ratio:auto}
.stone-card .color-placeholder{aspect-ratio:1.6}
/* brands strip (material pages) */
.brands{background:var(--paper);padding:60px 0}
.brand-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.brand-list li{background:white;border:1px solid var(--line);padding:22px 16px 18px;text-align:center;display:grid;gap:4px;min-height:96px;align-content:center}
.brand-list span{font-size:15px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.brand-list small{font-size:10px;letter-spacing:.06em;color:var(--graphite);text-transform:uppercase}
.brands-note{font-size:12px;color:var(--graphite);margin-top:18px}
@media(max-width:1000px){.brand-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.brands{padding:44px 0}.brand-list{grid-template-columns:1fr 1fr;gap:10px}.brand-list li{padding:16px 10px;min-height:80px}.brand-list span{font-size:13px}}
.brand-logos li{padding:14px 18px;min-height:90px}
.brand-logos img{width:100%;height:auto;max-height:62px;object-fit:contain;filter:grayscale(1);opacity:.85;transition:filter .2s,opacity .2s}
.brand-logos li:hover img{filter:none;opacity:1}
.legal-date{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--graphite);margin-bottom:22px}
.photo-nav{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:10px;color:white;font-size:12px;letter-spacing:.08em}
.photo-nav button{width:44px;height:44px;border:1px solid #ffffff60;background:transparent;color:white;font-size:24px;line-height:1;border-radius:50%;cursor:pointer}
.photo-nav button:hover{background:#ffffff20}
.photo-nav[hidden]{display:none}

@media(max-width:760px){header.site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(28,29,28,.94)}}

.city-page .choice-two{margin-top:0}.city-page .choice-facts h3{font-size:19px}.city-page .service-related{margin-top:22px;font-size:12px;line-height:2}.city-page .service-related a{border-bottom:1px solid}
@media(max-width:760px){.city-page .choice-two,.city-page .choice-facts{grid-template-columns:1fr;gap:26px}}
/* cities we serve: clickable chips */
.city-strip{padding:70px 0;border-top:1px solid var(--line)}
.city-strip.light{background:var(--paper)}
.city-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.city-chips a{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border:1px solid var(--ink);border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--ink);background:white;transition:background .15s,color .15s,border-color .15s}
.city-chips a:hover{background:var(--ink);color:white}
.city-chips a[aria-current=page]{background:var(--orange);border-color:var(--orange);color:var(--black)}
@media(max-width:760px){.city-strip{padding:48px 0}.city-chips a{font-size:12px;padding:9px 14px}}
/* inline planner card on city pages */
.planner-inline{padding:70px 0}
.planner-inline .planner-sub{font-size:14px;margin:22px 0 10px}
.mat-choices{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.mat-choices .mat{border:1px solid var(--line);background:white;padding:11px 16px;min-height:44px;font-size:12px;font-weight:600;letter-spacing:.04em;border-radius:3px;cursor:pointer}
.mat-choices .mat[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}
.mat-choices .mat:disabled{opacity:.4;cursor:default}
@media(max-width:760px){.planner-inline{padding:48px 0}}
/* contact page: direct list, steps, trust */
.contact-details .direct-list{display:grid;gap:14px;margin:22px 0}
.contact-details .direct-list div{padding-left:14px;border-left:2px solid var(--orange)}
.contact-details .direct-list dt{font-weight:600;font-size:13px}
.contact-details .direct-list dt a{border-bottom:1px solid}
.contact-details .direct-list dd{margin:2px 0 0;font-size:12px;color:var(--graphite)}
.inquiry-sub{font-size:13px;color:var(--graphite);margin:-8px 0 18px}
.field-help{font-size:11px;color:var(--graphite);margin:6px 0 0}
.contact-steps,.contact-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.contact-trust{grid-template-columns:repeat(4,1fr)}
.contact-steps article,.contact-trust article{border-top:1px solid var(--line);padding-top:22px}
.contact-steps h3,.contact-trust h3{font-size:18px;margin-bottom:10px}
.contact-steps p,.contact-trust p{font-size:13px;line-height:1.8}
@media(max-width:900px){.contact-trust{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.contact-steps,.contact-trust{grid-template-columns:1fr;gap:22px}}
.review-line{font-size:13px;font-weight:600;margin-top:4px}.plain-button{background:none;border:0;cursor:pointer;font:inherit;color:inherit}
.hero-proof{font-size:12px;letter-spacing:.06em;color:#f5f5f5;margin:-8px 0 22px;padding-left:14px;border-left:2px solid var(--orange)}
