@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f8f3e9;--ink:#203b32;--wine:#6e3e42;--gold:#bd9c67;--pale:#ebe1d1;--line:#d5cab9;--white:#fffdfa;--muted:#59645a}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.67 'DM Sans',Arial,sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,.serif{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;letter-spacing:-.038em;line-height:1.04}a{color:inherit}img{max-width:100%}.shell{width:min(1220px,calc(100% - 76px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:15px;background:white;z-index:200;padding:12px}
header{border-bottom:1px solid var(--line);background:rgba(248,243,233,.97);position:sticky;top:0;z-index:50;backdrop-filter:blur(10px)}.bar{height:87px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto}.brand-mark{width:56px;height:53px;object-fit:contain;background:var(--white);border-radius:2px;padding:2px}.brand-text{font:normal 23px/1.0 'Libre Caslon Display',Georgia,serif;letter-spacing:-.05em}.brand-text small{display:block;font:600 9px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;margin-top:6px;color:var(--wine)}nav{display:flex;gap:29px;align-items:center}nav a{font-size:12px;text-decoration:none;text-transform:uppercase;font-weight:700;letter-spacing:.1em}nav a:hover{color:var(--wine)}.navcta{border:1px solid var(--ink);padding:12px 18px}#menu{display:none}.kicker{color:var(--wine);font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.btn{display:inline-flex;align-items:center;gap:24px;background:var(--ink);color:var(--white);padding:16px 25px;min-height:50px;text-decoration:none;border:1px solid var(--ink);text-transform:uppercase;font-weight:800;font-size:11px;letter-spacing:.12em;transition:background .2s}.btn:hover{background:var(--wine);border-color:var(--wine)}.btn.light{color:var(--ink);background:transparent}.btn.light:hover{background:var(--pale)}.link{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;text-underline-offset:6px}.arrow{margin-left:8px}
.hero{min-height:670px;display:grid;grid-template-columns:1.08fr .92fr;background:var(--paper)}.hero-copy{padding:100px max(34px,calc((100vw - 1220px)/2)) 80px; padding-right:40px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero h1{font-size:clamp(55px,6.3vw,108px);max-width:770px;margin:24px 0 29px}.hero p{max-width:530px;color:var(--muted);font-size:17px;line-height:1.75}.hero-acts{margin-top:23px;display:flex;gap:30px;align-items:center;flex-wrap:wrap}.hero-visual{position:relative;min-height:590px;background:var(--wine);overflow:hidden}.hero-visual img{width:100%;height:100%;min-height:670px;object-fit:cover;object-position:center 31%;filter:saturate(.88)}.hero-visual:after{content:'';inset:0;position:absolute;background:linear-gradient(0deg,rgba(24,31,25,.38),transparent 45%)}.photo-caption{position:absolute;bottom:36px;left:37px;z-index:2;color:white;font-size:11px;letter-spacing:.15em;text-transform:uppercase}.photo-caption strong{display:block;font:normal 24px 'Libre Caslon Display',Georgia,serif;letter-spacing:0;text-transform:none}
.rule{border-top:1px solid var(--line)}.statement{text-align:center;padding:108px 20px 104px}.statement h2{max-width:925px;margin:18px auto 0;font-size:clamp(36px,4.7vw,75px)}.statement em{color:var(--wine);font-style:italic}.text-section{display:grid;grid-template-columns:1fr 1.17fr;gap:8%;align-items:start;padding:100px 0 105px;border-top:1px solid var(--line)}.text-section h2{font-size:clamp(40px,5vw,77px);max-width:570px;margin:17px 0 0}.text-section p{font-size:17px;color:var(--muted);max-width:610px}.pathways{margin-top:27px;border-top:1px solid var(--line)}.pathways a{padding:20px 0;display:flex;justify-content:space-between;gap:20px;font-size:17px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--line)}.pathways a:hover{color:var(--wine)}.feature{background:var(--ink);color:var(--white);display:grid;grid-template-columns:.95fr 1.05fr;min-height:510px}.feature-visual{background:var(--pale);display:flex;align-items:center;justify-content:center;min-height:430px;padding:45px}.logo-paper{width:100%;max-width:470px;aspect-ratio:1.1;background:var(--white);display:grid;place-items:center;padding:35px;border:1px solid #d7d1cb;box-shadow:20px 20px 0 rgba(50,45,33,.12)}.logo-paper img{max-height:90%;object-fit:contain}.feature-copy{padding:80px clamp(36px,7vw,120px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.feature-copy h2{font-size:clamp(43px,4.9vw,75px);max-width:580px;margin:18px 0}.feature-copy p{color:#e7e3d7;max-width:530px}.feature-copy .kicker{color:var(--gold)}.feature .btn{border-color:var(--white);background:var(--white);color:var(--ink);margin-top:19px}.feature .btn:hover{background:var(--pale)}.end{padding:100px 0 112px;text-align:center}.end h2{font-size:clamp(45px,6vw,86px);max-width:850px;margin:16px auto 28px}.end p{color:var(--muted);max-width:580px;margin:0 auto 26px}.mast{padding:82px 0 70px;border-bottom:1px solid var(--line)}.mast h1{max-width:890px;font-size:clamp(56px,7.2vw,107px);margin:18px 0 25px}.mast p{max-width:730px;font-size:19px;color:var(--muted)}.editorial{max-width:860px;padding:70px 0 108px}.editorial h2{font-size:clamp(36px,4vw,61px);margin:50px 0 17px}.editorial h3{font:500 23px/1.25 'Libre Caslon Display',Georgia,serif;margin:34px 0 12px}.editorial p,.editorial li{font-size:16px;line-height:1.85;color:#45564d}.editorial ul{padding-left:23px}.editorial li{margin:9px 0}.editorial details{border-top:1px solid var(--line);padding:23px 0}.editorial summary{cursor:pointer;font-weight:700}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;margin:60px 0}.portrait{aspect-ratio:4/5;object-fit:cover;width:100%;object-position:center 30%}.line-items>div{padding:24px 0;border-bottom:1px solid var(--line)}.line-items h3{margin-bottom:6px}.line-items p{margin:0}.contact-cta{background:var(--white);border:1px solid var(--line);padding:40px;margin:42px 0}.contact-cta h3{margin:0 0 12px}.contact-cta .btn{margin:12px 0}.sub{font-size:12px!important;color:var(--muted)}.tool{background:var(--white);padding:35px;border:1px solid var(--line);margin:36px 0}.tool label{display:block;font-weight:700;margin:17px 0 7px}.tool select{width:100%;padding:13px;border:1px solid #b5bbaf;font:inherit;background:white}.tool output{display:block;padding:21px;margin:22px 0 0;background:var(--paper)}.tool output p{margin:0}.tool button{font:inherit;font-size:12px;margin:20px 0;padding:12px;cursor:pointer}footer{background:#172e26;color:#f1eadd;padding:65px 0 38px}.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:45px}.footgrid strong{display:block;font:normal 34px 'Libre Caslon Display',serif}.footgrid a{display:block;text-decoration:none;margin-bottom:11px;font-size:13px}.footgrid p{color:#d3d9c9;font-size:13px}.legal{padding-top:25px;margin-top:45px;border-top:1px solid #486056;font-size:11px;color:#c4d0c5;line-height:1.7}.legal a{text-decoration:underline}.footerlogo{display:flex;align-items:flex-start;gap:16px}.footerlogo img{width:70px;background:white;padding:4px}.project-note{padding:28px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:190px 1fr;gap:25px}.project-note span{font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:.1em;color:var(--wine)}.project-note p{margin:0}.gallery-coming{padding:60px 35px;background:var(--pale);text-align:center}.gallery-coming p{margin:auto;max-width:580px}.gallery-coming strong{font:normal 37px 'Libre Caslon Display',Georgia,serif;display:block;margin:12px 0 18px}
@media(max-width:1040px){.bar{gap:14px}nav{gap:14px}.hero{min-height:560px}.hero-visual img{min-height:560px}.hero-copy{padding:60px 7%}.hero h1{font-size:clamp(50px,6.1vw,75px)}}
@media(max-width:760px){.shell{width:min(100% - 36px,1220px)}#menu{display:block;background:none;border:1px solid var(--line);padding:11px 14px;font-size:12px;text-transform:uppercase;font-weight:700}.bar{height:77px}.brand-mark{width:40px;height:39px}.brand-text{font-size:18px}.brand-text small{font-size:7px}nav{display:none;position:absolute;top:77px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:22px;flex-direction:column;align-items:stretch;gap:22px}nav.open{display:flex}.hero{display:flex;flex-direction:column-reverse}.hero-visual{min-height:320px;max-height:430px}.hero-visual img{height:430px;min-height:430px;object-position:center 28%}.hero-copy{padding:57px 20px 72px}.hero h1{font-size:clamp(53px,11.6vw,79px)}.hero p{font-size:16px}.statement{padding:75px 16px}.text-section{grid-template-columns:1fr;gap:25px;padding:72px 0}.feature{grid-template-columns:1fr}.feature-visual{min-height:270px}.logo-paper{max-width:320px;height:250px}.feature-copy{padding:65px 22px}.end{padding:75px 0}.mast{padding:63px 0 48px}.editorial{padding:48px 0 70px}.two-col,.footgrid{grid-template-columns:1fr;gap:25px}.project-note{grid-template-columns:1fr;gap:7px}.contact-cta{padding:24px}.photo-caption{bottom:20px;left:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* October 30 editorial refinement: portrait is a supporting image, never the billboard. */
@media(min-width:761px){
.hero{grid-template-columns:minmax(0,1.5fr) minmax(265px,.5fr);min-height:570px;padding-right:clamp(24px,5vw,100px);align-items:center}
.hero-copy{padding-top:76px;padding-bottom:78px}
.hero h1{font-size:clamp(52px,5.6vw,91px);max-width:780px}
.hero-visual{min-height:0;width:min(100%,315px);height:390px;justify-self:center;box-shadow:18px 18px 0 #e6e0d3;overflow:hidden}
.hero-visual img{height:100%;min-height:0;object-fit:cover;object-position:center 23%}
.hero-visual:after{background:linear-gradient(0deg,rgba(24,31,25,.42),transparent 40%)}
.two-col{grid-template-columns:minmax(185px,.65fr) minmax(0,1.35fr)}
.two-col .portrait{width:min(100%,265px);margin:0 auto}
}
@media(max-width:760px){
.hero{display:flex;flex-direction:column-reverse}
.hero-visual{width:min(45vw,185px);height:225px;min-height:0;max-height:225px;align-self:flex-start;margin:38px 0 0 28px;overflow:hidden;box-shadow:10px 10px 0 #e6e0d3}
.hero-visual img{width:100%;height:100%;min-height:0;max-height:225px;object-fit:cover;object-position:center 22%}
.hero .photo-caption{font-size:8px;bottom:8px;left:10px;letter-spacing:.07em}
.hero .photo-caption strong{font-size:15px}
.two-col .portrait{max-width:210px;margin:0 auto}
}
.form-host{background:#fff;border:1px solid var(--line);padding:30px;max-width:650px}
.inquiryForm{display:grid;gap:15px}.formField{display:grid;gap:7px}.formField label{font-size:12px;font-weight:700;letter-spacing:.02em}
.formField input,.formField textarea{box-sizing:border-box;width:100%;max-width:100%;padding:13px 14px;background:#fdfcf8;border:1px solid #b2b9b2;font:inherit;font-size:15px;color:var(--ink)}
.formField input:focus,.formField textarea:focus{outline:2px solid #57776a;outline-offset:2px}
.inquiryForm button{justify-self:start}.inquiryForm button:disabled{opacity:.6}.formStatus{font-size:13px;line-height:1.6}.formStatus.error{color:#8f2323}.formStatus.success{color:#1d614d}

/* Lovely Fit Homes / integrated translucent mark / 2026-10-30 */
/* Blend the source brand artwork into each real surface instead of boxing it on white. */
.brand-mark{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;mix-blend-mode:multiply;opacity:.9}
.logo-paper{background:transparent!important;border:0!important;box-shadow:none!important;padding:10px!important;aspect-ratio:auto;max-width:410px}
.logo-paper img{display:block;width:100%;height:auto;max-height:none!important;object-fit:contain;mix-blend-mode:multiply;opacity:.86}
.footerlogo img{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;filter:invert(1);mix-blend-mode:screen;opacity:.82}
@media(max-width:760px){.logo-paper{max-width:290px;padding:0!important}.logo-paper img{max-width:100%}}
