@font-face {
    font-family: "Pretendard Variable";
    font-style: normal;
    font-weight: 45 920;
    font-display: swap;
    src: url("/demo-assets/fonts/PretendardVariable.woff2") format("woff2-variations");
}

:root { --demo-font: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; color: var(--ink); background: var(--paper); font-family: var(--demo-font); line-height: 1.65; letter-spacing: -.018em; word-break: keep-all; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
img { display: block; width: 100%; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { color: inherit; font: inherit; }
.theme-interior { --accent: #525946; --accent2: #989178; --ink: #191a17; --muted: #66675f; --paper: #f4f1e9; --surface: #fbf9f4; --dark: #20221d; --line: rgba(25,26,23,.18); }
.theme-navy { --accent: #b69a65; --accent2: #53657c; --ink: #161b22; --muted: #676c72; --paper: #f7f5ef; --surface: #fffdf8; --dark: #0d1725; --line: rgba(22,27,34,.17); }
.theme-wine { --accent: #77263a; --accent2: #bd9d78; --ink: #1e1a19; --muted: #6d6662; --paper: #f7f3ed; --surface: #fffdf9; --dark: #3f131e; --line: rgba(30,26,25,.17); }
.theme-clinic { --accent: #197c83; --accent2: #85a9a6; --ink: #172326; --muted: #667174; --paper: #f3f7f5; --surface: #fbfdfc; --dark: #103c43; --line: rgba(23,35,38,.16); }
.demo-skip { position: fixed; z-index: 1000; top: -60px; left: 20px; padding: 11px 17px; color: #fff; background: var(--accent); }
.demo-skip:focus { top: 20px; }
.demo-bar { height: 30px; display: flex; align-items: center; justify-content: center; padding: 0 20px; color: rgba(255,255,255,.75); background: #191918; font-size: 10px; letter-spacing: .03em; }
.demo-header { position: absolute; z-index: 100; top: 30px; left: 0; width: 100%; color: #fff; border-bottom: 1px solid rgba(255,255,255,.23); transition: background .2s, color .2s, box-shadow .2s; }
.demo-header.fixed { position: fixed; top: 0; color: var(--ink); background: rgba(255,253,249,.97); border-color: var(--line); box-shadow: 0 10px 32px rgba(22,18,15,.08); backdrop-filter: blur(12px); }
.demo-header-inner { max-width: 1480px; height: 88px; margin: 0 auto; padding: 0 38px; display: flex; align-items: center; gap: 35px; }
.demo-logo { flex: 0 0 auto; display: flex; align-items: center; gap: 13px; line-height: 1; }
.demo-logo-mark { width: 40px; height: 40px; display: grid; place-items: center; color: #fff; background: var(--accent); border: 1px solid rgba(255,255,255,.32); font-size: 15px; font-weight: 700; letter-spacing: -.04em; }
.theme-interior .demo-logo-mark { border-radius: 50% 50% 50% 12%; }
.theme-navy .demo-logo-mark { color: #d5bd8d; background: #152337; border-color: rgba(213,189,141,.45); }
.theme-wine .demo-logo-mark { border-radius: 50%; }
.theme-clinic .demo-logo-mark { border-radius: 50% 50% 50% 18%; background: #197c83; }
.demo-logo > span:last-child, .demo-footer-brand > div { display: flex; flex-direction: column; }
.demo-logo strong { font-size: 19px; font-weight: 650; letter-spacing: -.04em; }
.demo-logo small { margin-top: 7px; font-size: 8px; font-weight: 600; letter-spacing: .17em; opacity: .65; }
.demo-nav { flex: 1; align-self: stretch; display: flex; align-items: center; justify-content: center; gap: clamp(25px,3vw,48px); }
.demo-nav a { position: relative; height: 100%; display: flex; align-items: center; font-size: 13px; font-weight: 560; }
.demo-nav a::after { content: ""; position: absolute; right: 50%; bottom: -1px; left: 50%; height: 2px; background: var(--accent); transition: .2s; }
.demo-nav a:hover::after, .demo-nav a[aria-current="page"]::after { right: 0; left: 0; }
.demo-head-cta { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; line-height: 1.1; }
.demo-head-cta small { margin-bottom: 7px; font-size: 9px; letter-spacing: .12em; opacity: .68; }
.demo-head-cta strong { font-size: 14px; font-weight: 650; }
.demo-menu-button, .demo-mobile-menu { display: none; }

.demo-hero { position: relative; min-height: 610px; display: flex; align-items: flex-end; color: #fff; background: var(--dark); overflow: hidden; }
.demo-hero > img, .demo-hero-shade { position: absolute; inset: 0; height: 100%; object-fit: cover; }
.demo-hero > img { filter: saturate(.72); }
.demo-hero-shade { background: linear-gradient(90deg, rgba(11,11,10,.79), rgba(11,11,10,.34) 62%, rgba(11,11,10,.5)), linear-gradient(0deg, rgba(10,10,9,.54), transparent 58%); }
.theme-navy .demo-hero-shade { background: linear-gradient(90deg, rgba(8,16,27,.86), rgba(8,16,27,.34) 64%, rgba(8,16,27,.52)), linear-gradient(0deg, rgba(7,13,21,.52), transparent 60%); }
.theme-wine .demo-hero-shade { background: linear-gradient(90deg, rgba(34,15,17,.84), rgba(34,15,17,.28) 65%, rgba(34,15,17,.44)), linear-gradient(0deg, rgba(28,11,14,.52), transparent 58%); }
.theme-clinic .demo-hero-shade { background: linear-gradient(90deg, rgba(10,45,50,.86), rgba(10,45,50,.25) 67%, rgba(10,45,50,.35)), linear-gradient(0deg, rgba(7,34,38,.45), transparent 60%); }
.demo-hero-copy { position: relative; z-index: 2; width: min(1320px,calc(100% - 72px)); margin: 0 auto; padding: 0 0 76px; }
.demo-hero-copy > p { margin: 0 0 18px; color: #e0c9a4; font-size: 10px; font-weight: 650; letter-spacing: .22em; }
.theme-interior .demo-hero-copy > p { color: #d4d2bd; }
.demo-hero h1 { max-width: 880px; margin: 0; font-size: clamp(50px,5.5vw,78px); font-weight: 360; line-height: 1.2; letter-spacing: -.065em; }
.demo-hero h1 em { color: #e2c5a1; font-style: normal; font-weight: 640; }
.theme-interior .demo-hero h1 em { color: #d6d6c1; }
.demo-hero-copy > span { display: block; max-width: 650px; margin-top: 23px; color: rgba(255,255,255,.7); font-size: 15px; font-weight: 350; }
.demo-hero-index { position: absolute; z-index: 2; right: 36px; bottom: 46px; display: flex; align-items: center; gap: 15px; color: rgba(255,255,255,.48); transform: rotate(-90deg); transform-origin: right bottom; }
.demo-hero-index b { color: #e0c49b; font-size: 18px; }
.demo-hero-index span { font-size: 8px; letter-spacing: .18em; }
.demo-breadcrumb { height: 70px; max-width: 1320px; margin: 0 auto; padding: 0 2px; display: flex; align-items: center; gap: 14px; border-bottom: 1px solid var(--line); color: #99928b; font-size: 10px; }
.demo-breadcrumb strong { color: var(--ink); font-weight: 600; }

.demo-section { max-width: 1320px; margin: 0 auto; padding: 120px 0; }
.demo-section-label { display: flex; align-items: center; gap: 13px; color: var(--muted); font-size: 10px; font-weight: 650; letter-spacing: .15em; }
.demo-section-label span { width: 32px; height: 32px; display: grid; place-items: center; color: var(--accent); border: 1px solid var(--line); border-radius: 50%; font-size: 9px; }
.demo-kicker { margin: 0 0 18px; color: var(--accent); font-size: 10px; font-weight: 700; letter-spacing: .18em; }
.demo-section h2, .demo-bottom-cta h2 { margin: 0; font-size: clamp(39px,4.5vw,63px); font-weight: 350; line-height: 1.33; letter-spacing: -.06em; }
.demo-section h2 em, .demo-bottom-cta h2 em { color: var(--accent); font-style: normal; font-weight: 650; }
.demo-body-copy { color: var(--muted); font-size: 14px; line-height: 2; }
.demo-body-copy p { margin: 0 0 15px; }
.demo-statement { display: grid; grid-template-columns: 260px 1fr; gap: 70px; }
.demo-statement h2 { max-width: 920px; }
.demo-statement .demo-body-copy { max-width: 750px; margin: 35px 0 0 auto; }
.demo-facts { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 64px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); }
.demo-facts div { min-height: 130px; padding: 28px 24px; border-right: 1px solid var(--line); }
.demo-facts div:first-child { border-left: 1px solid var(--line); }
.demo-facts strong { display: block; color: var(--accent); font-size: 30px; font-weight: 530; }
.demo-facts span { display: block; margin-top: 9px; color: var(--muted); font-size: 11px; }

.demo-split { max-width: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; min-height: 720px; background: var(--surface); }
.demo-split.reverse figure { order: 2; }
.demo-split figure { position: relative; min-height: 720px; margin: 0; overflow: hidden; }
.demo-split figure img { height: 100%; object-fit: cover; }
.demo-split figure figcaption { position: absolute; right: 25px; bottom: 23px; padding: 7px 10px; color: #fff; background: rgba(19,16,14,.48); font-size: 8px; letter-spacing: .1em; }
.demo-split-copy { align-self: center; max-width: 660px; padding: 90px clamp(45px,6vw,110px); }
.demo-split-copy .demo-body-copy { margin-top: 30px; }
.demo-point-list { margin: 38px 0 0; padding: 0; border-top: 1px solid var(--ink); list-style: none; }
.demo-point-list li { display: grid; grid-template-columns: 42px 1fr; gap: 13px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.demo-point-list b { color: var(--accent); font-size: 9px; }
.demo-point-list span { font-size: 13px; font-weight: 540; }

.demo-section-head { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(300px,.55fr); align-items: end; gap: 80px; margin-bottom: 60px; }
.demo-section-head > p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.9; }
.demo-card-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--ink); }
.demo-card { position: relative; min-height: 360px; padding: 33px 29px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: background .2s, color .2s, transform .2s; }
.demo-card:nth-child(3n+1) { border-left: 1px solid var(--line); }
.demo-card:hover { color: #fff; background: var(--accent); transform: translateY(-7px); }
.demo-card > span { position: absolute; right: 25px; top: 25px; color: var(--accent); font-size: 9px; }
.demo-card:hover > span { color: rgba(255,255,255,.55); }
.demo-card > p { margin: 48px 0 8px; color: var(--accent); font-size: 9px; font-weight: 700; letter-spacing: .15em; }
.demo-card:hover > p { color: rgba(255,255,255,.7); }
.demo-card h3 { margin: 0 0 24px; font-size: 23px; font-weight: 620; letter-spacing: -.04em; }
.demo-card > div { color: var(--muted); font-size: 12px; line-height: 1.8; }
.demo-card:hover > div { color: rgba(255,255,255,.72); }
.demo-card ul { position: absolute; bottom: 28px; left: 29px; right: 29px; margin: 0; padding: 15px 0 0; display: flex; flex-wrap: wrap; gap: 5px 14px; border-top: 1px solid var(--line); list-style: none; }
.demo-card:hover ul { border-color: rgba(255,255,255,.2); }
.demo-card li { color: var(--muted); font-size: 10px; }
.demo-card:hover li { color: rgba(255,255,255,.62); }
.demo-card-more { position: absolute; left: 29px; bottom: 82px; padding-bottom: 3px; border-bottom: 1px solid currentColor; color: var(--accent); font-size: 10px; font-weight: 650; }
.demo-card:hover .demo-card-more { color: #fff; }

.demo-project-list { display: flex; flex-direction: column; gap: 80px; }
.demo-project { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(330px,.7fr); gap: 50px; align-items: stretch; }
.demo-project:nth-child(even) .demo-project-image { order: 2; }
.demo-project-image { min-height: 470px; overflow: hidden; }
.demo-project-image img { height: 100%; object-fit: cover; transition: transform .6s; }
.demo-project:hover img { transform: scale(1.025); }
.demo-project-meta { align-self: center; }
.demo-project-meta > span { color: var(--accent); font-size: 9px; font-weight: 700; letter-spacing: .16em; }
.demo-project-meta h3 { margin: 17px 0 22px; font-size: 37px; font-weight: 450; letter-spacing: -.05em; }
.demo-project-meta p { color: var(--muted); font-size: 13px; line-height: 1.9; }
.demo-project-meta ul { margin: 36px 0 0; padding: 16px 0 0; display: flex; flex-wrap: wrap; gap: 10px 18px; border-top: 1px solid var(--line); list-style: none; }
.demo-project-meta li { font-size: 10px; }

.demo-steps { margin: 0; padding: 0; border-top: 1px solid var(--ink); list-style: none; }
.demo-steps li { min-height: 170px; display: grid; grid-template-columns: 90px 1fr; padding: 30px 20px; border-bottom: 1px solid var(--line); transition: background .2s; }
.demo-steps li:hover { background: var(--surface); }
.demo-steps li > span { color: var(--accent); font-size: 10px; }
.demo-steps small { color: var(--accent); font-size: 9px; font-weight: 700; letter-spacing: .14em; }
.demo-steps h3 { margin: 8px 0 8px; font-size: 25px; font-weight: 570; }
.demo-steps p { max-width: 760px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.8; }

.demo-people-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 35px; }
.demo-person { display: grid; grid-template-columns: .9fr 1.1fr; column-gap: 30px; padding: 0 25px 30px 0; background: var(--surface); }
.demo-person > div:first-child { position: relative; grid-row: span 5; min-height: 500px; overflow: hidden; }
.demo-person img { height: 100%; object-fit: cover; object-position: top center; }
.demo-person > div:first-child span { position: absolute; bottom: 14px; left: 14px; padding: 6px 8px; color: #fff; background: rgba(20,16,14,.5); font-size: 7px; letter-spacing: .12em; }
.demo-person > p { align-self: end; margin: 44px 0 4px; color: var(--accent); font-size: 10px; }
.demo-person h3 { margin: 0; font-size: 30px; font-weight: 620; }
.demo-person blockquote { margin: 30px 0 25px; padding-bottom: 22px; border-bottom: 1px solid var(--line); font-size: 16px; line-height: 1.7; }
.demo-person ul { margin: 0; padding: 0; list-style: none; }
.demo-person li { margin: 7px 0; color: var(--muted); font-size: 10px; }
.demo-disclaimer { margin: 20px 0 0; color: #99918b; font-size: 9px; text-align: right; }

.demo-story-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.demo-story { position: relative; min-height: 320px; padding: 35px; background: var(--surface); }
.demo-story > span { color: var(--accent); font-size: 9px; font-weight: 650; letter-spacing: .1em; }
.demo-story h3 { margin: 29px 0 18px; font-size: 24px; font-weight: 550; line-height: 1.55; }
.demo-story > p { max-width: 520px; color: var(--muted); font-size: 12px; line-height: 1.85; }
.demo-story > div { position: absolute; right: 35px; bottom: 30px; left: 35px; display: flex; justify-content: space-between; padding-top: 14px; border-top: 1px solid var(--line); }
.demo-story small { color: #99918b; font-size: 8px; letter-spacing: .15em; }
.demo-story strong { color: var(--accent); font-size: 15px; }

.demo-article-list { border-top: 1px solid var(--ink); }
.demo-article-list article { position: relative; min-height: 190px; display: grid; grid-template-columns: 130px 120px 1fr 220px 50px; align-items: center; gap: 20px; padding: 25px 15px; border-bottom: 1px solid var(--line); }
.demo-article-list article > span { color: var(--accent); font-size: 10px; font-weight: 700; }
.demo-article-list time { color: #a19a94; font-size: 9px; }
.demo-article-list h3 { margin: 0; font-size: 20px; font-weight: 580; }
.demo-article-list p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.8; }
.demo-article-list a { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; }

.demo-contact-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; }
.demo-contact-info > p:not(.demo-kicker) { max-width: 520px; margin: 29px 0 45px; color: var(--muted); font-size: 13px; line-height: 1.9; }
.demo-contact-info dl { margin: 0; border-top: 1px solid var(--ink); }
.demo-contact-info dl > div { padding: 19px 0; border-bottom: 1px solid var(--line); }
.demo-contact-info dt { margin-bottom: 5px; color: var(--accent); font-size: 8px; font-weight: 700; letter-spacing: .15em; }
.demo-contact-info dd { margin: 0; font-size: 15px; font-weight: 520; }
.demo-contact-info em { color: #a19289; font-size: 9px; font-style: normal; }
.demo-hours { margin-top: 28px; padding: 22px; display: flex; flex-direction: column; background: var(--surface); }
.demo-hours b { font-size: 12px; }
.demo-hours span { margin-top: 5px; color: var(--muted); font-size: 11px; }
.demo-contact-form { position: relative; padding: 48px; background: var(--surface); box-shadow: 0 18px 60px rgba(30,23,18,.08); }
.demo-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.demo-contact-form label { display: block; margin-bottom: 18px; }
.demo-contact-form label > span { display: block; margin-bottom: 8px; font-size: 11px; font-weight: 620; }
.demo-contact-form input[type="text"], .demo-contact-form input[type="tel"], .demo-contact-form select, .demo-contact-form textarea { width: 100%; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; outline: 0; background: transparent; font-size: 12px; }
.demo-contact-form input[type="text"], .demo-contact-form input[type="tel"], .demo-contact-form select { height: 48px; }
.demo-contact-form textarea { min-height: 120px; padding: 12px 0; resize: vertical; }
.demo-contact-form input:focus, .demo-contact-form select:focus, .demo-contact-form textarea:focus { border-color: var(--accent); }
.demo-contact-form .demo-privacy { display: flex; align-items: center; gap: 8px; color: var(--muted); }
.demo-privacy input { accent-color: var(--accent); }
.demo-privacy span { margin: 0 !important; font-size: 10px !important; font-weight: 400 !important; }
.demo-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.demo-contact-form button { width: 100%; height: 58px; display: flex; align-items: center; justify-content: center; gap: 60px; border: 0; color: #fff; background: var(--accent); font-size: 13px; font-weight: 650; cursor: pointer; }
.demo-contact-form button span { font-size: 18px; }

.demo-bottom-cta { min-height: 400px; padding: 80px max(36px,calc((100vw - 1320px)/2)); display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 60px; color: #fff; background: var(--dark); }
.demo-bottom-cta > p { grid-column: 1/-1; align-self: end; margin: 0 0 -45px; color: #dcc39e; font-size: 9px; font-weight: 700; letter-spacing: .2em; }
.demo-bottom-cta h2 { font-size: clamp(35px,3.6vw,54px); }
.demo-bottom-cta h2 em { color: #dcc39e; }
.demo-bottom-cta > div { width: 470px; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid rgba(255,255,255,.22); }
.demo-bottom-cta a { min-height: 135px; padding: 28px; display: flex; flex-direction: column; justify-content: space-between; }
.demo-bottom-cta a + a { border-left: 1px solid rgba(255,255,255,.22); }
.demo-bottom-cta small { color: rgba(255,255,255,.55); font-size: 9px; }
.demo-bottom-cta strong { font-size: 15px; font-weight: 600; }
.demo-footer { min-height: 230px; padding: 58px max(36px,calc((100vw - 1320px)/2)); display: grid; grid-template-columns: .8fr 1.4fr auto; gap: 60px; align-items: start; color: rgba(255,255,255,.5); background: #171615; font-size: 10px; }
.demo-footer-brand { display: flex; align-items: center; gap: 13px; color: #fff; }
.demo-footer-brand strong { font-size: 17px; font-weight: 600; }
.demo-footer-brand small { margin-top: 7px; color: rgba(255,255,255,.4); font-size: 7px; letter-spacing: .13em; }
.demo-footer p { margin: 0 0 7px; }
.demo-footer em { color: #b99c7d; font-size: 8px; font-style: normal; }
.demo-footer > a { color: rgba(255,255,255,.8); }
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .65s, transform .65s; }
.reveal.visible { opacity: 1; transform: none; }

@media (max-width: 1050px) {
    .demo-nav { gap: 22px; }
    .demo-nav a { font-size: 12px; }
    .demo-section, .demo-breadcrumb { margin-right: 28px; margin-left: 28px; }
    .demo-split { margin: 0; }
    .demo-people-grid { grid-template-columns: 1fr; }
    .demo-person { max-width: 760px; }
    .demo-article-list article { grid-template-columns: 100px 1fr 50px; }
    .demo-article-list time, .demo-article-list p { display: none; }
    .demo-bottom-cta { grid-template-columns: 1fr 410px; }
    .demo-bottom-cta > div { width: 410px; }
}

@media (max-width: 860px) {
    .demo-header-inner { height: 74px; padding: 0 23px; }
    .demo-nav, .demo-head-cta { display: none; }
    .demo-logo { margin-right: auto; }
    .demo-menu-button { width: 46px; height: 46px; padding: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 0; background: transparent; }
    .demo-menu-button i { width: 25px; height: 1px; background: currentColor; }
    .demo-menu-button span { position: absolute; width: 1px; height: 1px; overflow: hidden; }
    .demo-mobile-menu { position: fixed; inset: 74px 0 0; padding: 28px 24px 80px; color: #fff; background: var(--dark); overflow-y: auto; }
    .demo-mobile-menu nav { display: flex; flex-direction: column; }
    .demo-mobile-menu nav a { display: flex; gap: 20px; align-items: baseline; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.14); font-size: 21px; }
    .demo-mobile-menu nav span { color: #d7b98d; font-size: 9px; }
    .demo-mobile-menu > a { height: 54px; margin-top: 28px; display: flex; align-items: center; justify-content: center; background: var(--accent); font-size: 12px; }
    .demo-hero { min-height: 560px; }
    .demo-hero-copy { width: calc(100% - 46px); padding-bottom: 60px; }
    .demo-breadcrumb { margin: 0 23px; }
    .demo-section { margin: 0 23px; padding: 90px 0; }
    .demo-statement { grid-template-columns: 1fr; gap: 35px; }
    .demo-statement .demo-body-copy { margin-left: 0; }
    .demo-split { margin: 0; grid-template-columns: 1fr; }
    .demo-split.reverse figure { order: 0; }
    .demo-split figure { min-height: 500px; }
    .demo-split-copy { max-width: none; padding: 75px 45px; }
    .demo-section-head { grid-template-columns: 1fr; gap: 23px; }
    .demo-card-grid { grid-template-columns: 1fr 1fr; }
    .demo-card:nth-child(3n+1) { border-left: 0; }
    .demo-card:nth-child(2n+1) { border-left: 1px solid var(--line); }
    .demo-project { grid-template-columns: 1fr; }
    .demo-project:nth-child(even) .demo-project-image { order: 0; }
    .demo-contact-section { grid-template-columns: 1fr; gap: 60px; }
    .demo-bottom-cta { grid-template-columns: 1fr; }
    .demo-bottom-cta > p { margin-bottom: -25px; }
    .demo-bottom-cta > div { width: 100%; max-width: 580px; }
    .demo-footer { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
    .demo-bar { min-height: 32px; height: auto; padding: 6px 13px; font-size: 8px; text-align: center; }
    .demo-header { top: 32px; }
    .demo-header.fixed { top: 0; }
    .demo-header-inner { height: 68px; padding: 0 18px; }
    .demo-logo-mark { width: 34px; height: 34px; font-size: 13px; }
    .demo-logo strong { font-size: 16px; }
    .demo-mobile-menu { inset: 68px 0 0; }
    .demo-hero { min-height: 510px; }
    .demo-hero-copy { width: calc(100% - 36px); padding-bottom: 50px; }
    .demo-hero h1 { font-size: 41px; }
    .demo-hero-copy > span { font-size: 12px; }
    .demo-hero-index { display: none; }
    .demo-breadcrumb { height: 58px; margin: 0 18px; }
    .demo-section { margin: 0 18px; padding: 73px 0; }
    .demo-section h2, .demo-bottom-cta h2 { font-size: 34px; }
    .demo-facts { grid-template-columns: 1fr; }
    .demo-facts div { min-height: 105px; border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); }
    .demo-split { margin: 0; padding: 0; }
    .demo-split figure { min-height: 350px; }
    .demo-split-copy { padding: 65px 22px; }
    .demo-card-grid { grid-template-columns: 1fr; }
    .demo-card { min-height: 335px; border-left: 1px solid var(--line) !important; }
    .demo-project-list { gap: 60px; }
    .demo-project { gap: 28px; }
    .demo-project-image { min-height: 330px; }
    .demo-project-meta h3 { font-size: 31px; }
    .demo-steps li { grid-template-columns: 45px 1fr; }
    .demo-person { grid-template-columns: 1fr; padding: 0 22px 30px; }
    .demo-person > div:first-child { grid-row: auto; min-height: 470px; margin: 0 -22px; }
    .demo-person > p { margin-top: 30px; }
    .demo-story-grid { grid-template-columns: 1fr; }
    .demo-story { min-height: 330px; padding: 29px; }
    .demo-story > div { right: 29px; left: 29px; }
    .demo-article-list article { min-height: 160px; grid-template-columns: 70px 1fr 42px; padding-right: 4px; padding-left: 4px; }
    .demo-article-list h3 { font-size: 16px; }
    .demo-contact-form { padding: 29px 22px; }
    .demo-form-row { grid-template-columns: 1fr; gap: 0; }
    .demo-bottom-cta { min-height: auto; padding: 68px 18px; }
    .demo-bottom-cta > div { grid-template-columns: 1fr; }
    .demo-bottom-cta a { min-height: 100px; }
    .demo-bottom-cta a + a { border-top: 1px solid rgba(255,255,255,.22); border-left: 0; }
    .demo-footer { grid-template-columns: 1fr; gap: 30px; padding: 48px 18px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *,*::before,*::after { animation: none !important; transition: none !important; }
    .reveal { opacity: 1; transform: none; }
}
