/* Homepage iteration: composition, equal service routes, projects and real quotes. */
.hero{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:30px;padding-block:35px 42px}
.hero-content{padding-block:12px}
.hero-figure{background:#e9e5da;padding:22px 22px 16px;margin-right:-40px;align-self:stretch;justify-content:center}
.door-image{background:none}
.door-image img{aspect-ratio:3/2;object-fit:contain}
.hero-figure figcaption{gap:20px;padding-top:16px}
.hero-figure figcaption>span{font-size:13px;max-width:220px}
.hero-figure figcaption small{font-size:12px;max-width:210px}
.hero-actions{margin-top:25px;gap:22px}
.google-trust{display:inline-flex;align-items:center;flex-wrap:wrap;gap:10px 12px;font-size:15px;line-height:1.5;color:var(--ink);max-width:100%;padding-block:8px}
.hero-content>.google-trust{margin-top:14px}
.google-trust:hover>span:not(.trust-stars):not(.arr){text-decoration:underline;text-underline-offset:4px}
.google-trust strong{font-size:22px;font-weight:750;letter-spacing:-.03em}
.google-trust .arr{font-size:18px}
.trust-stars{font:18px/1 Arial,sans-serif;letter-spacing:1px;color:#986b00;white-space:nowrap}
.choices-grid{gap:22px}
.choice-supply,.choice-own{background:var(--warm);border-top:5px solid var(--yellow);padding-top:29px}
.choice-own{border-top-color:var(--ink)}
.choice-tag{font-size:13px;letter-spacing:.08em;gap:0}
.choice-symbol{display:none}
.choice .text-action{background:var(--ink);color:var(--paper);padding:14px 20px;border:1px solid var(--ink);min-width:255px;font-size:16px}
.choice .text-action:hover{background:#3d463b;border-color:#3d463b}
.range{grid-template-columns:1fr 1fr;align-items:center;gap:95px;padding-bottom:65px}
.range-content h2{font-size:clamp(32px,3.3vw,46px)}
.range .service-list{margin-top:0}
.home-projects{padding-bottom:80px}
.projects-heading{display:flex;justify-content:space-between;align-items:end;gap:70px;margin-bottom:38px}
.projects-heading>p{font-size:16px;line-height:1.75;color:var(--muted);max-width:425px}
.home-project-grid{display:grid;grid-template-columns:1fr 1.05fr 1fr;gap:30px;align-items:start}
.project figure{margin:0}
.project img{width:100%;height:auto;object-fit:contain}
.project-landscape{align-self:center}
.project-image-label{display:block;color:var(--muted);font-size:12px;line-height:1.6;margin-top:10px}
.project h3{font-size:23px;font-weight:600;line-height:1.35;letter-spacing:-.035em;margin-top:18px}
.project-scope{color:var(--muted);font-size:14px;line-height:1.75;margin-top:10px;max-width:355px}
.reviews{background:var(--warm);padding-block:65px 70px}
.reviews-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:35px}
.reviews-heading .eyebrow{margin-bottom:15px}
.reviews-heading>.google-trust{margin-bottom:5px}
.review-grid{display:grid;grid-template-columns:1.04fr 1fr .96fr;gap:22px;align-items:stretch}
.review{background:var(--paper);padding:28px;display:flex;flex-direction:column;min-width:0}
.review blockquote{margin:0}
.review-quote{font-size:17px;line-height:1.85;overflow-wrap:anywhere}
.review-author{margin-top:auto;padding-top:30px;display:flex;flex-direction:column;gap:5px}
.review-author>span{font-size:16px;font-weight:700;line-height:1.5}
.review-author small{font-size:13px;color:var(--muted)}
.translation-label{font-size:13px;line-height:1.6;color:var(--muted);margin-bottom:17px}
.review-original{margin-top:20px;border-top:1px solid var(--line);padding-top:15px}
.review-original summary{font-size:14px;line-height:1.6;display:flex;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;font-weight:600}
.review-original summary::-webkit-details-marker{display:none}
.review-original summary>span{font-size:22px;font-weight:400;line-height:1}
.review-original[open] summary>span{transform:rotate(45deg)}
.original-quote{font-size:15px;line-height:1.8;margin-top:18px;overflow-wrap:anywhere}
.answers{padding-top:75px}
@media(min-width:1600px){.hero{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);padding-top:42px}.hero-figure{margin-right:-65px;padding:25px}}
@media(max-width:1250px){.hero{gap:28px}.hero-figure{margin-right:-20px;padding:18px}.hero-title-main{font-size:70px}.hero-title-sub{font-size:34px}.range{gap:60px}.home-project-grid{gap:24px}.review{padding:25px}.review-quote{font-size:16px}.projects-heading>p{max-width:370px}.reviews-heading .google-trust{max-width:300px;justify-content:flex-end}}
@media(max-width:1120px){.hero-title-main{font-size:clamp(50px,6.4vw,70px)}.hero-title-sub{font-size:30px}.hero-figure figcaption{display:block}.hero-figure figcaption small{display:block;margin-top:5px;max-width:none;text-align:left}.google-trust{font-size:14px;gap:9px}.google-trust strong{font-size:21px}.trust-stars{font-size:16px}.range{gap:40px}.projects-heading{gap:35px}.projects-heading>p{max-width:340px}.home-project-grid{gap:20px}.project h3{font-size:21px}.review-grid{gap:16px}.review{padding:23px}.review-quote{font-size:16px;line-height:1.8}.review-author>span{font-size:15px}}
@media(max-width:800px){.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start;padding-top:30px}.hero-content{padding-top:0}.hero-title-main{font-size:52px}.hero-title-sub{font-size:29px}.hero-figure{margin-right:-12px;padding:15px;align-self:center}.hero-figure figcaption>span{font-size:11px}.hero-figure figcaption small{font-size:11px}.google-trust{gap:7px 9px;font-size:13px}.google-trust strong{font-size:20px}.trust-stars{font-size:15px;letter-spacing:.5px}.choice .text-action{font-size:15px;min-width:0;padding-inline:16px;width:100%;gap:12px}.choice-tag{font-size:12px}.range{gap:30px;padding-bottom:52px}.projects-heading h2{font-size:36px}.projects-heading>p{font-size:15px;max-width:310px}.home-project-grid{gap:17px;grid-template-columns:1fr 1fr}.home-project-grid .project:first-child{grid-row:span 2}.home-project-grid .project-landscape{align-self:start}.home-project-grid .project:last-child{grid-column:2}.home-projects{padding-bottom:55px}.project h3{font-size:21px}.project-scope{font-size:14px}.project-image-label{font-size:11px}.reviews{padding-block:52px}.reviews-heading{gap:30px;align-items:start}.reviews-heading h2{font-size:35px}.reviews-heading>.google-trust{max-width:225px;gap:8px;justify-content:flex-end}.review-grid{grid-template-columns:1fr;gap:18px}.review{padding:28px}.review-quote{font-size:18px;line-height:1.8}.review-author{padding-top:23px}.review-author>span{font-size:16px}.translation-label{font-size:13px}.review-original summary{font-size:15px}.original-quote{font-size:16px}.answers{padding-top:60px}}
@media(max-width:600px){.hero{display:flex;gap:24px;padding-top:30px;padding-bottom:28px}.hero-content{padding:0}.hero-title-main{font-size:clamp(50px,13.9vw,76px)}.hero-title-sub{font-size:clamp(27px,6.9vw,35px)}.hero-figure{width:calc(100% + 40px);max-width:none;margin:0 -20px;padding:15px 20px;align-self:auto}.hero-figure figcaption{display:flex;gap:15px;padding-top:12px}.hero-figure figcaption>span{font-size:11px;max-width:150px}.hero-figure figcaption small{font-size:11px;max-width:180px;margin:0;text-align:right}.hero-content>.google-trust{font-size:14px;gap:9px;margin-top:12px;line-height:1.6}.google-trust strong{font-size:21px}.trust-stars{font-size:17px}.hero-content>.google-trust .arr{font-size:17px}.choices{padding-top:10px}.choices-grid{gap:18px}.choice-supply,.choice-own{padding-top:25px}.choice .text-action{min-width:0;width:auto;font-size:16px;gap:25px;min-height:52px;padding:12px 17px}.range{display:block;padding-bottom:42px}.range .service-list{margin-top:25px}.home-projects{padding-bottom:52px}.projects-heading{display:block;margin-bottom:27px}.projects-heading h2{font-size:36px}.projects-heading>p{max-width:420px;font-size:15px;margin-top:19px}.home-project-grid{display:grid;grid-template-columns:1fr;gap:35px}.home-project-grid .project:first-child{grid-row:auto}.home-project-grid .project:last-child{grid-column:auto}.project-landscape{align-self:auto}.project img{max-height:520px;object-fit:contain;object-position:left center}.project h3{font-size:24px;margin-top:16px}.project-scope{font-size:15px;max-width:none}.project-image-label{font-size:12px}.reviews{padding-block:45px 50px}.reviews-heading{display:block;margin-bottom:27px}.reviews-heading h2{font-size:35px}.reviews-heading>.google-trust{justify-content:flex-start;max-width:none;margin:20px 0 0;font-size:14px;gap:10px}.review{padding:25px}.review-quote{font-size:17px;line-height:1.85}.review-author{padding-top:23px}.review-author>span{font-size:16px}.review-author small{font-size:13px}.original-quote{font-size:16px;line-height:1.8}.answers{padding-top:55px}}
@media(max-width:370px){.hero-title-main{font-size:48px}.hero-title-sub{font-size:27px}.hero-content>.google-trust{gap:7px;font-size:13px}.trust-stars{font-size:15px;letter-spacing:.5px}.google-trust strong{font-size:20px}.reviews-heading>.google-trust{gap:8px;font-size:13px}.review{padding:23px}.projects-heading h2,.reviews-heading h2{font-size:32px}}

/* Iteration 4: shared alignment, disciplined captions and compact content. */
.hero .hero-figure{width:100%;max-width:none;margin:0;padding:10px;align-self:center}
.hero .hero-figure figcaption{padding-top:10px}
.eyebrow,.choice .choice-tag{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:13px;font-weight:700;line-height:1.5;letter-spacing:.1em;margin-bottom:20px}
.eyebrow::before,.choice .choice-tag::before{content:'';display:block;width:22px;height:3px;flex:0 0 22px;background:var(--yellow)}
.craft .eyebrow{color:var(--yellow)}
.craft .eyebrow::before{background:var(--yellow)}
.last-call .eyebrow{color:var(--ink)}
.last-call .eyebrow::before{background:var(--ink)}
.reviews-heading .eyebrow,.last-call .eyebrow{margin-bottom:20px}
.choices{padding-bottom:48px}
.range{gap:65px;padding-top:0;padding-bottom:38px}
.range-intro{margin-top:16px}
.range .service-row{padding-block:14px}
.projects-heading{margin-bottom:28px}
.home-projects{padding-bottom:56px}
.home-projects .home-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.home-projects .home-project-grid>.project{grid-row:auto;grid-column:auto;align-self:start}
.project-media{width:100%;aspect-ratio:4/5;background:var(--warm)}
.home-projects .project img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;object-position:center}
.project h3{min-height:2.7em}
.review-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.review-mark{display:block;align-self:flex-start;font-family:Georgia,'Times New Roman',serif;font-size:57px;line-height:.8;height:43px;margin-bottom:15px;color:#986b00;user-select:none}
.review-author{padding-top:24px;margin-top:auto}
.craft{padding-block:52px 54px}
.craft-grid{grid-template-columns:1.06fr .94fr;gap:72px}
.owner>p:not(.eyebrow){margin-top:18px}
.owner-name{margin-top:24px;padding-top:18px}
.process ol{margin-top:18px}
.process li{padding-block:16px}
.process li p{margin-top:6px}
@media(max-width:1120px){.range{gap:40px}.craft-grid{gap:45px}.home-projects .home-project-grid{gap:20px}}
@media(max-width:800px){.hero .hero-figure{padding:8px}.choices{padding-bottom:36px}.range{gap:30px;padding-bottom:32px}.home-projects .home-project-grid{gap:17px}.craft{padding-block:42px 44px}.craft-grid{gap:32px}.review-grid{grid-template-columns:1fr;align-items:start}.review{height:auto}.review-author{margin-top:0;padding-top:23px}}
@media(max-width:600px){.hero .hero-figure{width:100%;margin:0;padding:8px;align-self:auto}.hero .hero-figure figcaption{padding-top:10px}.choices{padding-bottom:32px}.range{padding-bottom:28px}.range .service-list{margin-top:20px}.home-projects{padding-bottom:42px}.home-projects .home-project-grid{grid-template-columns:1fr;gap:30px}.project h3{min-height:0}.craft{padding-block:36px 38px}.craft-grid{grid-template-columns:1fr;gap:28px}.owner>p:not(.eyebrow){margin-top:18px}.owner-name{margin-top:22px;padding-top:16px}.process{padding:22px 21px 5px}.process li{padding-block:16px}}
