
:root{--bg:#fcf7f4;--paper:#fffaf7;--ink:#271f21;--soft:#51474a;--muted:#7c7072;--line:rgba(39,31,33,.13);--rose:#d9785f;--rose2:#b65c47;--blush:#f0d8ce;--sand:#d8c3b6;--sage:#c9d4ca;--serif:"Iowan Old Style","Palatino Linotype",Georgia,serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--max:1260px;--header:78px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}img{display:block;width:100%;height:auto}button,input,textarea,select{font:inherit}.container{width:min(calc(100% - 48px),var(--max));margin:auto}.skip{position:fixed;left:10px;top:10px;z-index:999;background:white;padding:10px;transform:translateY(-160%)}.skip:focus{transform:none}:focus-visible{outline:3px solid var(--rose);outline-offset:4px}[hidden]{display:none!important}
.header{height:var(--header);position:sticky;top:0;z-index:100;background:rgba(252,247,244,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.head{height:100%;width:min(calc(100% - 44px),1420px);margin:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:38px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.mark{width:43px;height:43px;border-radius:15px;background:var(--ink);display:grid;place-items:center;color:var(--paper);font-family:var(--serif);font-size:1.35rem;position:relative}.mark:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--rose);right:-2px;top:-2px}.brand b{font-family:var(--serif);font-size:1.25rem;font-weight:400}.brand small{display:block;color:var(--rose2);font-size:.62rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase}.nav{display:flex;gap:29px;justify-self:center;align-items:center}.nav a{text-decoration:none;font-size:.78rem;font-weight:750;position:relative;padding:28px 0}.nav a:after{content:"";height:2px;background:var(--rose);position:absolute;left:0;right:0;bottom:0;transform:scaleX(0);transition:.2s}.nav a:hover:after,.nav a[aria-current=page]:after{transform:scaleX(1)}.phone{text-decoration:none;font-weight:800;font-size:.9rem}.phone span{display:block;color:var(--muted);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase}.menu{display:none;border:1px solid var(--line);background:rgba(255,255,255,.72);padding:10px 12px;color:var(--ink);font-weight:800;border-radius:10px;line-height:1;appearance:none;-webkit-appearance:none}
.hero{min-height:calc(100svh - var(--header));display:grid;grid-template-columns:.92fr 1.08fr;border-bottom:1px solid var(--line)}.hero-copy{padding:88px max(28px,calc((100vw - var(--max))/2));padding-right:clamp(45px,6vw,90px);display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 5% 8%,rgba(217,120,95,.13),transparent 25%),radial-gradient(circle at 92% 90%,rgba(201,212,202,.28),transparent 28%)}.eyebrow{color:var(--rose2);font-size:.72rem;font-weight:850;letter-spacing:.18em;text-transform:uppercase;margin:0 0 18px}.hero h1,.page-hero h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.04em}.hero h1{font-size:clamp(3.8rem,7.2vw,7.4rem);line-height:.88;margin:0 0 26px}.hero h1 em,h2 em{font-style:italic;color:var(--rose)}.hero-lead{font-size:1.08rem;max-width:650px;color:var(--soft);margin:0 0 28px}.actions{display:flex;flex-wrap:wrap;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 20px;border:1px solid var(--ink);font-size:.81rem;font-weight:800;letter-spacing:.03em;text-decoration:none;background:transparent}.btn.primary{background:var(--rose);border-color:var(--rose);color:white}.btn.primary:hover{background:var(--rose2);border-color:var(--rose2)}.btn.soft{border-color:transparent;background:rgba(255,255,255,.64)}.hero-meta{margin-top:27px;color:var(--muted);font-size:.87rem}.keyword-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.keyword-chips a,.chip{padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.52);font-size:.72rem;text-decoration:none}.hero-media{position:relative;min-height:620px;background:var(--blush);overflow:hidden}.hero-media img{height:100%;object-fit:cover}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(39,31,33,.34))}.hero-caption{position:absolute;left:26px;right:26px;bottom:22px;z-index:2;color:white;font-size:.69rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;display:flex;justify-content:space-between;gap:18px}
.section{padding:112px 0;border-bottom:1px solid var(--line)}.section.alt{background:var(--paper)}.intro{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end;margin-bottom:44px}.intro h2{font-size:clamp(2.6rem,5vw,5rem);line-height:.98;margin:0}.intro>p{color:var(--muted);margin:0}.mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:165px;gap:14px}.mosaic-card{position:relative;overflow:hidden;border-radius:28px;background:var(--blush);min-height:320px;color:white}.mosaic-card:nth-child(1){grid-column:span 7;grid-row:span 3}.mosaic-card:nth-child(2){grid-column:span 5;grid-row:span 2}.mosaic-card:nth-child(3){grid-column:span 5;grid-row:span 3}.mosaic-card:nth-child(4){grid-column:span 7;grid-row:span 2}.mosaic-card:nth-child(5){grid-column:span 12;grid-row:span 2}.mosaic-card img{height:100%;object-fit:cover;transition:transform .55s ease}.mosaic-card:hover img{transform:scale(1.03)}.mosaic-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(32,24,26,.66))}.mosaic-copy{position:absolute;z-index:2;left:24px;right:24px;bottom:22px}.mosaic-copy span{font-size:.68rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase;opacity:.82}.mosaic-copy h3{font-size:clamp(1.9rem,3vw,3.2rem);line-height:1;margin:5px 0 0}.stock-note{margin-top:15px;color:var(--muted);font-size:.77rem}
.promise{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.promise-card{padding:30px;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.62)}.promise-card h3{font-size:2rem;margin:0 0 12px}.promise-card p{color:var(--muted);margin:0}.promise-list{border-top:1px solid var(--ink)}.promise-row{display:grid;grid-template-columns:54px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.promise-row b{color:var(--rose);font-family:var(--serif);font-size:1.7rem;font-weight:400}.promise-row h3{margin:0 0 5px;font-size:1.8rem}.promise-row p{margin:0;color:var(--muted)}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service{min-height:320px;padding:28px;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.64);display:flex;flex-direction:column;text-decoration:none;transition:.2s}.service:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(39,31,33,.08)}.service .no{font-family:var(--serif);font-size:1.5rem;color:var(--rose)}.service h3{font-size:2.15rem;line-height:1.02;margin:auto 0 12px}.service p{color:var(--muted);margin:0 0 18px}.service strong{font-size:.78rem}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.step{position:relative;padding:76px 22px 24px;border-radius:26px;background:var(--paper);border:1px solid var(--line)}.step b{position:absolute;left:20px;top:18px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--rose);color:white;font-size:.78rem}.step h3{font-size:1.7rem;margin:0 0 8px}.step p{margin:0;color:var(--muted);font-size:.9rem}
.quote{background:linear-gradient(120deg,#d9785f,#bb6f5b);color:white;padding:70px 0}.quote p{font-family:var(--serif);font-size:clamp(2.3rem,4.8vw,4.7rem);line-height:1.01;margin:0;max-width:960px;letter-spacing:-.04em}.quote small{display:block;margin-top:18px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;opacity:.75}
.page-hero{padding:84px 0 90px;background:linear-gradient(145deg,#3a2e31,#271f21);color:white}.crumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:.72rem;color:rgba(255,255,255,.55);margin-bottom:48px}.crumbs a{text-decoration:none}.page-hero h1{font-size:clamp(3.3rem,6vw,6rem);line-height:.92;margin:0 0 23px;max-width:950px}.page-lead{max-width:780px;color:rgba(255,255,255,.7);font-size:1.06rem}.micro{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.micro a{padding:7px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;text-decoration:none;font-size:.72rem}
.content-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:start}.copy h2{font-size:clamp(2.3rem,4vw,4rem);line-height:1;margin:0 0 20px}.copy h3{font-size:2rem;margin:42px 0 10px}.copy p{color:var(--soft);font-size:1.01rem}.copy ul{padding-left:20px;color:var(--soft)}.copy li{margin:9px 0}.side{position:sticky;top:calc(var(--header) + 25px);padding:28px;border-radius:27px;background:var(--paper);border:1px solid var(--line)}.side h2{font-size:2.5rem;margin:0 0 12px}.side p{color:var(--muted)}.side .btn{width:100%;margin:8px 0}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:35px 0}.fact{padding:22px;background:var(--paper)}.fact b{display:block;color:var(--rose2);font-family:var(--serif);font-size:1.45rem;font-weight:400}.fact span{font-size:.78rem;color:var(--muted)}
.guides{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.guide{padding:26px;border:1px solid var(--line);border-radius:25px;background:rgba(255,255,255,.68);text-decoration:none}.guide span{color:var(--rose);font-family:var(--serif);font-size:1.35rem}.guide h3{font-size:1.8rem;margin:34px 0 9px}.guide p{margin:0;color:var(--muted)}
.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.faq-list{border-top:1px solid var(--ink)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:22px 40px 22px 0;font-family:var(--serif);font-size:1.55rem;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:5px;color:var(--rose)}details[open] summary:after{content:"−"}details p{padding:0 30px 22px 0;color:var(--muted);margin:0}
.contact-section{background:radial-gradient(circle at top right,rgba(217,120,95,.12),transparent 28%),var(--paper)}.contact-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px}.contact-copy h2{font-size:clamp(2.7rem,5vw,5rem);line-height:.98;margin:0 0 20px}.contact-copy p{color:var(--muted)}address{font-style:normal;display:grid;gap:8px;margin-top:28px}.bigphone{font-family:var(--serif);font-size:clamp(2rem,4vw,3.8rem);text-decoration:none}.email{color:var(--rose2);font-weight:800;text-decoration:none}.lead-form{padding:28px;border:1px solid var(--line);border-radius:30px;background:white;box-shadow:0 20px 60px rgba(39,31,33,.06)}.form-note{padding:13px 15px;background:#fbefea;border-left:3px solid var(--rose);color:var(--soft);font-size:.88rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field.full{grid-column:1/-1}.field{display:grid;gap:7px}.field label{font-size:.78rem;font-weight:800}.field input,.field textarea,.field select{width:100%;padding:12px 13px;border:1px solid rgba(39,31,33,.2);background:#fffdfa}.field textarea{resize:vertical}.help{font-size:.72rem;color:var(--muted);margin:4px 0 0}.trap{position:absolute;left:-9999px}.form-privacy{font-size:.74rem;color:var(--muted)}.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.form-status{padding:13px;margin-top:14px;border:1px solid var(--line);background:#fff7f3}.form-status[data-state=success]{background:#eef7f1;color:#315a41}.textbtn{border:0;background:transparent;text-decoration:underline;cursor:pointer;font-size:.78rem;font-weight:700}
.portfolio-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.port{grid-column:span 4;border-radius:28px;overflow:hidden;background:white;border:1px solid var(--line)}.port.wide{grid-column:span 8}.port img{height:300px;object-fit:cover}.port-body{padding:22px}.port-body span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--rose2);font-weight:850}.port-body h2{font-size:2rem;margin:7px 0 8px}.port-body p{color:var(--muted);margin:0}.credit{font-size:.69rem;color:var(--muted);margin-top:12px}
.footer{padding:75px 0 25px;background:var(--ink);color:#fff8f4}.foot{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:60px}.footer h2{font-size:1.4rem}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin:8px 0;color:rgba(255,255,255,.66);font-size:.84rem}.footer a{text-decoration:none}.footer .brand b{color:white}.footer .brand small{color:#e7b3a3}.foot-quote{font-family:var(--serif);font-size:1.55rem;line-height:1.15;color:rgba(255,255,255,.76);max-width:35ch}.bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:50px;padding-top:20px;color:rgba(255,255,255,.45);font-size:.72rem}
@media(max-width:1120px){.nav{position:fixed;top:var(--header);left:0;right:0;background:var(--paper);display:none;flex-direction:column;align-items:stretch;padding:18px 28px;border-bottom:1px solid var(--line)}.nav.open{display:flex}.nav a{padding:10px 0}.menu{display:block}.phone{display:none}.head{grid-template-columns:auto 1fr auto}.hero{grid-template-columns:1fr}.hero-media{min-height:500px}.intro,.promise,.content-grid,.faq,.contact-grid,.foot{grid-template-columns:1fr}.services{grid-template-columns:1fr 1fr}.process{grid-template-columns:1fr 1fr}.side{position:relative;top:auto}.mosaic-card:nth-child(n){grid-column:span 6;grid-row:span 2}.mosaic-card:nth-child(1){grid-column:span 12;grid-row:span 3}.portfolio-grid .port,.portfolio-grid .port.wide{grid-column:span 6}}
@media(max-width:720px){.container{width:min(calc(100% - 28px),var(--max))}.hero-copy{padding:62px 22px}.hero h1{font-size:clamp(3.2rem,16vw,5.1rem)}.hero-media{min-height:360px}.section{padding:78px 0}.intro{gap:20px}.services,.process,.form-grid{grid-template-columns:1fr}.mosaic{grid-auto-rows:145px}.mosaic-card:nth-child(n){grid-column:span 12;grid-row:span 2;min-height:290px}.mosaic-card:nth-child(1){grid-row:span 2}.portfolio-grid .port,.portfolio-grid .port.wide{grid-column:span 12}.port img{height:250px}.facts{grid-template-columns:1fr}.guides{grid-template-columns:1fr}.page-hero{padding:60px 0}.header{height:70px}.brand b{font-size:1.05rem}.mark{width:39px;height:39px}.contact-grid{gap:32px}.lead-form{padding:20px}.quote{padding:56px 0}}

/* R2: public identity + mobile polish */
@media(max-width:720px){.menu{min-width:72px;min-height:44px}.head{width:min(calc(100% - 28px),1420px)}.brand small{letter-spacing:.16em}.bottom{line-height:1.55}}
