/* Soft mineral colours, real photography, translucent glass. */
:root {
  color-scheme:light;
  --paper:#c6b6e2; --ink:#352d49; --muted:#5a4e6b; --panel:#d9cde9;
  --accent:#654b96; --line:#69518030; --display:'Segoe UI',Arial,sans-serif;
  --glass:linear-gradient(125deg,#ffffff70,#ffffff28 55%,#fff6ee44);
  --glass-edge:1px solid #ffffffa6;
  --glass-shadow:inset 0 1px 0 #ffffffc9,inset 0 -1px 0 #ffffff30,0 18px 48px #5f407c16;
  --button-texture:linear-gradient(110deg,#543177e8,#5b3a80c7 48%,#57357de6),url('/assets/lavender-relief.jpg');
}
body { background:#c6b6e2;background-image:radial-gradient(ellipse at 95% 10%,#efc9b7 0,transparent 40%),radial-gradient(ellipse at 0 43%,#bfdcce 0,transparent 50%),linear-gradient(135deg,#c6b6e2,#d1c4e6);font-family:'Segoe UI',Arial,sans-serif; }
.home { position:relative;isolation:isolate;display:flow-root; }
.home-backdrop { position:absolute;inset:0 0 auto;height:1080px;z-index:-1;pointer-events:none;background-color:#cfc1e3;background-image:linear-gradient(0deg,#cfc5e1,transparent 24%),linear-gradient(90deg,#e3d9efc7 0%,#e1d5ec99 35%,#d6c5e44d 62%,#c8b7da26),url('/assets/lavender-relief.jpg');background-size:cover;background-position:50% 0;background-repeat:no-repeat;mask-image:linear-gradient(#000 72%,transparent);-webkit-mask-image:linear-gradient(#000 72%,transparent); }
::selection { color:#fff;background:#7861a7; }
.header { min-height:83px;margin:20px auto 0;width:calc(100% - var(--gutter)*2);padding:16px 24px;border:1px solid #ffffffc7;border-radius:25px;background:linear-gradient(115deg,#b69dd6d9,#c6b2dfb8 55%,#d0c5e9cc);box-shadow:inset 0 1px 0 #ffffffd9,inset 0 -1px 0 #8d6da72b,0 12px 32px #5d40732b;backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%);gap:24px; }
.brand { font-weight:700;font-size:22px;letter-spacing:-.05em;gap:10px; }
.brand-mark { width:78px;height:42px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 3px 5px #573c7338); }
.brand small { color:#5b4c70;font-size:7px;letter-spacing:.23em; }
.desktop-nav { font-size:12px;gap:24px;color:#493b5e; }
.header-contact .phone { font-size:14px;font-weight:600; }
.header-contact>span { color:#655471;font-size:9px; }
.header-button { padding:13px 16px;border:1px solid #ffffffbd;border-radius:16px;background:#ffffff30;box-shadow:inset 0 1px 0 #ffffffbb; }
.header-button:hover { border-color:#7861a7;background:#ffffff69; }
.header-button span { color:#654b96; }
.mobile-menu { margin:10px var(--gutter);border:var(--glass-edge);border-radius:24px;background:#dbcfedee;box-shadow:var(--glass-shadow);backdrop-filter:blur(24px); }
.hero { min-height:730px;max-width:1600px;background:none;overflow:hidden; }
.hero::before { content:none; }
.hero::after { content:none; }
.hero-copy { width:50%;min-height:730px;padding-top:68px;padding-bottom:42px; }
.hero .eyebrow { font-size:8px;font-weight:600;letter-spacing:.12em;color:#4f4164;border:1px solid #ffffff86;border-radius:100px;background:#ffffff2b;box-shadow:inset 0 1px 0 #ffffff54;padding:10px 14px;gap:9px; }
.small-line { width:5px;height:5px;border-radius:50%;background:#75569f;box-shadow:0 0 14px #ffffff88; }
h1 { font-family:var(--display);font-size:clamp(60px,6.2vw,96px);font-weight:500;line-height:1.05;letter-spacing:-.065em;text-transform:none;margin-top:28px; }
h1>span:first-child { color:#352d49; }
h1 .hero-title-middle { font-size:1em;line-height:1.1;-webkit-text-stroke:0;color:#352d49;letter-spacing:inherit; }
h1 em { font-family:var(--display);font-style:normal;font-weight:450;text-shadow:none;background:linear-gradient(105deg,#4f756b,#655293 65%,#8b526a);color:transparent;background-clip:text;-webkit-background-clip:text; }
.hero-description { max-width:370px;font-size:15px;line-height:1.8;color:#544660;margin-top:24px; }
.hero-actions { margin-top:30px;gap:23px; }
.button { min-height:57px;border-radius:19px;font-weight:600;font-size:12px;transition:transform .35s,box-shadow .35s,background .35s; }
.button-accent,.button-dark { color:#fff;background-color:#62438d;background-image:var(--button-texture);background-size:180% 100%,cover;background-position:0 50%,50% 45%;background-repeat:no-repeat;border:1px solid #ffffff77;box-shadow:inset 0 1px 0 #ffffff70,inset 0 -1px 0 #42245c40,0 12px 32px #654a9236;transition:background-position .65s,transform .35s,box-shadow .35s; }
.button:hover { box-shadow:inset 0 1px 0 #ffffff9c,0 16px 36px #654a9245;transform:translateY(-3px); }
.button-accent:hover,.button-dark:hover { background-position:100% 50%,50% 45%; }
.text-link { border:0;padding:14px 0;font-weight:600;font-size:11px;gap:10px; }
.text-link:hover { color:#75509f; }
.hero-footnote { width:85%;padding-top:30px;color:#5b4d69;gap:12px; }
.hero-footnote p { font-size:11px;letter-spacing:0;line-height:1.65; }
.live-dot { width:7px;height:7px;background:#6a897b;box-shadow:0 0 17px #ccecdc; }
.hero-footnote>a { border:1px solid #ffffff9c;background:#ffffff30;box-shadow:inset 0 1px 0 #ffffffaa;backdrop-filter:blur(12px); }
.hero-visual { width:49%;inset:30px 30px auto auto;height:650px;min-height:0;background:transparent!important;mask-image:none;overflow:visible;border-radius:44px; }
.hero-visual::after { content:none; }
.hero-photo-frame { position:absolute;inset:35px 20px 60px 45px;padding:9px;border:1px solid #ffffffb0;border-radius:150px 150px 38px 38px;background:#ffffff45;box-shadow:inset 0 1px 0 #ffffffcc,0 30px 65px #55376030;transform:rotate(3deg); }
.hero-photo-frame img { inset:9px;width:calc(100% - 18px);height:calc(100% - 18px);border-radius:141px 141px 30px 30px;object-position:48% 50%; }
.photo-halo { position:absolute;width:85%;height:85%;right:1%;top:5%;border-radius:50%;background:radial-gradient(ellipse at 50% 45%,#f8d9bba6,#e6b9d44d 50%,transparent 71%);filter:blur(22px); }
.glass-outline { position:absolute;inset:70px 0 48px 65px;border:1px solid #ffffff91;border-radius:150px 150px 43px 43px;transform:rotate(-6deg);background:linear-gradient(120deg,#fff3,#fff0 70%);box-shadow:inset 0 1px 0 #ffffffa6; }
.scene-badge { z-index:4;border:var(--glass-edge);background:var(--glass);box-shadow:var(--glass-shadow);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%); }
.scene-badge { position:absolute;display:flex;align-items:center;gap:13px;bottom:100px;left:5px;padding:18px 22px;border-radius:24px;transform:rotate(-3deg); }
.badge-icon { width:68px;height:43px;display:grid;place-items:center;border:1px solid #ffffffb5;border-radius:14px;background:#ffffff3b;flex-shrink:0; }
.badge-icon img { position:static;width:60px;height:30px;object-fit:contain;filter:drop-shadow(0 2px 3px #4c32534d); }
.scene-badge strong { display:block;font-size:12px;font-weight:600;line-height:1.5; }
.scene-badge small { display:block;font-size:8px;margin-top:5px;color:#554466; }
.hero-visual figcaption { bottom:19px;left:17%;right:20px;color:#574365;font-size:8px;letter-spacing:.12em; }
.hero-visual figcaption>span:last-child { color:#6b508e; }
.material-strip { width:calc(100% - var(--gutter)*2);padding:24px 32px;border:var(--glass-edge);border-radius:25px;background:var(--glass);backdrop-filter:blur(18px);box-shadow:var(--glass-shadow);font-size:12px;letter-spacing:.03em; }
.material-strip>span:first-child { font-size:8px;color:#5e4976; }.material-strip i { color:#765b99;font-size:18px; }
h2 { letter-spacing:-.05em;font-weight:450; }h2 em { font-family:var(--display);font-style:normal;letter-spacing:inherit;font-weight:450;color:#65508c; }
.section-heading .eyebrow,.craft-copy .eyebrow,.request-copy .eyebrow { color:#654a89; }
.section-intro,.material-row p,.steps p,.request-copy>p:not(.eyebrow) { color:#554b62; }
.section { padding-top:95px;padding-bottom:95px; }
.materials { gap:60px;background:radial-gradient(ellipse at 5% 70%,#acceb98c,transparent 65%),linear-gradient(180deg,#c5d6ce00,#bdd6c7bd); }
.materials h2 { font-size:clamp(46px,4.7vw,76px); }.materials h2 em { color:#4a6b5d; }
.material-list { border:0;margin-top:5px;display:grid;gap:13px; }
.material-row { padding:26px 24px;gap:20px;border:var(--glass-edge);border-radius:27px;background:var(--glass);box-shadow:var(--glass-shadow);backdrop-filter:blur(18px);transition:transform .4s,background .4s;isolation:isolate;overflow:hidden; }
.material-row::before { content:'';position:absolute;inset:0 0 0 auto;width:55%;z-index:-1;pointer-events:none;background-image:linear-gradient(120deg,#b9a0d738,#b8a2d90d),url('/assets/lavender-relief.jpg');background-size:cover;background-position:65% 55%;background-repeat:no-repeat;mask-image:linear-gradient(90deg,transparent,#000 68%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 68%);opacity:.45;transition:opacity .4s; }
.material-row:nth-child(2)::before { background-image:linear-gradient(120deg,#b8d7c66b,#c0dfcb38),url('/assets/process.jpg');background-size:cover,440px auto;background-position:center,40% 58%;opacity:.38; }
.material-row:nth-child(3)::before { background-image:linear-gradient(120deg,#f5e5cd6b,#e3d1b75e),url('/assets/lavender-relief.jpg');background-size:cover;background-position:30% 65%;opacity:.32; }
.material-row:nth-child(2) { background:linear-gradient(115deg,#e6d5ee99,#ffffff38); }.material-row:nth-child(3) { background:linear-gradient(115deg,#f3d8c88c,#ffffff38); }
.material-row:hover { padding:26px 24px;transform:translateX(5px);background:linear-gradient(120deg,#ffffffa0,#ffffff55); }
.material-row:hover::before { opacity:.55; }
.material-row h3 { font-size:22px; }.material-row p { font-size:12px;margin-top:8px; }.row-number { color:#5a6f64;font-size:10px; }.row-arrow { color:#6d558c;font-size:26px; }
.works { position:relative;isolation:isolate;background:radial-gradient(ellipse at 15% 8%,#e5d8f2c4,transparent 45%),radial-gradient(ellipse at 100% 75%,#b1d5cf9c,transparent 55%),linear-gradient(145deg,#c7b6df,#bfb9d9 58%,#bdd0d5);border-top:1px solid #ffffff75;border-bottom:1px solid #ffffff75; }
.works::before,.craft-section::before { content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url('/contours.svg');background-size:1200px 800px;background-position:100% 0;opacity:.42; }
.works h2 { font-size:clamp(43px,4.5vw,72px); }.work { border:var(--glass-edge);border-radius:30px;padding:10px 10px 0;background:var(--glass);box-shadow:var(--glass-shadow); }
.work figure { border-radius:23px; }.work-caption { padding:18px 13px 20px;min-height:70px; }.work-caption h3 { font-size:15px; }.work-caption>span { color:#5c4c6a;font-size:10px; }.work-large figure { height:calc(100% - 70px); }
.work img[src$="bathroom.jpg"] { object-position:50% 85%; }
.image-slot { background:#d6c8e1; }.image-placeholder { color:#52435f;background:radial-gradient(ellipse at 85% 15%,#c8e6d7,transparent 70%),linear-gradient(135deg,#c5badb,#d6c8e1); }.image-placeholder>span { color:#5f4d77; }.image-placeholder::after { color:#5c4b6e;border-color:#ffffffaa;border-radius:100px;background:#ffffff50;font-size:7px; }
.light-placeholder { background:linear-gradient(140deg,#e8d4c1,#cbbddd); }.warm-placeholder { background:linear-gradient(135deg,#e7c4ad,#d0b9d4); }
.craft-section { position:relative;isolation:isolate;background:radial-gradient(ellipse at 15% 10%,#e8efda9c,transparent 50%),radial-gradient(ellipse at 100% 85%,#bdc8e49c,transparent 58%),linear-gradient(125deg,#b1d0bf,#c7dccc 50%,#b7d0d7);padding:75px var(--gutter);gap:60px;align-items:center; }
.craft-section::before { background-position:0 50%;transform:scaleX(-1);opacity:.32; }
.craft-visual { min-height:640px;border:var(--glass-edge);border-radius:36px;box-shadow:var(--glass-shadow); }.craft-copy { padding:30px 0; }.craft-copy h2 { font-size:clamp(35px,3.7vw,59px); }.craft-copy h2 em { color:#476c58; }.steps li { border-color:#637b6e45; }.steps li>span { color:#536c5e; }
.request-section { background:radial-gradient(ellipse at 5% 85%,#d3e9d8cf,transparent 58%),radial-gradient(ellipse at 100% 0,#d6c8ecab,transparent 55%),linear-gradient(125deg,#b8d7ce,#c0d2de 52%,#c4bce0);border-top:1px solid #ffffffa0; }
.request-copy h2 { font-size:clamp(50px,5vw,80px); }.contact-large span { color:#6a508d; }.messenger-links a { border-color:#83688a88; }
.lead-form { border:var(--glass-edge);border-radius:32px;background:linear-gradient(145deg,#ffffff70,#f3f8ff44);box-shadow:var(--glass-shadow);backdrop-filter:blur(28px) saturate(125%);padding:35px; }
.form-heading { display:flex;align-items:center;justify-content:space-between;gap:16px; }
.form-heading h3 { font-size:26px;font-weight:450;line-height:1.2;letter-spacing:-.035em; }
.form-mark { width:92px;height:46px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 3px 5px #69477b26); }
.lead-form label { color:#45364f;font-size:12px; }.form-intro { color:#655369; }
.lead-form input:not([type=checkbox]),.lead-form select,.lead-form textarea { background:#ffffff56;border:1px solid #ffffffbd;padding:12px 13px;border-radius:13px;color:#352d49;min-height:46px;font-size:13px;box-shadow:inset 0 1px 3px #74517008; }
.lead-form input::placeholder,.lead-form textarea::placeholder { color:#716176; }.lead-form option { background:#ece0ef;color:#352d49; }.lead-form .consent { color:#5b4b61;font-size:10px; }.consent input { accent-color:#75559b; }
.form-status[data-kind=error] { color:#9b2f42; }.form-status[data-kind=success] { color:#285a42; }
.footer { background:#cbbadd;border-color:#ffffff86; }.footer-brand span,.footer>div p { color:#5c4b6b; }.privacy p { color:#53425e; }.privacy .eyebrow { color:#68498c; }.privacy h1 { font-weight:450;font-size:42px; }
.footer-brand { display:flex;align-items:center;gap:16px;align-self:flex-start; }
.footer-mark { width:126px;height:63px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 5px 8px #573c732b); }
.footer-brand .footer-wordmark { color:var(--ink);font-size:22px;letter-spacing:-.035em;line-height:1.35;margin-top:0; }
.footer-wordmark small { display:block;color:#5c4b6b;font-size:10px;font-weight:400;letter-spacing:0;margin-top:7px; }
.privacy-header { justify-content:space-between; }
@media(min-width:1600px) { .hero,.hero-copy { min-height:820px; }.hero-visual { height:720px;min-height:0;top:35px; }.hero-copy { padding-top:90px; } }
@media(min-width:1600px) { .home-backdrop { height:1190px; } }
@media(max-width:1200px) {
  .header { gap:20px;padding:15px 20px; }.desktop-nav { gap:20px; }.hero-copy { width:52%; }.hero-visual { width:49%;right:10px; }
  .hero .eyebrow { font-size:7px; }h1 { font-size:clamp(60px,6.7vw,82px); }.hero-description { max-width:335px;font-size:14px; }.hero-actions { gap:18px; }
  .scene-badge { left:10px;padding:16px; }.material-strip { padding:23px 25px;gap:16px; }.material-strip>span:first-child { display:none; }
}
@media(max-width:850px) {
  .header { margin-top:16px;min-height:78px; }.hero,.hero-copy { min-height:710px; }.hero-copy { width:56%;padding-top:65px; }h1 { font-size:62px; }
  .hero-visual { width:49%;height:610px;min-height:0;top:44px;right:0; }.hero-photo-frame { left:20px;right:20px;border-radius:120px 120px 32px 32px; }.hero-photo-frame img { border-radius:111px 111px 24px 24px; }
  .hero-description { max-width:300px;font-size:13px; }.hero-actions { flex-direction:column;align-items:flex-start;gap:12px; }.hero-footnote { width:80%; }
  .scene-badge { left:5px;gap:9px;padding:12px;bottom:110px; }.scene-badge strong { font-size:10px; }.badge-icon { width:55px;height:35px; }.badge-icon img { width:49px;height:25px; }
  .hero-visual figcaption { left:15%;right:24px;bottom:16px;font-size:6px; }.section { padding-top:70px;padding-bottom:70px; }.materials { gap:35px; }.materials h2 { font-size:58px; }
  .craft-section { gap:35px;padding-top:65px;padding-bottom:65px; }.craft-visual { min-height:640px; }.craft-copy { padding:20px 0; }.craft-copy h2 { font-size:38px; }.lead-form { padding:27px; }.work-large figure { height:calc(100% - 80px); }
}
@media(max-width:600px) {
  .home-backdrop { height:1240px;background-image:linear-gradient(0deg,#cfc5e1,transparent 22%),linear-gradient(180deg,#e2d6eead,#ddd0e99c 40%,#d2c0e344 75%),url('/assets/lavender-relief.jpg');background-position:44% 0; }
  :root { --gutter:20px; }.header { width:calc(100% - 28px);padding:13px 15px;margin:14px auto 0;min-height:72px;border-radius:23px;gap:10px; }
  .brand { font-size:17px;gap:7px; }.brand-mark { width:48px;height:28px; }.brand small { font-size:5px;letter-spacing:.2em; }.header-contact .phone { font-size:10px;font-weight:600; }
  .menu-button { width:34px;height:34px;border:1px solid #ffffffaa;border-radius:11px;background:#ffffff35;flex-shrink:0;color:#49385b; }.menu-button span { width:15px; }.mobile-menu { margin:10px 14px; }
  .hero { min-height:960px;display:block;overflow:hidden; }.hero-copy { padding:39px var(--gutter) 0;width:100%;min-height:0; }.hero .eyebrow { font-size:7px;white-space:nowrap;padding:9px 11px;letter-spacing:.075em; }
  h1 { margin-top:23px;font-size:clamp(52px,15vw,83px);line-height:1.04;letter-spacing:-.065em; }h1 .hero-title-middle { font-size:1em;line-height:1.1; }
  .hero-description { max-width:340px;font-size:14px;margin-top:20px;line-height:1.75; }.hero-actions { flex-direction:row;align-items:center;gap:18px;margin-top:25px; }.hero-actions .button { font-size:11px;padding:17px;gap:19px;min-height:55px;border-radius:18px; }.text-link { font-size:10px;gap:7px; }.hero-footnote { display:none; }
  .hero-visual { top:auto;bottom:10px;right:0;width:100%;height:440px;min-height:0;mask-image:none; }.hero-photo-frame { inset:15px 30px 45px;border-radius:115px 115px 30px 30px;transform:rotate(2deg); }.hero-photo-frame img { border-radius:106px 106px 22px 22px;object-position:45% 50%; }
  .glass-outline { inset:30px 30px 35px 35px;border-radius:115px 115px 30px 30px; }.scene-badge { bottom:70px;left:20px;padding:12px 14px;gap:10px;border-radius:20px; }.scene-badge strong { font-size:10px; }.scene-badge small { font-size:7px; }
  .hero-visual figcaption { bottom:8px;left:26px;right:26px;font-size:6px; }.hero-visual figcaption>span:last-child { font-size:20px; }
  .material-strip { width:calc(100% - 40px);border-radius:20px;padding:22px;gap:20px;font-size:10px; }.material-strip i { font-size:15px; }.section { padding-top:60px;padding-bottom:60px; }
  .section-heading h2,h2 { font-size:40px; }.materials h2 { font-size:51px; }.section-intro { font-size:13px; }.material-row { padding:24px 20px;gap:15px;border-radius:24px; }.material-row:hover { padding:24px 20px;transform:translateY(-3px); }.material-row h3 { font-size:20px; }.material-row p { font-size:12px;padding:0; }.row-arrow { font-size:23px; }.row-number { font-size:9px; }
  .material-row::before { width:48%;mask-image:linear-gradient(90deg,transparent,#000 85%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 85%); }
  .works h2 { font-size:43px; }.work-grid { gap:25px; }.work { padding:8px 8px 0;border-radius:25px; }.work figure { border-radius:19px; }.work-large figure { height:auto; }.work-caption { padding:16px 9px 19px;gap:10px; }.work-caption h3 { font-size:13px; }.work-caption>span { font-size:8px; }
  .craft-section { padding:30px var(--gutter) 60px;gap:18px; }.craft-copy { padding:35px 0 15px; }.craft-copy h2 { font-size:39px; }.craft-visual { min-height:0;border-radius:27px; }.steps p { font-size:12px; }.request-copy h2 { font-size:51px; }.request-copy>p:not(.eyebrow) { font-size:13px; }
  .lead-form { padding:28px 20px;border-radius:27px; }.lead-form>h3 { font-size:24px; }.lead-form label { font-size:11px; }.lead-form input:not([type=checkbox]),.lead-form select,.lead-form textarea { padding:12px 10px;font-size:12px; }.form-pair { gap:12px; }
  .form-heading { gap:12px; }.form-heading h3 { font-size:24px; }.form-mark { width:76px;height:38px; }.footer-brand { gap:12px; }.footer-mark { width:96px;height:48px; }.footer-brand .footer-wordmark { font-size:20px; }.footer-wordmark small { max-width:170px;font-size:9px; }
  .mobile-contact { margin:0 12px 12px;bottom:0;border-radius:22px;overflow:hidden;border:1px solid #ffffffb0;background:#e5d7efad;box-shadow:0 10px 40px #74518b30;backdrop-filter:blur(24px) saturate(140%);grid-template-columns:.8fr 1.2fr;padding-bottom:env(safe-area-inset-bottom); }
  .mobile-contact a { padding:17px 13px; }.mobile-contact a:last-child { background-color:#62438d;background-image:var(--button-texture);background-size:180% 100%,cover;background-position:0 50%,50% 45%;background-repeat:no-repeat;box-shadow:inset 0 1px 0 #ffffff70;color:#fff; }.footer { padding-bottom:110px; }.privacy h1 { font-size:33px; }
}
@media(max-width:360px) { .header { gap:7px; }.brand { font-size:15px;gap:5px; }.brand-mark { width:42px;height:25px; }.brand small { font-size:4.5px; }.form-heading h3 { font-size:22px; }.form-mark { width:64px;height:32px; } }
@supports not (backdrop-filter:blur(1px)) { .header { background:#c1acd9; }.material-row,.lead-form,.scene-badge,.mobile-contact { background:#e1d3eb; } }

/* Readable type and recognisable brand/action icons. */
.ui-icon { display:block;width:22px;height:22px;flex-shrink:0; }
.header { min-height:98px;gap:24px;padding:20px 24px; }
.brand { font-size:24px;gap:12px; }
.brand-mark { width:86px;height:46px; }
.brand small { font-size:9px;letter-spacing:.15em; }
.desktop-nav { font-size:16px;gap:26px;font-weight:500; }
.desktop-nav a { padding:12px 0; }
.header-contact .phone { font-size:18px; }
.header-contact>span { font-size:12px;color:#50425f; }
.header-button { min-height:50px;font-size:15px;gap:14px;padding:13px 16px; }
.header-button .ui-icon { color:#654b96; }
.eyebrow { font-size:12px;line-height:1.6; }
.hero .eyebrow { font-size:11px;letter-spacing:.08em; }
.hero-description { font-size:17px;max-width:405px; }
.hero-actions { flex-wrap:wrap;gap:16px 24px; }
.button { font-size:15px;gap:22px; }
.text-link { display:inline-flex;align-items:center;font-size:14px;gap:10px; }
.hero-footnote p { font-size:13px; }
.scene-badge strong { font-size:14px; }
.scene-badge small { font-size:11px; }
.hero-visual figcaption { font-size:10px;letter-spacing:.1em; }
.caption-mark { width:48px;height:24px;object-fit:contain; }
.material-strip { font-size:14px;gap:20px; }
.material-strip>span { flex-shrink:0; }
.material-strip>span:first-child { font-size:10px;letter-spacing:.12em; }
.strip-mark { width:52px;height:28px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 2px 3px #573c7326); }
.section-intro,.request-copy>p:not(.eyebrow) { font-size:16px;line-height:1.85; }
.material-row p { font-size:15px;line-height:1.8; }
.row-number { font-size:13px; }
.row-action { display:grid;place-items:center;align-self:center;width:42px;height:42px;flex-shrink:0;margin-left:auto;border:1px solid #ffffffc0;border-radius:14px;background:#ffffff40;color:#654b96;transition:background .25s; }
.material-row:hover .row-action { background:#ffffff90; }
.work-caption { align-items:flex-start;flex-wrap:wrap;gap:6px 16px;min-height:86px; }
.work-caption h3 { font-size:17px;font-weight:500; }
.work-caption>span { font-size:13px;line-height:1.6; }
.work-large figure { height:calc(100% - 86px); }
.steps h3 { font-size:20px; }
.steps p { font-size:16px; }
.steps li>span { font-size:13px; }
.request-copy .estimate-note { font-size:14px!important; }
.contact-large { gap:14px; }
.contact-large .ui-icon { width:26px;height:26px;color:#654b96; }
.messenger-links { flex-wrap:wrap;gap:12px;font-size:15px; }
.messenger-links a { display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:12px 16px;border:1px solid #ffffffbb;border-radius:18px;background:linear-gradient(125deg,#ffffff66,#ffffff24);box-shadow:inset 0 1px 0 #ffffffa0;transition:background .25s,transform .25s; }
.messenger-links a:hover { background:#ffffff90;transform:translateY(-2px); }
.messenger-icon { display:block;width:28px;height:28px;object-fit:contain;flex-shrink:0; }
.lead-form label { font-size:14px;line-height:1.5; }
.form-intro { font-size:15px; }
.lead-form input:not([type=checkbox]),.lead-form select,.lead-form textarea { font-size:16px;min-height:50px; }
.lead-form .consent { font-size:12px;line-height:1.6; }
.form-status { font-size:14px;line-height:1.7; }
.footer,.footer>div { font-size:14px; }
.footer-wordmark small { font-size:12px; }
.mobile-menu a { font-size:17px; }
@media(min-width:851px) and (max-width:1350px) {
  .desktop-nav { gap:20px;font-size:15px; }
  .header { gap:20px; }
  .header-button { gap:10px;font-size:14px;padding:12px; }
  .brand { gap:8px;font-size:22px; }
  .brand-mark { width:74px;height:40px; }
  .header-contact .phone { font-size:16px; }
  .header-contact>span { font-size:11px; }
  .material-strip>span:first-child { display:none; }
}
@media(min-width:601px) and (max-width:1000px) {
  .hero .eyebrow { font-size:10px;letter-spacing:.03em; }
  .hero-description { font-size:16px; }
  .scene-badge { padding:14px 12px;gap:8px; }
  .scene-badge strong { font-size:12px; }
  .scene-badge small { font-size:10px; }
}
@media(max-width:850px) {
  .header { min-height:92px;padding:16px 20px; }
  .material-strip { justify-content:flex-start;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#8e73a64d transparent; }
}
@media(max-width:600px) {
  .header { display:grid;grid-template-columns:1fr auto;gap:12px 14px;padding:15px 18px;min-height:116px; }
  .brand { grid-column:1;grid-row:1;font-size:21px;gap:10px; }
  .brand-mark { width:60px;height:34px; }
  .brand small { display:block;font-size:8px;letter-spacing:.13em; }
  .menu-button { grid-column:2;grid-row:1;width:42px;height:42px; }
  .header-contact { grid-column:1/-1;grid-row:2;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-left:0;padding-top:10px;border-top:1px solid #ffffff70; }
  .header-contact .phone { font-size:15px; }
  .header-contact>span { display:block;max-width:125px;text-align:right;font-size:10px;line-height:1.5; }
  .privacy-header { grid-template-columns:1fr;min-height:0; }
  .privacy-header>a:last-child { grid-column:1;padding:8px 0;font-size:14px; }
  .hero { display:flex;flex-direction:column;gap:24px;min-height:0;padding-bottom:14px; }
  .hero-copy { padding-top:32px;width:100%;min-height:0;padding-bottom:0; }
  .hero .eyebrow { font-size:10px;letter-spacing:.025em;padding:9px 10px;gap:6px; }
  .hero-description { font-size:16px;max-width:365px;line-height:1.75; }
  .hero-actions { flex-direction:column;align-items:flex-start;gap:10px;margin-top:24px; }
  .hero-actions .button { font-size:14px;gap:20px;padding:17px 20px;min-height:58px; }
  .text-link { font-size:14px;padding:12px 0; }
  .hero-visual { position:relative;inset:auto;width:100%;height:440px;flex-shrink:0; }
  .scene-badge strong { font-size:12px; }
  .scene-badge small { font-size:10px; }
  .hero-visual figcaption { font-size:9px;letter-spacing:.05em; }
  .material-strip { font-size:13px;gap:20px;padding:18px 20px; }
  .material-strip>span:last-child { display:block; }
  .strip-mark { width:48px;height:26px; }
  .eyebrow { font-size:11px;letter-spacing:.1em; }
  .section-intro,.request-copy>p:not(.eyebrow) { font-size:16px; }
  .material-row { gap:12px;padding:24px 16px; }
  .material-row:hover { padding:24px 16px; }
  .material-row p { font-size:14px; }
  .row-number { font-size:12px; }
  .row-action { width:36px;height:36px;border-radius:12px; }
  .row-action .ui-icon { width:20px;height:20px; }
  .work-caption { flex-direction:column;align-items:flex-start;gap:5px;min-height:0; }
  .work-caption h3 { font-size:17px; }
  .work-caption>span { font-size:13px;text-align:left; }
  .work-large figure { height:auto; }
  .steps h3 { font-size:19px; }
  .steps p { font-size:15px; }
  .contact-large { font-size:clamp(24px,7vw,30px);gap:12px; }
  .contact-large .ui-icon { width:23px;height:23px; }
  .messenger-links { font-size:14px;gap:10px; }
  .messenger-links a { padding:11px 13px; }
  .lead-form label { font-size:14px; }
  .lead-form input:not([type=checkbox]),.lead-form select,.lead-form textarea { font-size:16px; }
  .form-pair { grid-template-columns:1fr;gap:18px; }
  .footer,.footer>div { font-size:13px; }
  .footer-wordmark small { font-size:11px; }
  .mobile-contact { grid-template-columns:.85fr 1.15fr; }
  .mobile-contact a { display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;padding:16px 10px; }
  .mobile-contact .ui-icon { width:19px;height:19px; }
}
@media(max-width:360px) {
  .header-contact .phone { font-size:14px; }
  .header-contact>span { max-width:108px; }
  .hero .eyebrow { font-size:9px; }
  .hero-visual figcaption { font-size:8px; }
  .mobile-contact a { font-size:12px;gap:6px;padding:16px 7px; }
}
