@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=DM+Serif+Display:ital@0;1&family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Space+Grotesk:wght@500;600;700&display=swap');

:root { --paper:#fbf8f1; --ink:#201f1b; --muted:#68645c; --line:#ddd6ca; --brand:#395741; --brand-dark:#1d3125; --accent:#ad3926; --display:'Fraunces',Georgia,serif; --sans:'DM Sans',Arial,sans-serif; --mono:'DM Mono',monospace; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); -webkit-font-smoothing:antialiased; } a { color:inherit; } button,input,select,textarea { font:inherit; } button { cursor:pointer; } img { display:block; max-width:100%; } h1,h2,h3,h4,p { overflow-wrap:break-word; }
.demo-flag { display:flex; justify-content:center; gap:9px; padding:10px 18px; color:#fff; background:var(--brand-dark); font:500 9px/1.4 var(--mono); letter-spacing:.07em; text-align:center; }.demo-flag b { color:#f2cea6; font-weight:500; }.demo-nav { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; max-width:1440px; min-height:80px; gap:24px; padding:14px clamp(22px,5vw,80px); margin:auto; }.demo-logo { display:grid; width:fit-content; color:var(--ink); font:500 25px/.75 var(--display); letter-spacing:-.06em; text-decoration:none; }.demo-logo small { margin-top:7px; color:var(--muted); font:500 7px var(--mono); letter-spacing:.16em; }.demo-logo-image { display:flex; align-items:center; width:clamp(178px,19vw,270px); height:54px; overflow:hidden; text-decoration:none; }.demo-logo-image img { width:100%; height:100%; object-fit:contain; object-position:left center; }.demo-links { display:flex; gap:clamp(15px,2.5vw,37px); font-size:11px; }.demo-links a { padding-bottom:3px; border-bottom:1px solid transparent; text-decoration:none; }.demo-links a:hover { border-color:currentColor; }.nav-call { justify-self:end; padding:11px 14px; color:#fff; background:var(--brand-dark); font-size:11px; font-weight:700; text-decoration:none; }
.demo-hero { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.85fr); min-height:620px; overflow:hidden; background:#d9d6cc; }.hero-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(17,25,18,.9) 0%,rgba(17,25,18,.66) 44%,rgba(17,25,18,.12) 78%); }.hero-copy { position:relative; z-index:1; align-self:end; max-width:750px; padding:70px clamp(22px,8vw,130px) 86px; color:#fff; }.hero-kicker { margin:0 0 17px; color:#ffe0a8; font:500 9px var(--mono); letter-spacing:.11em; }.demo-hero h1 { max-width:720px; margin:0 0 21px; font:500 clamp(55px,7vw,101px)/.98 var(--display); letter-spacing:-.04em; }.demo-hero h1 em { color:#ffe0a8; font-style:italic; }.hero-copy>p:not(.hero-kicker) { max-width:515px; margin:0 0 29px; color:#fffdf8; font-size:16px; line-height:1.62; }.demo-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:49px; padding:12px 17px; color:#fff; border:1px solid var(--accent); background:var(--accent); font-size:11px; font-weight:700; text-decoration:none; transition:transform .16s ease,background .16s ease; }.demo-button:hover { transform:translateY(-2px); background:#8e291c; }.demo-button.light { color:var(--ink); border-color:#fff; background:#fff; }.demo-button.ghost { color:inherit; border-color:currentColor; background:transparent; }.hero-fact { position:relative; z-index:1; align-self:end; justify-self:end; width:min(290px,85%); margin:0 clamp(22px,5vw,75px) 50px 0; padding:22px; color:var(--ink); background:#fff7e8; box-shadow:0 10px 28px rgba(0,0,0,.2); }.hero-fact span { color:var(--accent); font:500 9px var(--mono); letter-spacing:.1em; }.hero-fact b { display:block; margin:14px 0 8px; font:500 31px/1 var(--display); letter-spacing:-.03em; }.hero-fact p { margin:0; color:#514b42; font-size:12px; line-height:1.53; }
.info-strip { display:grid; grid-template-columns:1.1fr 1fr 1fr auto; align-items:center; gap:22px; padding:21px clamp(22px,7vw,120px); color:#37362f; background:#fffdf9; border-bottom:1px solid var(--line); font-size:12px; }.info-strip span { color:var(--muted); }.info-strip b { margin-right:5px; color:var(--ink); }.info-strip a { padding:10px 13px; color:#fff; background:var(--brand-dark); font-size:10px; font-weight:700; text-decoration:none; white-space:nowrap; }
.site-section { padding:clamp(72px,8vw,126px) clamp(22px,8vw,130px); }.section-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(230px,.5fr); gap:42px; align-items:end; }.section-kicker { margin:0 0 17px; color:var(--accent); font:500 9px var(--mono); letter-spacing:.12em; }.section-head h2,.solo-head h2 { max-width:730px; margin:0; font:500 clamp(45px,5.35vw,80px)/1 var(--display); letter-spacing:-.04em; }.section-head>p,.solo-head>p { max-width:430px; margin:0 0 5px; color:var(--muted); font-size:15px; line-height:1.64; }.solo-head { max-width:730px; }.split-section { display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); align-items:start; gap:clamp(40px,8vw,130px); }.dark-section { color:#fffaf1; background:var(--brand-dark); }.dark-section .section-kicker { color:#ffda92; }.dark-section .section-head>p { color:#f0ede5; }.dark-section .section-head h2 { color:#fffdf8; }.site-footer { display:grid; grid-template-columns:1fr 1fr auto; gap:28px; padding:32px clamp(22px,6vw,94px); color:#d6d9d1; background:#152219; font-size:10px; }.site-footer .demo-logo { color:#fff; }.site-footer .demo-logo small { color:#bfc7ba; }.site-footer p { margin:0; line-height:1.55; }

/* Alder & Stone — Italian pizza bar */
.alder { --paper:#fbf6ed; --ink:#2c241b; --muted:#74695b; --line:#e2d6c4; --brand:#31563b; --brand-dark:#193827; --accent:#a43d2b; }.alder .demo-logo { font-size:29px; }.alder .demo-hero { min-height:665px; }.alder .hero-photo { object-position:58% 55%; }.alder .hero-fact { transform:rotate(2deg); }.alder .hero-fact::after { content:'wood-fired every night'; position:absolute; bottom:-24px; left:18px; color:#a43d2b; font:500 20px/1 var(--display); font-style:italic; }.alder-intro { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(35px,8vw,120px); align-items:center; }.alder-intro-copy h2 { margin:0 0 19px; font:500 clamp(45px,5.15vw,75px)/1 var(--display); letter-spacing:-.04em; }.alder-intro-copy p { max-width:510px; margin:0; color:var(--muted); font-size:16px; line-height:1.65; }.alder-intro-stats { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:#fff; border:1px solid var(--line); }.alder-intro-stats div { min-height:157px; padding:23px; background:#f8f0e2; }.alder-intro-stats span { color:var(--accent); font:500 9px var(--mono); letter-spacing:.1em; }.alder-intro-stats b { display:block; margin-top:32px; font:500 27px/1 var(--display); letter-spacing:-.035em; }.alder-gallery { display:grid; grid-template-columns:1.1fr .9fr .9fr; gap:15px; margin-top:50px; }.alder-gallery figure { position:relative; min-height:340px; margin:0; overflow:hidden; }.alder-gallery figure:first-child { grid-row:span 2; min-height:695px; }.alder-gallery img { width:100%; height:100%; object-fit:cover; }.alder-gallery figure:first-child img { object-position:center; }.alder-gallery figcaption { position:absolute; bottom:12px; left:13px; padding:7px 9px; color:#fff; background:rgba(18,31,22,.86); font:500 8px var(--mono); letter-spacing:.08em; }.pie-builder { display:grid; grid-template-columns:minmax(0,1.06fr) minmax(275px,.65fr); gap:48px; margin-top:50px; }.builder-steps { display:grid; gap:24px; }.builder-step { padding-top:20px; border-top:1px solid rgba(255,255,255,.4); }.builder-step h3 { display:flex; gap:11px; align-items:center; margin:0 0 15px; color:#fffdf5; font:500 27px/1 var(--display); letter-spacing:-.025em; }.builder-step h3 span { display:grid; place-items:center; width:24px; height:24px; color:var(--brand-dark); border-radius:50%; background:#ffe09e; font:500 9px var(--mono); }.option-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.choice,.topping { padding:12px; color:#fff9ef; border:1px solid rgba(255,255,255,.55); background:rgba(255,255,255,.06); font-size:11px; line-height:1.4; text-align:left; }.choice:hover,.topping:hover { border-color:#fff0ca; background:rgba(255,255,255,.13); }.choice.selected,.topping.selected { color:#1d3527; border-color:#ffe09e; background:#ffe09e; }.choice small { display:block; margin-top:5px; color:inherit; opacity:.9; font-size:9px; line-height:1.45; }.toppings { display:flex; flex-wrap:wrap; gap:9px; }.topping { width:auto; border-radius:30px; }.order-ticket { align-self:start; padding:26px; color:var(--ink); background:#fff4df; box-shadow:12px 14px 0 rgba(242,225,196,.22); }.ticket-label { padding-bottom:15px; border-bottom:1px dashed #9d927f; color:#8d3020; font:500 9px var(--mono); letter-spacing:.1em; }.order-ticket h3 { margin:20px 0 5px; font:500 37px/1 var(--display); letter-spacing:-.04em; }.order-ticket p { margin:0; color:#5e5549; font-size:12px; }.ticket-lines { display:grid; gap:10px; padding:22px 0; margin-top:22px; border-top:1px dashed #9d927f; border-bottom:1px dashed #9d927f; font-size:12px; }.ticket-lines div { display:flex; justify-content:space-between; gap:12px; }.ticket-total { display:flex; justify-content:space-between; align-items:end; padding:18px 0 15px; }.ticket-total span { font:500 9px var(--mono); letter-spacing:.09em; }.ticket-total b { font:500 43px/.92 var(--display); letter-spacing:-.04em; }.ticket-note { min-height:42px; margin-top:10px!important; color:#31563b!important; font-size:11px!important; }.menu-board { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(18px,3vw,43px); margin-top:50px; }.menu-column { padding-top:15px; border-top:3px solid var(--brand); }.menu-column:nth-child(2) { border-color:var(--accent); }.menu-column:nth-child(3) { border-color:#b5873a; }.menu-column h3 { margin:0 0 22px; font:500 33px/1 var(--display); letter-spacing:-.035em; }.menu-item { display:grid; grid-template-columns:1fr auto; gap:13px; padding:12px 0; border-bottom:1px solid var(--line); }.menu-item b { font-size:13px; }.menu-item span { color:var(--accent); font:500 11px var(--mono); }.menu-item p { grid-column:1 / -1; margin:-5px 0 0; color:var(--muted); font-size:11px; line-height:1.4; }.deal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:48px; }.deal { padding:22px; color:#2b2119; background:#e9dbc4; }.deal:nth-child(2) { background:#d1d7c8; }.deal:nth-child(3) { color:#fff; background:#a43d2b; }.deal span { font:500 9px var(--mono); letter-spacing:.1em; }.deal b { display:block; min-height:58px; margin:23px 0 16px; font:500 30px/1 var(--display); letter-spacing:-.035em; }.deal p { margin:0; font-size:12px; line-height:1.48; }.visit { display:grid; grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr); gap:clamp(38px,7vw,110px); align-items:start; }.visit h2 { max-width:500px; margin:0 0 20px; font:500 clamp(46px,5vw,75px)/1 var(--display); letter-spacing:-.04em; }.visit p { max-width:460px; color:var(--muted); font-size:14px; line-height:1.62; }.hours { margin-top:27px; border-top:1px solid var(--line); }.hours div { display:flex; justify-content:space-between; gap:20px; padding:11px 0; border-bottom:1px solid var(--line); font-size:12px; }.visit-map { min-height:430px; border:0; width:100%; filter:saturate(.68) contrast(.91); }.visit-actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:25px; }

/* Alder order and gallery refinements */
.alder-gallery { grid-template-columns:1.12fr .88fr; grid-template-rows:repeat(2,minmax(280px,1fr)); }.alder-gallery figure { min-height:0; }.alder-gallery figure:first-child { grid-row:span 2; min-height:575px; }.menu-item { grid-template-columns:minmax(0,1fr) auto; align-items:start; }.menu-item p { margin:-4px 0 0; }.menu-add { grid-column:1 / -1; justify-self:start; margin-top:4px; padding:7px 9px; color:#2d4d35; border:1px solid #8eab91; background:transparent; font:600 9px var(--mono); letter-spacing:.04em; text-transform:uppercase; transition:background .16s ease,color .16s ease; }.menu-add:hover { color:#fffdf7; border-color:#31563b; background:#31563b; }.builder-add { display:flex; align-items:center; justify-content:space-between; width:100%; margin-top:2px; padding:15px 17px; color:#193827; border:1px solid #ffe09e; background:#ffe09e; font-size:12px; font-weight:700; }.builder-add span { font-size:19px; line-height:1; }.builder-add:hover { background:#fff1c8; }.order-ticket { position:sticky; top:18px; }.ticket-lines { gap:0; min-height:102px; }.cart-empty { color:#716655!important; font-style:italic; }.cart-line { display:grid!important; grid-template-columns:minmax(0,1fr) auto 22px; align-items:start; gap:9px; padding:8px 0; border-bottom:1px solid rgba(157,146,127,.25); }.cart-line:last-child { border-bottom:0; }.cart-line span { line-height:1.35; }.cart-line b { white-space:nowrap; }.remove-item,.ticket-clear { padding:0; color:#8d3020; border:0; background:transparent; font:500 17px/1 var(--sans); }.ticket-clear { display:block; margin:0 auto; font:500 9px var(--mono); letter-spacing:.08em; text-decoration:underline; text-underline-offset:3px; }.deal { display:grid; grid-template-rows:184px auto; padding:0; overflow:hidden; }.deal img { width:100%; height:184px; object-fit:cover; object-position:center; }.deal:nth-child(2) img { object-position:center 62%; }.deal:nth-child(3) img { object-position:center; }.deal>div { padding:22px; }.deal b { min-height:0; margin:18px 0 10px; }.deal p { min-height:36px; }

/* Thread & Tide — calm editorial hair studio */
.thread { --paper:#f7f5f0; --ink:#253035; --muted:#657076; --line:#d7dcd8; --brand:#5c7e78; --brand-dark:#263c3e; --accent:#bd766a; --display:'DM Serif Display',Georgia,serif; }.thread .demo-flag { color:#fdfcf9; background:#bd766a; }.thread .demo-flag b { color:#fff; }.thread .demo-nav { min-height:86px; }.thread .demo-logo { color:#263c3e; font-size:33px; letter-spacing:-.025em; }.thread .nav-call { background:#263c3e; }.thread .demo-hero { min-height:650px; color:#243a3b; background:#e6e1d8; }.thread .hero-photo { object-position:59% center; }.thread .hero-shade { background:linear-gradient(90deg,rgba(248,246,241,.98) 0%,rgba(248,246,241,.82) 48%,rgba(248,246,241,.22) 78%); }.thread .hero-copy { color:#243a3b; }.thread .hero-kicker { color:#a85e53; }.thread .demo-hero h1 { max-width:670px; font-size:clamp(63px,7.3vw,103px); line-height:.98; letter-spacing:-.03em; }.thread .demo-hero h1 em { color:#a85e53; }.thread .hero-copy>p:not(.hero-kicker) { color:#40555a; }.thread .hero-fact { color:#243a3b; background:#f6ddd5; box-shadow:none; transform:translateY(16px); }.thread .hero-fact span { color:#8e4d45; }.thread .hero-fact b { font-size:34px; }.thread .hero-fact p { color:#4d4d49; }.thread .demo-button { border-color:#263c3e; background:#263c3e; }.thread .demo-button:hover { background:#5c7e78; }.thread .intro-image { position:relative; }.thread .intro-image img { width:100%; aspect-ratio:1.12; object-fit:cover; object-position:center; }.thread .intro-image span { position:absolute; right:-12px; bottom:-14px; padding:12px; color:#253a3a; background:#f2dcd2; font:500 10px var(--mono); letter-spacing:.08em; }.thread .intro-copy h2 { margin:0 0 20px; font:400 clamp(53px,5.7vw,80px)/1 var(--display); letter-spacing:-.03em; }.thread .intro-copy p { margin:0; color:var(--muted); font-size:15px; line-height:1.62; }.thread .studio-facts { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:30px; border:1px solid var(--line); }.thread .studio-facts div { padding:17px; background:#fbfaf7; }.thread .studio-facts span { color:#a85e53; font:500 9px var(--mono); letter-spacing:.08em; }.thread .studio-facts b { display:block; margin-top:14px; font:400 25px/1 var(--display); }.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin-top:48px; }.service-card { min-height:270px; padding:22px; background:#e7eff0; }.service-card:nth-child(2) { background:#f1dfd6; }.service-card:nth-child(3) { background:#e9e4d5; }.service-card span { font:500 9px var(--mono); letter-spacing:.09em; }.service-card h3 { margin:82px 0 10px; font:400 37px/1 var(--display); letter-spacing:-.03em; }.service-card p { margin:0; color:#536164; font-size:12px; line-height:1.54; }.hair-gallery { display:grid; grid-template-columns:1fr .7fr .7fr; gap:15px; margin-top:49px; }.hair-gallery figure { position:relative; min-height:280px; margin:0; overflow:hidden; }.hair-gallery figure:first-child { grid-row:span 2; min-height:575px; }.hair-gallery img { width:100%; height:100%; object-fit:cover; }.hair-gallery figure:first-child img { object-position:64% center; }.hair-gallery figcaption { position:absolute; bottom:11px; left:11px; padding:7px 9px; color:#263c3e; background:#fbf9f4; font:500 8px var(--mono); letter-spacing:.07em; }.booking-layout { display:grid; grid-template-columns:minmax(270px,.86fr) minmax(0,1.14fr); gap:clamp(42px,8vw,120px); align-items:start; }.booking-intro h2 { margin:0 0 20px; font:400 clamp(51px,5.5vw,80px)/1 var(--display); letter-spacing:-.03em; }.booking-intro p { color:#e5efe8; font-size:15px; line-height:1.62; }.booking-flow { display:grid; grid-template-columns:1.1fr .9fr; gap:1px; background:#a6bfba; }.booking-panel,.automation-panel { padding:25px; color:#253d3f; background:#f8f6f0; }.automation-panel { color:#f1f6ee; background:#385a58; }.booking-panel h3,.automation-panel h3 { margin:16px 0 17px; font:400 34px/1 var(--display); letter-spacing:-.025em; }.booking-panel label { display:grid; gap:8px; margin-top:16px; font-size:10px; font-weight:700; }.booking-panel select,.booking-panel input { width:100%; padding:11px 0; border:0; border-bottom:1px solid #cfd6d2; border-radius:0; outline:0; background:transparent; font-size:13px; }.date-picks { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }.date-picks button { padding:9px 4px; color:#385a58; border:1px solid #b9c7c2; background:transparent; font-size:10px; }.date-picks button.selected { color:#fff; border-color:#385a58; background:#385a58; }.booking-submit { width:100%; margin-top:20px; padding:13px; color:#fff; border:0; background:#a85e53; font-size:11px; font-weight:700; }.automation-panel>span { color:#d4e6d6; font:500 9px var(--mono); letter-spacing:.1em; }.automation-steps { display:grid; gap:15px; margin-top:25px; }.automation-steps div { position:relative; padding-left:28px; font-size:12px; line-height:1.48; }.automation-steps div::before { content:''; position:absolute; left:0; top:2px; width:12px; height:12px; border:1px solid #d4e6d6; border-radius:50%; }.automation-steps div:first-child::before { background:#d4e6d6; }.booking-result { min-height:19px; margin:16px 0 0; color:#dfeee3; font-size:11px; }.thread .visit-map { filter:hue-rotate(110deg) saturate(.55); }

/* Ridge & Rail — architectural renovation studio */
.ridge { --paper:#f2f1ed; --ink:#202827; --muted:#59645f; --line:#cdd2cc; --brand:#526a63; --brand-dark:#202d2c; --accent:#8a6a4a; --display:'Space Grotesk',Arial,sans-serif; }.ridge .demo-flag { background:#202d2c; }.ridge .demo-flag b { color:#ead4ad; }.ridge .demo-nav { min-height:83px; }.ridge .demo-logo { font:700 17px/.95 'Space Grotesk',sans-serif; letter-spacing:.02em; text-transform:uppercase; }.ridge .demo-logo small { font-size:7px; letter-spacing:.2em; }.ridge .nav-call { background:#202d2c; }.ridge .demo-hero { min-height:648px; }.ridge .hero-photo { object-position:55% center; }.ridge .hero-shade { background:linear-gradient(90deg,rgba(22,29,28,.91),rgba(22,29,28,.68) 45%,rgba(22,29,28,.12) 78%); }.ridge .demo-hero h1 { font:600 clamp(49px,6vw,86px)/1 'Space Grotesk',sans-serif; letter-spacing:-.045em; text-transform:uppercase; }.ridge .demo-hero h1 em { color:#f0d4a5; font-style:normal; }.ridge .hero-fact { color:#202d2c; background:#e6ebe2; transform:translate(-10px,14px); }.ridge .hero-fact b { font:700 29px/1.03 'Space Grotesk',sans-serif; letter-spacing:-.025em; text-transform:uppercase; }.ridge .hero-fact span { color:#6a5540; }.ridge .hero-fact p { color:#4c5852; }.ridge .intro-copy h2,.ridge .booking-intro h2,.ridge .visit h2 { margin:0 0 21px; font:600 clamp(41px,4.7vw,69px)/1.04 'Space Grotesk',sans-serif; letter-spacing:-.045em; text-transform:uppercase; }.ridge .intro-copy p,.ridge .booking-intro p { color:var(--muted); font-size:15px; line-height:1.64; }.ridge .intro-image { display:grid; grid-template-columns:1.15fr .85fr; gap:14px; }.ridge .intro-image img { width:100%; height:100%; min-height:275px; object-fit:cover; }.ridge .intro-image img:first-child { object-position:center; }.ridge .intro-image img:last-child { margin-top:55px; object-position:center; }.project-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; margin-top:50px; }.project-card { border-top:4px solid #202d2c; }.project-card:nth-child(2) { border-color:#8a6a4a; }.project-card:nth-child(3) { border-color:#81948d; }.project-card img { width:100%; aspect-ratio:1.15; object-fit:cover; }.project-card:nth-child(1) img { object-position:center; }.project-card:nth-child(2) img { object-position:55% center; }.project-card h3 { margin:17px 0 9px; font:700 25px/1.08 'Space Grotesk',sans-serif; letter-spacing:-.025em; text-transform:uppercase; }.project-card p { margin:0; color:var(--muted); font-size:12px; line-height:1.56; }.project-card span { display:block; margin-top:14px; color:#775838; font:500 9px var(--mono); letter-spacing:.08em; }.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:50px; background:#6e817d; }.process-card { min-height:245px; padding:23px; color:#f0f3ef; background:#2b3f3d; }.process-card:nth-child(2) { background:#38514d; }.process-card:nth-child(3) { color:#2a3431; background:#dfe6dc; }.process-card span { color:#f0d4a5; font:500 9px var(--mono); letter-spacing:.1em; }.process-card:nth-child(3) span { color:#76583b; }.process-card h3 { margin:73px 0 10px; font:600 27px/1.06 'Space Grotesk',sans-serif; letter-spacing:-.025em; text-transform:uppercase; }.process-card p { margin:0; font-size:12px; line-height:1.55; }.quote-layout { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr); gap:clamp(40px,8vw,130px); align-items:start; }.quote-form { display:grid; gap:16px; padding:27px; color:#202d2c; background:#e5e8e1; }.quote-form label { display:grid; gap:8px; font-size:10px; font-weight:700; }.quote-form input,.quote-form textarea { width:100%; padding:10px 0; color:#202d2c; border:0; border-bottom:1px solid #aab4ad; outline:0; background:transparent; font-size:13px; resize:vertical; }.quote-form button { margin-top:7px; padding:13px; color:#fff; border:0; background:#755735; font-size:11px; font-weight:700; }.quote-result { min-height:18px; margin:0; color:#526a63; font-size:11px; text-align:center; }.ridge .visit { color:#edf1eb; background:#202d2c; }.ridge .visit p { color:#d6ded6; }.ridge .hours { border-color:#4e625e; }.ridge .hours div { border-color:#4e625e; }.ridge .visit-map { filter:grayscale(.3) contrast(.92); }

@media (max-width:900px) { .demo-nav { grid-template-columns:1fr auto; }.demo-links { display:none; }.demo-hero { grid-template-columns:1fr; min-height:auto; }.hero-copy { padding-top:90px; padding-bottom:44px; }.hero-fact { margin:-4px 22px 42px auto; }.info-strip { grid-template-columns:1fr 1fr; }.info-strip a { grid-column:1 / -1; width:fit-content; }.alder-intro,.split-section,.booking-layout,.quote-layout,.visit { grid-template-columns:1fr; }.alder-gallery,.hair-gallery { grid-template-columns:1fr 1fr; }.alder-gallery figure:first-child,.hair-gallery figure:first-child { grid-column:1 / -1; grid-row:auto; min-height:410px; }.pie-builder { grid-template-columns:1fr; }.order-ticket { max-width:480px; }.menu-board,.service-grid,.project-grid,.process-grid { grid-template-columns:1fr; }.deal-grid { grid-template-columns:repeat(3,1fr); }.ridge .intro-image { max-width:680px; }.booking-flow { max-width:650px; }.site-footer { grid-template-columns:1fr; } }
@media (max-width:580px) { .demo-flag { padding:9px 12px; font-size:8px; }.demo-nav { min-height:72px; padding:13px 18px; }.demo-logo { font-size:24px; }.nav-call { padding:9px 11px; font-size:10px; }.hero-copy { padding:73px 22px 34px; }.demo-hero h1,.thread .demo-hero h1,.ridge .demo-hero h1 { font-size:58px; }.hero-copy>p:not(.hero-kicker) { font-size:14px; }.hero-fact { width:calc(100% - 44px); margin:0 22px 30px; transform:none!important; }.info-strip { grid-template-columns:1fr; padding:16px 22px; gap:9px; }.site-section { padding:73px 22px; }.section-head { grid-template-columns:1fr; gap:21px; }.section-head h2,.solo-head h2,.alder-intro-copy h2,.thread .intro-copy h2,.ridge .intro-copy h2,.booking-intro h2,.visit h2 { font-size:51px; }.alder-gallery,.hair-gallery { grid-template-columns:1fr; }.alder-gallery figure:first-child,.hair-gallery figure:first-child { min-height:350px; }.alder-gallery figure,.hair-gallery figure { min-height:285px; }.option-grid { grid-template-columns:1fr 1fr; }.deal-grid { grid-template-columns:1fr; }.deal b { min-height:0; margin:17px 0 10px; }.visit-map { min-height:330px; }.booking-flow { grid-template-columns:1fr; }.intro-image { margin-top:10px; }.thread .intro-image span { right:0; }.ridge .intro-image { grid-template-columns:1fr; }.ridge .intro-image img:last-child { margin-top:0; }.site-footer { padding:25px 22px; }.process-card h3,.service-card h3 { margin-top:55px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.demo-button { transition:none; } }
