:root{--plum:#2A1E2C;--mustard:#D9A21B;--cream:#F7F1E8;--ink:#2A1E2C;--muted:#6F6370;--line:#E4D9CB}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 'Instrument Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}
.wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.demo-bar{background:#202820;color:#fff;text-align:center;padding:10px 15px;font:12px Arial,sans-serif}.demo-bar a{text-decoration:underline}.portfolio-preview .demo-bar{display:none}
.skip{position:fixed;top:-80px;left:10px;background:var(--plum);color:#fff;padding:12px;z-index:99}.skip:focus{top:10px}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:400;margin:0}em{font-style:italic;color:var(--mustard)}
.top{position:sticky;top:0;z-index:20;background:var(--cream);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;height:78px;gap:24px}
.brand{display:flex;gap:12px;align-items:center;font:600 20px Fraunces,serif;line-height:1.1;margin-right:auto}.brand small{display:block;font:600 9px 'Instrument Sans',sans-serif;letter-spacing:2px;color:var(--muted);margin-top:4px}
.arch-logo{width:30px;height:38px;border-radius:15px 15px 0 0;background:linear-gradient(var(--plum) 60%,var(--mustard) 60%)}
nav{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:500}nav a:hover{color:#9b6d06}.pill{background:var(--plum);color:#fff;padding:10px 18px;border-radius:99px}nav .pill:hover{color:var(--mustard)}
.menu{display:none;background:none;border:1px solid var(--line);padding:8px 12px;font:600 13px 'Instrument Sans',sans-serif}
.eyebrow{font-size:11px;letter-spacing:2.4px;font-weight:700;color:#8d6a10;margin:0 0 18px}.eyebrow.light{color:var(--mustard)}
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;padding:70px 0 80px}
h1{font-size:clamp(52px,7vw,100px);line-height:.98;letter-spacing:-2px;margin-bottom:26px}.lead{font-size:18px;color:var(--muted);max-width:480px}
.ctas{display:flex;gap:24px;align-items:center;margin:30px 0}.btn{background:var(--mustard);color:var(--plum);font-weight:700;padding:15px 26px;border-radius:99px;transition:transform .2s}.btn:hover{transform:translateY(-2px)}.link{font-weight:600}
.ticks{list-style:none;padding:0;margin:0;display:flex;gap:20px;flex-wrap:wrap;font-size:13px;font-weight:600}.ticks li:before{content:'◆ ';color:var(--mustard)}
.hero-art{position:relative;height:540px}.arch{border-radius:999px 999px 0 0;overflow:hidden}
.room{--wall:#6E3B5C;position:relative;background:linear-gradient(transparent 78%,#8a6a4e 78%,#7a5c42 80%,#a07c5a 80%) , var(--wall)}
.room-plum{--wall:#6E3B5C}.room-old{--wall:#cfc6ae;background:linear-gradient(transparent 78%,#9b917c 78%,#8a806c 80%,#b9ae96 80%),radial-gradient(circle at 30% 30%,#d9d1b9,#bdb294 70%)}
.window{position:absolute;left:50%;top:18%;transform:translateX(-50%);width:34%;height:38%;border-radius:999px 999px 0 0;background:linear-gradient(#bcd3e6,#eaf1f5);border:8px solid #f7f1e8;box-shadow:inset 0 0 0 2px #0001}
.window:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 48%,#f7f1e8 48% 52%,transparent 52%)}
.sofa{position:absolute;left:18%;right:18%;bottom:22%;height:16%;background:var(--mustard);border-radius:18px 18px 6px 6px;box-shadow:0 10px 0 -2px #00000025}
.room-old .sofa{background:#8f8573}.room-old .window{filter:grayscale(.6) brightness(.9);border-color:#d8cfb6}
.crack{position:absolute;right:16%;top:12%;width:2px;height:28%;background:#7c735f;transform:rotate(14deg);box-shadow:6px 18px 0 -0.5px #7c735f}
.hero-art .arch{position:absolute;right:0;top:0;width:78%;height:100%}
.chip{position:absolute;background:#fff;padding:10px 10px 12px;width:128px;box-shadow:0 14px 30px #2a1e2c22;font:600 14px Fraunces,serif;transform:rotate(-5deg)}.chip b{display:block;height:84px;margin-bottom:8px}.chip small{display:block;font:500 10px 'Instrument Sans';letter-spacing:1.5px;color:var(--muted);text-transform:uppercase}
.c1{left:0;top:16%}.c1 b{background:#6E3B5C}.c2{left:6%;top:50%;transform:rotate(4deg)}.c2 b{background:var(--mustard)}.c3{right:-2%;bottom:-4%;transform:rotate(-2deg)}.c3 b{background:#F3EDE2;border:1px solid var(--line)}
.strip{background:var(--plum);color:var(--cream)}.strip .wrap{display:flex;justify-content:space-between;padding:18px 0;font:italic 22px Fraunces,serif;gap:20px;overflow:auto}.strip span:before{content:'✦ ';color:var(--mustard);font-style:normal;font-size:14px}
.section{padding:96px 0}.head{margin-bottom:44px}h2{font-size:clamp(40px,5vw,66px);line-height:1.02;letter-spacing:-1px}
.chips{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;padding:12px 12px 24px;box-shadow:0 1px 0 var(--line);transition:transform .25s}.card:hover{transform:translateY(-6px) rotate(-.6deg)}
.swatch{height:170px;background:var(--c);position:relative;margin-bottom:18px}.swatch span{position:absolute;right:10px;bottom:8px;font-size:11px;letter-spacing:1.5px;color:#fff;font-weight:700;mix-blend-mode:difference}
.card h3{font-size:25px;padding:0 8px;margin-bottom:6px}.card p{font-size:14px;color:var(--muted);margin:0;padding:0 8px}
.transform{background:var(--plum);color:var(--cream);padding:96px 0}.t-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}.transform p{color:#d8c9d6}
.ba{position:relative;aspect-ratio:4/3;border-radius:280px 280px 0 0;overflow:hidden}.ba .room{position:absolute;inset:0}.ba-before{clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba-line{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;background:var(--mustard);transform:translateX(-50%);pointer-events:none}.ba-line:after{content:'⟷';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--mustard);color:var(--plum);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:20px}
.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.tag{position:absolute;bottom:14px;background:#2a1e2ccc;color:#fff;font-size:11px;letter-spacing:2px;text-transform:uppercase;padding:6px 12px;border-radius:99px}.tag.l{left:14px}.tag.r{right:14px}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.gallery figure{margin:0}.gallery .arch{aspect-ratio:3/4}.gallery .g2,.gallery .g4{margin-top:50px}figcaption{font-size:13px;font-weight:600;margin-top:12px}.note{font-size:12px;color:var(--muted);margin-top:26px}
.process ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.process li{border-top:1px solid var(--plum);padding-top:20px}.process b{font:italic 44px Fraunces,serif;color:var(--mustard)}.process h3{font-size:24px;margin:4px 0}.process p{font-size:14px;color:var(--muted);margin:0}
.quote{background:var(--mustard);padding:90px 0 }.q-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}.q-arch{background:var(--plum);color:var(--cream);padding:90px 44px 44px}.q-arch p{color:#d8c9d6}.q-arch em{color:var(--mustard)}
.q-links a{display:block;border-bottom:1px solid #2a1e2c55;padding:20px 0;font:400 24px Fraunces,serif}.q-links small{display:block;font:700 10px 'Instrument Sans';letter-spacing:2px;margin-bottom:4px}.q-links p{font-weight:600}
.foot{background:var(--plum);color:#d8c9d6;font-size:13px;padding:28px 0 90px}.foot .wrap{display:flex;justify-content:space-between;gap:20px}
.sticky{display:none}
@media(max-width:900px){.chips{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}.process ol{grid-template-columns:1fr 1fr}.t-grid,.q-grid{grid-template-columns:1fr;gap:36px}}
@media(max-width:760px){nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--cream);flex-direction:column;align-items:start;padding:20px;border-bottom:1px solid var(--line)}nav.open{display:flex}.menu{display:block}
.hero{grid-template-columns:1fr;padding:40px 0 56px;gap:40px}h1{font-size:clamp(48px,14vw,72px)}.lead{font-size:16px}.ctas{flex-wrap:wrap;gap:16px}.hero-art{height:400px}.chip{width:100px}.chip b{height:60px}
.section,.transform{padding:64px 0}.chips{grid-template-columns:1fr}.swatch{height:120px}.gallery{gap:14px}.gallery .g2,.gallery .g4{margin-top:30px}.process ol{grid-template-columns:1fr}.q-arch{padding:70px 26px 30px}.q-links a{font-size:20px}.foot .wrap{flex-direction:column}
.sticky{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;background:var(--cream);border-top:1px solid var(--line);padding:9px 12px;z-index:30}.sticky a{text-align:center;padding:12px;border-radius:99px;border:1px solid var(--plum);font-weight:700}.sticky a:last-child{background:var(--mustard);border-color:var(--mustard)}.portfolio-preview .sticky{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* real photos */
.arch img,.ba img{display:block;width:100%;height:100%;object-fit:cover}
.photo-arch{background:#e9e1d6}
.ba-after,.ba-before{position:absolute;inset:0}
.ba img{object-position:center 40%}
.gallery .arch{background:#e9e1d6}
.gallery{grid-template-columns:repeat(3,1fr);gap:24px}
.gallery .g2,.gallery .g4{margin-top:0}
.gallery .g2,.gallery .g5{margin-top:50px}
.process-photo{margin:0 0 44px;border-radius:280px 280px 0 0;overflow:hidden;position:relative;max-height:460px}
.process-photo img{display:block;width:100%;height:460px;object-fit:cover}
.process-photo figcaption{position:absolute;left:20px;bottom:20px;background:var(--mustard);color:var(--plum);padding:8px 14px;margin:0}
@media(max-width:760px){.gallery{grid-template-columns:1fr 1fr;gap:14px}.gallery .g2,.gallery .g5{margin-top:0}.gallery .g2,.gallery .g4,.gallery .g6{margin-top:30px}.process-photo{border-radius:140px 140px 0 0}.process-photo img{height:300px}}

.ba .ba-before img,.ba .ba-after img{width:200%;max-width:none;object-fit:cover;object-position:center 47%}
.ba .ba-after img{transform:translateX(-50%)}

.demo-contact{padding:clamp(48px,8vw,100px) max(24px,calc((100% - 1060px)/2));background:#f4eadb;color:#362638}
.demo-contact h2{font-size:clamp(32px,5vw,62px);margin:.3em 0}
.demo-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin:32px 0}
.demo-contact-grid>div{background:#fffef8;padding:clamp(16px,3vw,28px);border-radius:12px}
.demo-contact .demo-callout{display:table;background:#eddbc0;border-radius:12px;padding:8px 12px;font-size:13px;font-weight:600;margin:0 0 12px}
.demo-phone,.demo-email{display:block;overflow-wrap:anywhere}
.demo-phone{font-size:clamp(30px,4vw,48px);font-weight:750;line-height:1.15;margin-bottom:28px}
.demo-chat{display:inline-block;background:#215e39;color:#fff;padding:12px 16px;border-radius:6px;margin-bottom:16px}
.demo-contact iframe{display:block;width:100%;height:220px;border:0;border-radius:8px}
.demo-back{display:inline-block;margin-top:8px}
@media(max-width:680px){.demo-contact-grid{grid-template-columns:1fr;gap:16px}}

.demo-contact h2 em{color:#69406a;font-style:italic}
