:root{--paper:#f5f2ec;--ink:#1b1b18;--soft:#d7c7b2;--line:#d6d0c7;--muted:#6f6b64;--dark:#20231f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}body.menu-open,body.intake-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}img{display:block;width:100%}.brand{font-family:"DM Serif Display",serif;font-size:28px;line-height:.8}.brand span{color:#aa8f70}.brand small{display:block;font-family:Manrope,sans-serif;font-size:6px;letter-spacing:.3em;margin-top:8px}.site-header{height:78px;padding:0 5vw;display:flex;align-items:center;position:absolute;z-index:20;left:0;right:0;color:#fff}.desktop-nav{display:flex;gap:30px;margin-left:auto;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.header-actions{display:flex;align-items:center;gap:20px;margin-left:34px}.language{display:flex;gap:8px;font-size:9px}.language span:not(.active){opacity:.45}.header-cta{border:1px solid rgba(255,255,255,.6);background:transparent;color:#fff;padding:10px 16px}.menu-toggle{display:none;background:none;border:0;width:32px}.menu-toggle span{display:block;height:1px;background:#fff;margin:6px 0}.mobile-menu{display:none}.hero{height:100svh;min-height:680px;position:relative;background:#222;color:#fff}.hero-media{position:absolute;inset:0}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,10,.58),rgba(12,12,10,.08))}.hero-media img{height:100%;object-fit:cover;filter:saturate(.72)}.hero-copy{position:absolute;left:6vw;bottom:10vh;z-index:2;max-width:760px}.hero-copy>span,.section-title>span,.visualizer-copy>span,.process>span,.northshore-copy>span,.about-copy>span,.closing>span{font-size:10px;letter-spacing:.18em;font-weight:600}.hero h1{font-family:"DM Serif Display",serif;font-size:clamp(72px,9vw,138px);font-weight:400;letter-spacing:-.035em;line-height:.88;margin:18px 0}.hero-copy p{font-size:17px;line-height:1.6;max-width:520px}.hero-actions{display:flex;gap:10px;margin-top:28px}.hero-actions a,.hero-actions button{padding:13px 18px;border:1px solid rgba(255,255,255,.7);background:transparent;color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.hero-actions a{background:#fff;color:#171713}.intro{padding:140px 10vw;display:grid;grid-template-columns:.4fr 1.3fr .8fr;gap:5vw;align-items:start}.intro>span{font-size:10px;letter-spacing:.16em}.intro h2,.section-title h2,.visualizer h2,.process h2,.northshore h2,.about h2,.closing h2{font-family:"DM Serif Display",serif;font-weight:400;letter-spacing:-.025em;line-height:.95;margin:0;font-size:clamp(52px,5.8vw,88px)}.intro p{font-size:15px;line-height:1.75;color:var(--muted);margin:8px 0}.services{padding:120px 6vw;background:#fff}.section-title{display:grid;grid-template-columns:180px 1fr;margin-bottom:70px}.service-feature{display:grid;grid-template-columns:1.4fr .6fr;background:var(--paper);min-height:600px}.service-feature>img{height:100%;object-fit:cover}.service-feature>div{padding:55px 4vw;display:flex;flex-direction:column;justify-content:center}.service-feature small{font-size:9px;letter-spacing:.15em}.service-feature h3{font-family:"DM Serif Display",serif;font-size:46px;line-height:1;font-weight:400;margin:20px 0}.service-feature p{font-size:14px;line-height:1.7;color:var(--muted)}.service-feature a{font-size:10px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid;width:max-content;padding-bottom:5px;margin-top:18px}.service-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}.service-row article{margin:0}.service-row img{height:380px;object-fit:cover}.service-row span{display:block;font-family:"DM Serif Display",serif;font-size:25px;margin-top:15px}.service-note{max-width:760px;margin:70px 0 0 auto;padding-top:22px;border-top:1px solid var(--line);font-size:13px;line-height:1.7;color:var(--muted)}.work{padding:130px 6vw}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.work-grid figure{margin:0}.work-grid .wide{grid-column:1/-1}.work-grid img{height:520px;object-fit:cover}.work-grid .wide img{height:680px}.work-grid figcaption{font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-top:10px;color:var(--muted)}.visualizer{padding:130px 6vw;background:#e7ded2;display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw}.visualizer-copy p{font-size:14px;line-height:1.75;color:var(--muted);max-width:480px}.ai-rule{display:flex;gap:22px;margin-top:30px;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.visualizer-app{background:var(--paper);border:1px solid #c9bdae}.viz-header{padding:14px 16px;border-bottom:1px solid #c9bdae;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.12em}.viz-grid{display:grid;grid-template-columns:1fr 1fr;min-height:390px}.viz-photo{background:#cdbba4;border-right:1px solid #c9bdae;overflow:hidden}.viz-photo>img{height:100%;object-fit:cover}.viz-empty{height:100%;padding:28px;display:flex;flex-direction:column;justify-content:flex-end}.viz-empty small,.viz-inputs label,.viz-result small{font-size:8px;letter-spacing:.12em}.viz-empty strong{font-family:"DM Serif Display",serif;font-size:31px;font-weight:400;margin:12px 0}.viz-photo-actions{display:flex;gap:8px;margin-top:15px}.viz-photo-actions label,.viz-photo-actions button,.viz-input-actions button{border:1px solid #837565;background:transparent;padding:9px 12px;font-size:9px}.viz-inputs{padding:28px;display:flex;flex-direction:column;gap:24px}.viz-inputs select,.viz-inputs textarea{width:100%;border:0;border-bottom:1px solid #aaa095;background:transparent;padding:10px 0;margin-top:8px;outline:none}.viz-inputs textarea{min-height:130px;resize:vertical}.viz-input-actions{display:flex;gap:8px;margin-top:auto}.viz-input-actions button:last-child{background:var(--ink);color:#fff}.viz-result{grid-template-columns:repeat(4,1fr);border-top:1px solid #c9bdae}.viz-result:not([hidden]){display:grid}.viz-result div{padding:16px;border-right:1px solid #c9bdae}.viz-result strong{display:block;font-size:11px;line-height:1.4;margin-top:7px}.process{padding:130px 6vw;background:var(--dark);color:#f5f2ec}.process>h2{margin:20px 0 70px}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #55594f}.steps article{padding:25px 28px 20px 0;border-right:1px solid #55594f}.steps article+article{padding-left:28px}.steps b{font-size:9px;color:#96998f}.steps h3{font-family:"DM Serif Display",serif;font-size:28px;font-weight:400;margin:55px 0 10px}.steps p{font-size:12px;line-height:1.65;color:#b5b8ae}.northshore{display:grid;grid-template-columns:1.1fr .9fr;min-height:650px}.northshore-image img{height:100%;object-fit:cover}.northshore-copy{padding:8vw 6vw;display:flex;flex-direction:column;justify-content:center}.northshore-copy h2{margin:20px 0}.northshore-copy p{font-size:15px;line-height:1.7;color:var(--muted);max-width:430px}.places{font-size:8px;line-height:1.8;letter-spacing:.1em;margin-top:35px;padding-top:18px;border-top:1px solid var(--line)}.about{padding:130px 9vw;display:grid;grid-template-columns:.75fr 1.25fr;gap:9vw;align-items:center;background:#fff}.about-photo img{height:620px;object-fit:cover;object-position:center 30%}.about-copy h2{margin:20px 0 30px}.about-copy p{font-size:14px;line-height:1.8;color:var(--muted);max-width:620px}.about-copy button,.closing button{border:0;border-bottom:1px solid;background:transparent;padding:10px 0;margin-top:18px;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.closing{padding:150px 6vw;text-align:center}.closing h2{font-size:clamp(70px,9vw,130px);margin:20px 0 35px}footer{padding:38px 5vw;background:#151714;color:#eee;display:flex;justify-content:space-between;align-items:center;font-size:9px}.intake{display:none;position:fixed;inset:0;z-index:100}.intake.open{display:block}.intake-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5)}.intake-panel{position:absolute;right:0;top:0;bottom:0;width:min(620px,100%);background:var(--paper);padding:35px 42px;overflow:auto}.intake-top{display:flex;justify-content:space-between}.intake-top button{border:0;background:none;font-size:26px}.intake-kicker{display:block;margin-top:60px;font-size:8px;letter-spacing:.15em}.intake-panel h2{font-family:"DM Serif Display",serif;font-size:56px;line-height:.95;font-weight:400}.intake-panel>p{font-size:13px;color:var(--muted)}.intake-tools{display:flex;gap:8px;margin:24px 0}.intake-tools label,.intake-tools button{border:1px solid var(--line);background:#fff;padding:10px 12px;font-size:9px}.intake-files{font-size:9px}.intake-panel textarea{width:100%;min-height:160px;border:1px solid var(--line);background:#fff;padding:14px}.intake-contact{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.intake-contact input{border:1px solid var(--line);background:#fff;padding:12px}.submit-intake{background:var(--ink);color:#fff;border:0;padding:13px 16px;margin-top:12px}.intake-note{display:block;margin-top:8px;color:var(--muted)}
@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{display:block}.service-feature,.visualizer,.northshore,.about{grid-template-columns:1fr}.service-feature>img{height:520px}.service-row{grid-template-columns:1fr}.service-row img{height:480px}.work-grid .wide img,.work-grid img{height:500px}.northshore-image{height:500px}.about-photo{max-width:520px}.steps{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.site-header{height:68px;padding:0 18px}.language,.header-cta{display:none}.mobile-menu{position:fixed;z-index:90;inset:0;background:#171916;color:#fff;padding:105px 24px 30px;flex-direction:column;gap:24px}.mobile-menu.open{display:flex}.mobile-menu a{font-family:"DM Serif Display",serif;font-size:36px}.mobile-menu button{margin-top:auto;border:1px solid #777;background:none;color:#fff;padding:14px}.hero{min-height:720px}.hero-copy{left:18px;right:18px;bottom:55px}.hero h1{font-size:clamp(58px,18vw,82px)}.hero-copy p{font-size:15px}.intro{padding:90px 18px;grid-template-columns:1fr;gap:28px}.intro h2,.section-title h2,.visualizer h2,.process h2,.northshore h2,.about h2{font-size:48px}.services,.work,.visualizer,.process{padding:85px 18px}.section-title{grid-template-columns:1fr;gap:24px;margin-bottom:45px}.service-feature{min-height:0}.service-feature>img{height:360px}.service-feature>div{padding:34px 22px}.service-feature h3{font-size:38px}.service-row img{height:330px}.service-note{margin-top:45px}.work-grid{grid-template-columns:1fr}.work-grid .wide{grid-column:auto}.work-grid .wide img,.work-grid img{height:360px}.viz-grid{grid-template-columns:1fr}.viz-photo{min-height:290px;border-right:0;border-bottom:1px solid #c9bdae}.viz-result:not([hidden]){grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr}.steps article,.steps article+article{padding:24px 0;border-right:0;border-bottom:1px solid #55594f}.steps h3{margin-top:28px}.northshore-image{height:380px}.northshore-copy{padding:80px 18px}.about{padding:85px 18px;gap:55px}.about-photo img{height:auto}.closing{padding:100px 18px}.closing h2{font-size:64px}footer{padding:35px 18px;align-items:flex-start;flex-direction:column;gap:18px}.intake-panel{padding:28px 18px}.intake-panel h2{font-size:48px}.intake-contact{grid-template-columns:1fr}}

/* Light typography pass — minimal architectural tone */
body{font-weight:300;letter-spacing:.002em}
.desktop-nav{font-weight:400;letter-spacing:.12em}
.header-cta{font-weight:400;letter-spacing:.08em}
.hero-copy>span,.section-title>span,.visualizer-copy>span,.process>span,.northshore-copy>span,.about-copy>span,.closing>span{font-weight:400;letter-spacing:.21em}
.hero h1{letter-spacing:-.025em}
.hero-copy p{font-weight:300;line-height:1.72;letter-spacing:.005em}
.hero-actions a,.hero-actions button{font-weight:400;letter-spacing:.1em}
.intro p,.service-feature p,.visualizer-copy p,.northshore-copy p,.about-copy p{font-weight:300;line-height:1.82}
.service-feature small,.viz-empty small,.viz-inputs label,.viz-result small{font-weight:400;letter-spacing:.17em}
.service-row span{font-weight:400}
.service-note{font-weight:300;line-height:1.82}
.work-grid figcaption{font-weight:300;letter-spacing:.14em}
.ai-rule{font-weight:400;letter-spacing:.12em}
.steps b{font-weight:400;letter-spacing:.12em}
.steps p{font-weight:300;line-height:1.75}
.places{font-weight:300;letter-spacing:.14em;line-height:2}
footer{font-weight:300;letter-spacing:.06em}
.intake-panel>p{font-weight:300;line-height:1.75}
.intake-kicker{font-weight:400;letter-spacing:.2em}
@media(max-width:720px){
 .hero-copy p{font-weight:300;line-height:1.68}
 .mobile-menu a{font-weight:400}
}

/* Light display serif — refined architectural minimalism */
.brand,
.hero h1,
.intro h2,
.section-title h2,
.visualizer h2,
.process h2,
.northshore h2,
.about h2,
.closing h2,
.service-feature h3,
.service-row span,
.viz-empty strong,
.steps h3,
.intake-panel h2,
.mobile-menu a{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:300;
}
.hero h1{letter-spacing:-.035em;line-height:.86}
.intro h2,
.section-title h2,
.visualizer h2,
.process h2,
.northshore h2,
.about h2,
.closing h2{letter-spacing:-.03em;line-height:.91}
.service-feature h3{letter-spacing:-.02em;line-height:.96}
.service-row span{letter-spacing:-.01em;line-height:1.08}
.steps h3{letter-spacing:-.01em}
.brand{font-weight:400;letter-spacing:-.025em}
@media(max-width:720px){
  .hero h1{line-height:.88}
  .intro h2,
  .section-title h2,
  .visualizer h2,
  .process h2,
  .northshore h2,
  .about h2{line-height:.93}
}

/* Quiet luxury continuation — hero remains untouched */
.section-title h2 em,.visualizer h2 em,.process h2 em,.northshore h2 em,.about h2 em,.closing h2 em{font-weight:300;color:#9b8268}
.services{padding-top:155px;padding-bottom:155px}
.section-title{margin-bottom:92px}
.service-feature{min-height:680px}
.service-feature>div{padding-left:5vw;padding-right:5vw}
.service-feature h3{font-size:54px}
.service-row{gap:28px;margin-top:70px}
.service-row img{height:440px}
.service-row span{font-size:29px;margin-top:20px}
.service-note{margin-top:95px;max-width:620px}
.work{padding-top:170px;padding-bottom:170px}
.work .section-title{margin-bottom:100px}
.work-grid{gap:28px}
.work-grid .wide img{height:760px}
.work-grid img{height:590px}
.work-grid figcaption{margin-top:15px}
.visualizer{padding-top:165px;padding-bottom:165px;gap:9vw;background:#e9e2d8}
.visualizer-copy{align-self:center}
.visualizer-copy h2{margin:22px 0 32px}
.visualizer-copy p{max-width:410px}
.ai-rule{margin-top:42px;padding-top:18px;border-top:1px solid rgba(27,27,24,.18);max-width:410px;justify-content:space-between}
.visualizer-app{box-shadow:0 28px 70px rgba(58,47,37,.07)}
.process{padding-top:170px;padding-bottom:170px}
.process>h2{margin-top:24px;margin-bottom:100px}
.steps{border-top-color:#454941}
.steps article{min-height:270px;display:flex;flex-direction:column}
.steps h3{margin-top:auto;font-size:32px}
.northshore{min-height:760px}
.northshore-copy{padding-left:8vw;padding-right:8vw}
.northshore-copy h2{margin-top:28px;margin-bottom:36px}
.northshore-copy p{max-width:350px}
.about{padding-top:170px;padding-bottom:170px;gap:11vw}
.about-photo img{height:720px}
.about-copy h2{margin-top:25px;margin-bottom:42px}
.about-copy p{max-width:540px}
.closing{position:relative;padding:0;min-height:92vh;color:#fff;display:flex;align-items:flex-end;text-align:left;overflow:hidden}
.closing-image{position:absolute;inset:0}
.closing-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,14,12,.5),rgba(15,14,12,.06))}
.closing-image img{height:100%;object-fit:cover;filter:saturate(.68)}
.closing-copy{position:relative;z-index:2;padding:8vw 7vw}
.closing h2{font-size:clamp(82px,10vw,150px);margin:20px 0 40px;line-height:.82}
.closing h2 em{color:#e0ccb3}
.closing button{color:#fff;border-color:#fff}
@media(max-width:900px){
 .service-feature{min-height:0}
 .service-row{gap:18px}
 .work-grid .wide img,.work-grid img{height:520px}
 .about-photo img{height:auto}
}
@media(max-width:720px){
 .services,.work,.visualizer,.process{padding-top:105px;padding-bottom:105px}
 .section-title,.work .section-title{margin-bottom:55px}
 .service-feature>div{padding:40px 22px}
 .service-feature h3{font-size:43px}
 .service-row{margin-top:50px}
 .service-row img{height:360px}
 .service-row span{font-size:27px}
 .service-note{margin-top:60px}
 .work-grid .wide img,.work-grid img{height:410px}
 .visualizer{gap:55px}
 .process>h2{margin-bottom:60px}
 .steps article{min-height:190px}
 .northshore{min-height:0}
 .northshore-copy{padding:95px 18px}
 .about{padding-top:110px;padding-bottom:110px}
 .closing{min-height:78vh}
 .closing-copy{padding:70px 18px}
 .closing h2{font-size:72px}
}

/* Story behind ALMA */
.about-story .story-lead{font-size:17px;line-height:1.8;color:var(--ink);max-width:570px}
.about-story blockquote{margin:46px 0;padding:0 0 0 28px;border-left:1px solid #b9a38a;font-family:"Cormorant Garamond",Georgia,serif;font-size:30px;font-weight:300;line-height:1.25;color:#75624f;max-width:600px}
.story-heart{margin-top:50px;padding-top:22px;border-top:1px solid var(--line);max-width:570px}
.story-heart>span{font-size:8px;letter-spacing:.18em;font-weight:400}
.story-heart p{font-family:"Cormorant Garamond",Georgia,serif;font-size:27px!important;line-height:1.25!important;font-weight:300;color:var(--ink)!important;margin:18px 0 0}
@media(max-width:720px){
 .about-story .story-lead{font-size:16px}
 .about-story blockquote{margin:36px 0;padding-left:20px;font-size:27px}
 .story-heart{margin-top:40px}
 .story-heart p{font-size:25px!important}
}

/* ALMA soul-of-home pass — informed by Jessica's original concept */
.soul-home{display:grid;grid-template-columns:.88fr 1.12fr;min-height:700px;background:#eee5d8}
.soul-copy{padding:10vw 7vw;display:flex;flex-direction:column;justify-content:center}
.soul-copy>span{font-size:8px;letter-spacing:.19em;font-weight:400}
.soul-copy h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(58px,6.4vw,96px);font-weight:300;line-height:.9;margin:26px 0 42px}
.soul-copy p{max-width:430px;font-size:15px;line-height:1.9;color:var(--muted)}
.soul-copy strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:28px;line-height:1.2;font-weight:300;color:#8c6e50;max-width:430px;margin-top:30px}
.soul-image{min-height:700px;overflow:hidden}
.soul-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.68) sepia(.08) contrast(.94)}
.services .section-title h2,.work .section-title h2{max-width:900px}
@media(max-width:900px){
 .soul-home{grid-template-columns:1fr}
 .soul-image{min-height:560px;order:-1}
 .soul-copy{padding:90px 7vw}
}
@media(max-width:720px){
 .soul-image{min-height:430px}
 .soul-copy{padding:75px 18px}
 .soul-copy h2{font-size:58px}
 .soul-copy strong{font-size:26px}
}
