@font-face{font-family:Playfair;src:url('assets/playfair.woff2') format('woff2');font-weight:400 900;font-display:swap}@font-face{font-family:Mulish;src:url('assets/mulish.woff2') format('woff2');font-weight:200 900;font-display:swap}:root{--gold:#E7BB33;--charcoal:#373435;--ink:#272727;--white:#fff;--pale:#f7f7f7;--line:#dedddd;--muted:#646162}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--white);color:var(--ink);font-family:Mulish,Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%;height:auto}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #a17a00;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,.serif{font-family:Playfair,Georgia,serif;font-weight:500;line-height:1.13;letter-spacing:-.045em}h1{font-size:clamp(48px,5.7vw,84px)}h2{font-size:clamp(35px,4vw,56px)}h3{font-size:21px;line-height:1.35;letter-spacing:-.03em}p+p{margin-top:18px}.wrap{width:min(1220px,calc(100% - 96px));margin:auto}.section{padding:105px 0}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:800;text-transform:uppercase;display:block;margin-bottom:24px}.eyebrow:before{content:'';display:inline-block;width:26px;height:2px;background:var(--gold);vertical-align:middle;margin-right:12px}.muted{color:var(--muted)}.lead{font-size:18px;line-height:1.75;max-width:650px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:15px 24px;background:var(--gold);color:var(--ink);border:1px solid var(--gold);font-size:13px;font-weight:800;min-height:50px;transition:transform .2s,background .2s}.btn:hover{background:#fff;transform:translateY(-2px)}.btn-outline{background:transparent;border-color:#c7c5c5}.btn-outline:hover{background:var(--pale)}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.text-link{font-size:13px;font-weight:800;border-bottom:1px solid var(--gold);padding-bottom:6px}.top-note{background:var(--charcoal);color:#fff;text-align:center;font-size:11px;padding:6px 15px;letter-spacing:.035em}.top-note a{color:var(--gold);margin-left:12px}.header{position:sticky;top:0;z-index:30;background:#fffffff5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav{height:90px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand img{width:205px;height:66px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:700}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:8px 14px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:670px}.hero-copy{padding:80px 55px 72px max(48px,calc((100vw - 1220px)/2));align-self:center}.hero h1 em{color:var(--ink);font-style:normal}.hero .lead{font-size:16px;margin-top:27px;max-width:455px}.hero-media{position:relative;min-height:610px;background:var(--charcoal);overflow:hidden}.hero-media>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero-media:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#272727aa)}.photo-caption{position:absolute;bottom:32px;left:32px;right:32px;z-index:1;color:white;display:flex;justify-content:space-between;gap:20px;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.hero-small{display:flex;align-items:center;gap:16px;font-size:11px;margin-top:34px;color:var(--muted)}.hero-small i{width:7px;height:7px;background:var(--gold);border-radius:50%}.trust{background:var(--charcoal);color:white}.trust .wrap{display:grid;grid-template-columns:repeat(3,1fr);padding:27px 0}.trust-item{padding:0 35px;border-right:1px solid #ffffff30;display:flex;gap:17px;align-items:center}.trust-item:first-child{padding-left:0}.trust-item:last-child{border:0}.trust-item b{color:var(--gold);font-family:Playfair,serif;font-size:30px;font-weight:500}.trust-item span{font-size:12px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:44px}.section-head p{max-width:360px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.grid-4 .service img{height:270px}.grid-4 .service h3{font-size:22px;margin-top:19px}.service img{width:100%;height:330px;object-fit:cover}.service h3{margin:23px 0 10px;font-family:Playfair,serif;font-size:26px;font-weight:500}.service p{font-size:14px;color:var(--muted);margin-bottom:20px}.service-top{display:flex;justify-content:space-between;align-items:baseline}.service-top span{font-size:12px;color:var(--muted)}.service-extra{border-top:1px solid var(--line);padding-top:24px;margin-top:40px;display:flex;justify-content:space-between;gap:15px;font-size:13px}.pale{background:var(--pale)}.split{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pair figure{margin:0}.pair img{width:100%;height:405px;object-fit:cover}.pair figcaption{font-size:11px;margin-top:12px;text-transform:uppercase;letter-spacing:.13em}.checks{list-style:none;padding:0;margin:28px 0}.checks li{padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.checks li:before{content:'↗';color:var(--ink);margin-right:16px}.project-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.chip{background:white;border:1px solid var(--line);padding:8px 17px;font-size:12px}.chip[aria-pressed=true]{background:var(--charcoal);color:white;border-color:var(--charcoal)}.project img{height:355px;width:100%;object-fit:cover}.project figcaption{display:flex;justify-content:space-between;gap:10px;margin-top:18px;font-size:13px}.project{margin:0}.project[hidden]{display:none}.dark{background:var(--charcoal);color:white}.dark .muted{color:#cfcdcd}.dark .btn-outline{color:white}.dark .btn-outline:hover{color:var(--ink)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:45px}.step{border-top:1px solid #ffffff40;padding-top:25px}.step>span{color:var(--gold);font-size:12px}.step h3{margin:20px 0 14px}.step p{font-size:14px;color:#cfcdcd}.portrait{height:500px;width:100%;object-fit:cover;object-position:center 40%}.towns{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}.towns span{border:1px solid var(--line);padding:8px 13px;font-size:12px}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-size:15px;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:25px}summary:after{content:'+';font-size:22px;color:var(--ink)}details[open] summary:after{content:'−'}details p{font-size:14px;color:var(--muted);margin-top:18px}.contact-grid{display:grid;grid-template-columns:.85fr 1fr;gap:100px}.contact-info{margin-top:35px}.contact-info a{display:block;font-size:20px;margin:8px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:12px;font-weight:700}input,select,textarea{display:block;width:100%;background:white;border:1px solid #b9b7b8;border-radius:0;padding:13px;margin-top:8px;color:var(--ink);min-width:0}textarea{min-height:105px;resize:vertical}.full{grid-column:1/-1}.fine{font-size:12px;line-height:1.65;color:var(--muted)}.form-notice{padding:14px;background:white;border-left:3px solid var(--gold);margin-top:20px}.footer{padding:35px 0;border-top:1px solid var(--line)}.footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px}.footer img{width:150px}.footer-links{display:flex;gap:22px}.skip{position:absolute;top:-100px;left:20px;z-index:100;background:white;padding:15px}.skip:focus{top:10px}.mobile-contact{display:none}dialog{max-width:530px;width:calc(100% - 40px);border:0;padding:40px;color:var(--ink)}dialog::backdrop{background:#272727bb}dialog h2{font-size:34px;margin-bottom:20px}dialog .close{float:right;background:none;border:0;font-size:24px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
/* Strategy presentation */
.proposal-header .brand img{width:165px}.co-brand{border-left:1px solid var(--line);padding-left:22px;font-size:11px;letter-spacing:.12em;font-weight:800}.proposal-hero{position:relative;overflow:hidden;background:var(--charcoal);color:white;padding:80px 0 55px}.proposal-hero:after{content:'';position:absolute;right:-100px;top:0;width:650px;height:100%;opacity:.07;transform:rotate(-20deg);background:repeating-linear-gradient(0deg,transparent 0 99px,white 99px 100px),repeating-linear-gradient(90deg,transparent 0 99px,white 99px 100px);pointer-events:none}.proposal-hero .wrap{position:relative;z-index:1}.proposal-hero h1{max-width:850px;font-size:clamp(45px,6.1vw,83px)}.proposal-hero h1 em{font-style:normal;color:var(--gold)}.proposal-hero p{max-width:680px;margin:30px 0;color:#d3d1d2}.hero-meta{display:flex;gap:45px;font-size:11px;letter-spacing:.09em;padding-top:35px;border-top:1px solid #ffffff30;margin-top:50px}.proposal-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:65px}.chapter-nav{position:sticky;top:115px;align-self:start;padding-top:55px;max-height:calc(100vh - 115px);overflow:auto}.chapter-nav>span{font-size:10px;letter-spacing:.15em;font-weight:800;color:var(--muted)}.chapter-nav a{display:block;font-size:12px;padding:10px 8px;border-left:2px solid var(--line);margin:3px 0;color:var(--muted)}.chapter-nav a.active{border-color:var(--gold);color:var(--ink);font-weight:800;background:var(--pale)}.chapter-nav a:last-child{margin-top:16px;color:var(--ink);font-weight:800}.chapter{padding:75px 0;border-bottom:1px solid var(--line);scroll-margin-top:95px;min-width:0}.chapter h2{font-size:clamp(34px,3.5vw,49px);margin-bottom:23px}.chapter>.lead{max-width:780px;font-size:17px;margin-bottom:30px}.chapter h3{margin:33px 0 16px}.chapter p{color:var(--muted)}.chapter .eyebrow{margin-bottom:18px}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:28px 0}.card{border:1px solid var(--line);padding:25px}.card h3{margin:0 0 13px}.card p{font-size:14px}.card .number{font-family:Playfair,serif;font-size:46px;color:var(--ink);display:block;margin-bottom:12px;line-height:1.1}.callout{background:var(--pale);border-left:3px solid var(--gold);padding:24px 28px;margin:28px 0;font-size:14px}.callout strong{display:block;margin-bottom:7px}.source{font-size:11px;line-height:1.6;margin:14px 0 22px;color:var(--muted)}.source a{text-decoration:underline;text-underline-offset:3px}.table-scroll{overflow-x:auto;margin:24px 0}table{border-collapse:collapse;width:100%;font-size:13px;min-width:550px}th{text-align:left;background:var(--charcoal);color:white;font-size:11px;font-weight:700;padding:14px 17px}td{padding:17px;vertical-align:top;border-bottom:1px solid var(--line)}td:first-child{font-weight:800}tbody tr:nth-child(even){background:var(--pale)}.roadmap{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:30px}.month{border-top:3px solid var(--gold);padding:17px;background:var(--pale)}.month b{font-size:11px;text-transform:uppercase;letter-spacing:.1em}.month h3{font-size:17px;margin:12px 0}.month p{font-size:13px}.metric-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.metric-list label{font-size:12px}.metric-result{padding:24px;background:var(--charcoal);color:white;margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:25px}.metric-result strong{font-size:29px;color:var(--gold);display:block}.metric-result span{font-size:12px}.metric-result p{color:#ddd;font-size:12px;grid-column:1/-1}.palette{display:flex;gap:14px;margin:25px 0}.swatch{flex:1}.swatch i{display:block;height:80px;border:1px solid var(--line)}.swatch span{font-size:11px}.site-preview{display:grid;grid-template-columns:1fr 1fr;background:var(--charcoal);color:white;margin:30px 0}.site-preview img{width:100%;height:100%;min-height:280px;object-fit:cover}.site-preview div{padding:35px}.site-preview h3{font-family:Playfair,serif;font-size:29px;font-weight:400;margin:0 0 18px}.site-preview p{color:#d3d1d2;font-size:13px}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:26px 0}.flow div{padding:18px 13px;border:1px solid var(--line);font-size:12px}.flow b{display:block;margin-bottom:8px}.flow span{color:var(--muted);font-size:11px}.week-tabs{display:flex;gap:8px;margin:22px 0}.weekly{display:grid;grid-template-columns:1fr 1fr;gap:18px}.weekly .card{margin:0}.weekly .eyebrow{font-size:10px}.weekly h3{margin:12px 0}.proposal-price{background:var(--charcoal);color:white;padding:45px;margin-top:35px}.proposal-price .eyebrow{color:var(--gold)}.proposal-price .price{font-size:clamp(48px,7vw,76px);font-family:Playfair,serif;line-height:1.2;letter-spacing:-.05em}.proposal-price p{color:#dedddd}.proposal-price .equivalent{font-size:16px;color:var(--gold);margin:18px 0 30px}.included{display:grid;grid-template-columns:1fr 1fr;gap:14px;list-style:none;margin:30px 0;padding:25px 0;border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30;font-size:13px}.included li:before{content:'✓';color:var(--gold);margin-right:10px}.proposal-price .fine{color:#ccc}.proposal-price .btn{margin-top:28px}.proposal-end{padding:40px 0;font-size:12px}.progress{position:fixed;top:0;left:0;height:3px;background:var(--gold);z-index:100;width:0}
@media(min-width:1600px){.hero-copy{padding-right:80px}.hero{min-height:750px}}
@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.nav-links{gap:17px}.hero-copy{padding:60px 28px}.hero{min-height:600px}.hero-media{min-height:560px}.split{gap:40px}.contact-grid{gap:45px}.proposal-layout{grid-template-columns:180px minmax(0,1fr);gap:35px}.flow{grid-template-columns:1fr 1fr}}
@media(max-width:760px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}.section{padding:65px 0}.nav{height:75px}.brand img{width:155px;height:55px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:75px;left:0;right:0;padding:25px;background:white;box-shadow:0 12px 20px #0001;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 25px}.hero h1{font-size:53px}.hero-media{min-height:330px}.hero-media>img{object-position:center}.trust .wrap{grid-template-columns:1fr;padding:10px 0}.trust-item,.trust-item:first-child{padding:15px 0;border-right:0;border-bottom:1px solid #ffffff30}.trust-item b{font-size:23px;min-width:42px}.section-head{display:block}.section-head p{margin-top:22px}.grid-3,.grid-4{grid-template-columns:1fr;gap:35px}.grid-4 .service img{height:350px}.service img{height:350px}.service-extra{flex-wrap:wrap}.split,.contact-grid{grid-template-columns:1fr;gap:35px}.pair img{height:290px}.project img{height:390px}.steps{grid-template-columns:1fr;gap:30px}.portrait{height:440px}.form-grid{gap:15px}.footer .wrap{flex-wrap:wrap}.footer{padding-bottom:90px}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;background:white;border-top:1px solid var(--line);padding:10px 20px;gap:10px}.mobile-contact a{flex:1;text-align:center;font-size:12px;padding:10px}.mobile-contact a:last-child{background:var(--gold);font-weight:800}.co-brand{display:none}.proposal-header .nav>.btn{font-size:11px;padding:10px 13px;min-height:42px}.proposal-hero{padding:55px 0 35px}.proposal-hero h1{font-size:49px}.hero-meta{flex-wrap:wrap;gap:18px;margin-top:30px;padding-top:25px;font-size:10px}.proposal-layout{display:block}.chapter-nav{position:relative;top:auto;max-height:none;padding:25px 0;display:flex;gap:8px;overflow-x:auto;white-space:nowrap;border-bottom:1px solid var(--line)}.chapter-nav>span{display:none}.chapter-nav a{border:1px solid var(--line);padding:9px 14px;margin:0}.chapter-nav a:last-child{margin:0}.chapter{padding:55px 0}.cards{grid-template-columns:1fr}.card{padding:23px}.roadmap{grid-template-columns:1fr 1fr}.site-preview{grid-template-columns:1fr}.site-preview img{height:240px;min-height:0}.palette{gap:7px}.swatch span{font-size:9px}.weekly{grid-template-columns:1fr}.week-tabs{gap:5px}.week-tabs button{padding:8px 10px}.proposal-price{padding:28px 23px}.included{grid-template-columns:1fr}.proposal-end{padding-bottom:35px}.proposal-footer{padding-bottom:35px}.metric-result{gap:15px}.metric-result strong{font-size:24px}.flow{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.header,.chapter-nav,.top-note,.mobile-contact,.actions,.proposal-price .btn,.progress,.week-tabs{display:none!important}.wrap{width:100%}.proposal-layout{display:block}.chapter{padding:25px 0;break-inside:auto}.card,.roadmap,.proposal-price,tr{break-inside:avoid}body{font-size:12px}.proposal-hero{padding:35px 0}.proposal-hero h1{font-size:45px}.chapter h2{font-size:30px}.proposal-price{print-color-adjust:exact}.source{font-size:10px}}

.hero h1 em{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:3px;text-underline-offset:12px}.proposal-hero .btn-outline{color:white}.proposal-hero .btn-outline:hover{color:var(--ink)}
@media(max-width:380px){.hero h1{font-size:44px}.proposal-hero h1{font-size:42px}.proposal-header .brand img{width:130px}.proposal-header .nav{gap:10px}.proposal-header .nav>.btn{font-size:10px;padding:9px;gap:5px}.form-grid{grid-template-columns:1fr}.roadmap{grid-template-columns:1fr}.photo-caption{font-size:9px;left:20px;right:20px}}
/* Client presentation: explicit table labels and readable mobile cards. */
.chapter th+th{border-left:1px solid #ffffff35}.chapter td+td{border-left:1px solid var(--line)}
@media(max-width:760px){.chapter .table-scroll{overflow:visible}.chapter table{min-width:0;display:block}.chapter thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.chapter tbody{display:grid;gap:16px}.chapter tr{display:block;border:1px solid var(--line);padding:5px 18px;background:var(--white)}.chapter td{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-weight:400}.chapter td+td{border-left:0}.chapter td:last-child{border-bottom:0}.chapter td:before{content:attr(data-label);display:block;font-size:10px;font-weight:800;letter-spacing:.04em;margin-bottom:6px;color:var(--muted)}.chapter td:first-child{font-weight:800}}
@media(min-width:761px) and (max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-4 .service img{height:320px}}.credentials{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.credentials span{border:1px solid var(--line);background:var(--white);padding:9px 14px;font-size:12px;font-weight:700}.credentials span b{color:#8a6c00;font-weight:800}.reviews{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:26px;font-size:13px}.reviews .stars{color:#c69214;letter-spacing:.14em;font-size:17px}.form-done{border-left:3px solid var(--gold);background:var(--pale);padding:26px;margin-top:10px}.form-done h3{font-family:Playfair,serif;font-size:25px;font-weight:500;margin-bottom:12px}.form-done p{font-size:14px;color:var(--muted)}.form-done .actions{margin-top:22px}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
