@font-face{font-family:Barlow;src:url('assets/barlow-condensed-bold.ttf') format('truetype');font-weight:700;font-display:swap}@font-face{font-family:Manrope;src:url('assets/manrope-regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('assets/manrope-semibold.ttf') format('truetype');font-weight:600 700;font-display:swap}
:root{--graphite:#141518;--lead:#2A2C31;--stone:#8A857C;--paper:#F3F0E9;--coral:#F16D5B;--muted:rgba(243,240,233,.72);--line:rgba(243,240,233,.17);--gutter:clamp(22px,4.6vw,76px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--graphite);color:var(--paper);font-family:Manrope,Arial,sans-serif;font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}::selection{background:var(--paper);color:var(--graphite)}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}p,h1,h2,h3,figure{margin:0}img{display:block;max-width:100%}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.25;flex-shrink:0}h1,h2,h3{font-weight:700}h1,h2,.step h3,.service-card h3,.difference h3{font-family:Barlow,'Arial Narrow',Arial,sans-serif;line-height:.95;letter-spacing:-.015em}h2{font-size:clamp(58px,6.4vw,98px)}.stone{color:var(--stone)}.shell{width:min(100% - var(--gutter)*2,1320px);margin-inline:auto}.section{padding-block:clamp(80px,9vw,136px)}.light{background:var(--paper);color:var(--graphite);--line:rgba(20,21,24,.2);--muted:rgba(20,21,24,.76)}.eyebrow,.micro,.section-note{font-size:10px;line-height:1.5;font-weight:400;letter-spacing:.14em}.eyebrow span{margin-right:22px;color:var(--stone)}.micro{font-size:9px;color:var(--muted)}.section-label{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:65px}.section-note{font-size:9px;color:var(--stone)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:55px}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.skip{position:fixed;z-index:100;top:12px;left:12px;padding:12px 20px;background:var(--paper);color:var(--graphite);transform:translateY(-200%)}.skip:focus{transform:none}
/* Small details stay restrained; the brand and the action carry the coral. */
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;min-height:58px;padding:16px 22px;background:var(--coral);color:var(--graphite);border:1px solid var(--coral);border-radius:3px;font-size:13px;line-height:1.4;font-weight:600;position:relative;isolation:isolate;overflow:hidden;transition:transform .35s var(--ease)}.button:before{content:'';position:absolute;inset:0;background:#f3f0e920;transform:translateY(102%);transition:transform .45s var(--ease);z-index:-1}.button:hover:before{transform:none}.button svg{width:22px;height:22px;transition:transform .4s var(--ease)}.button:hover svg{transform:translate(3px,-3px)}.button:active{transform:scale(.98)}.button-small{min-height:46px;font-size:11px;padding:12px 16px;gap:25px}.button-small svg{width:18px;height:18px}
.header{position:sticky;top:0;z-index:40;background:rgba(20,21,24,.96);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}.header.is-scrolled{border-color:var(--line);background:rgba(20,21,24,.97)}.header-inner{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:36px;border-bottom:1px solid var(--line)}.header.is-scrolled .header-inner{border-bottom-color:transparent}.brand{display:block;flex-shrink:0;width:226px;padding-block:22px}.brand img{width:100%;height:auto}.nav{display:flex;align-items:center;gap:27px;font-size:12px}.nav>a:not(.button){position:relative;padding:12px 0}.nav>a:not(.button):after{position:absolute;content:'';left:0;bottom:6px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.nav>a:hover:after,.nav>a[aria-current=location]:after{transform:scaleX(1)}.nav .button{margin-left:14px}.menu-toggle{display:none}
.hero{padding-top:30px}.hero-label{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:42px}.hero-label .eyebrow{font-size:10px}.hero-location{font-size:9px;color:var(--stone);letter-spacing:.12em}.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:6%;align-items:center}.hero-copy{padding-bottom:10px}.hero h1{font-size:clamp(66px,6.25vw,102px);line-height:.89;letter-spacing:-.012em}.title-line{display:block;overflow:hidden;padding-bottom:.075em;margin-bottom:-.075em}.title-line>span{display:block}.hero-support{display:flex;align-items:flex-start;flex-direction:column;gap:26px;margin-top:30px;max-width:430px}.hero-support p{font-size:14px;color:var(--muted);line-height:1.8;max-width:390px}.hero-support .button{min-width:225px}.hero-photo{align-self:stretch;min-width:0}.photo-mask{height:100%;min-height:560px;overflow:hidden;position:relative;background:var(--lead);border-radius:3px}.photo-mask img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;position:absolute;inset:0;transition:transform 1.8s var(--ease)}.hero-photo:hover img{transform:scale(1.025)}.hero-bottom{padding:28px 0 32px;border-top:1px solid var(--line);margin-top:48px;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:9px;letter-spacing:.1em;color:var(--stone)}.hero-bottom a{display:flex;align-items:center;gap:30px;color:var(--paper);letter-spacing:0;font-size:11px}.hero-bottom svg{width:17px;height:17px;transition:transform .35s}.hero-bottom a:hover svg{transform:translateY(4px)}
/* The process reads vertically, with the introduction held beside it. */
.process-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:12%;align-items:start}.process-intro{position:sticky;top:150px;padding-bottom:30px}.process-intro h2{font-size:clamp(56px,6vw,86px)}.process-intro>p{margin-top:32px;max-width:350px;font-size:14px;color:var(--muted);line-height:1.85}.process-index{display:flex;gap:18px;align-items:center;margin-top:43px;color:var(--stone);font-size:12px}.process-index>span:first-child{font-family:Barlow;font-size:34px;color:var(--graphite);line-height:1}.index-line{height:1px;background:var(--line);width:110px}.steps{list-style:none;margin:0;padding:0}.step{display:grid;grid-template-columns:70px 1fr;gap:22px;border-top:1px solid var(--line);padding:44px 0 62px;min-height:320px;transition:opacity .6s var(--ease)}.step:last-child{border-bottom:1px solid var(--line);padding-bottom:45px}.step-number{font-family:Barlow;font-size:60px;color:var(--stone);line-height:.9}.step-copy h3{font-size:clamp(36px,3.5vw,49px);margin-top:24px}.step-copy p{font-size:14px;color:var(--muted);line-height:1.85;margin-top:22px;max-width:350px}.step-copy .micro{color:var(--stone)}.step.is-active .step-number{color:var(--graphite)}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:11%}.why h2{position:sticky;top:150px;align-self:start;font-size:clamp(62px,6.3vw,94px)}.reasons article{display:flex;gap:26px;border-top:1px solid var(--line);padding:32px 0}.reasons article:last-child{border-bottom:1px solid var(--line)}.reason-slash{font-family:Barlow;font-size:58px;line-height:1;color:var(--stone)}.reasons h3{font-family:Manrope;font-size:19px;line-height:1.5;font-weight:600;letter-spacing:-.025em;max-width:370px}.reasons p{font-size:14px;margin-top:12px;color:var(--muted);line-height:1.85;max-width:400px}
.services{background:var(--lead)}.service-route{display:flex;align-items:center;gap:20px;font-size:9px;letter-spacing:.1em;color:var(--muted);padding-bottom:5px}.route-line{width:100px;height:1px;background:var(--line);position:relative}.route-line:after{content:'/';position:absolute;left:50%;top:50%;padding:0 10px;transform:translate(-50%,-50%);background:var(--lead);font-size:22px}.service-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-card{padding:38px 36px 32px;border:1px solid rgba(243,240,233,.25);border-radius:4px;display:flex;flex-direction:column;position:relative;transition:background .5s,border-color .5s,transform .5s var(--ease)}.service-card:hover{background:#f3f0e904;border-color:#f3f0e966;transform:translateY(-5px)}.card-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}.card-top .eyebrow{color:var(--muted);font-size:9px}.card-index{font-family:Barlow;font-size:38px;line-height:1;color:var(--stone)}.service-card h3{font-size:clamp(46px,4.2vw,65px);margin-bottom:25px}.service-card>p{font-size:13px;color:var(--muted);line-height:1.9}.service-card ul{list-style:none;padding:0;margin:26px 0 32px;font-size:12px}.service-card li{padding-block:9px;border-top:1px solid var(--line);position:relative;padding-left:18px}.service-card li:before{content:'/';position:absolute;left:0;color:var(--stone)}.card-footer{margin-top:auto;border-top:1px solid var(--line);padding-top:24px}.card-footer p{font-size:10px;color:var(--muted);margin-bottom:20px}.card-footer .button{font-size:12px;width:100%}
.difference{padding-block:80px 100px}.difference .section-label{margin-bottom:45px}.difference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5%}.difference article{border-top:1px solid var(--line);padding-top:22px}.difference .micro{font-size:10px;color:var(--stone)}.difference h3{font-size:clamp(30px,2.7vw,40px);margin-top:27px}.difference p{font-size:13px;color:var(--muted);line-height:1.85;margin-top:20px;max-width:320px}
.projects h2{margin-bottom:58px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.project{min-width:0}.project:nth-child(2){margin-top:92px}.project-visual{padding:32px 22px 0;background:var(--stone);border-radius:4px 4px 0 0;display:block;transition:background .5s;overflow:hidden}.project-visual:hover{background:var(--stone)}.church-preview{background:var(--stone)}.browser-bar{height:29px;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:15px;padding-inline:12px;color:#5c5952;font-size:8px;border-radius:4px 4px 0 0}.browser-bar svg{width:12px;height:12px}.browser-dots{display:flex;gap:4px}.browser-dots i{width:4px;height:4px;border-radius:50%;background:#a9a59c}.project-window{height:clamp(260px,29vw,435px);overflow:hidden;background:var(--graphite);position:relative}.project-window img{width:100%;height:auto;max-width:none;display:block;will-change:transform}.project-caption{padding:24px 0 23px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center}.project-caption .micro{font-size:8px;color:var(--graphite);letter-spacing:.08em}.project-caption h3{font-family:Manrope;font-size:23px;letter-spacing:-.04em;font-weight:600;margin-top:8px;line-height:1.3}.project-open{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;flex-shrink:0;transition:transform .35s var(--ease),background .35s}.project-open:hover{transform:rotate(45deg);background:#1415180a}.project-open svg{width:19px;height:19px}
.about{padding-block:96px}.about>.shell{max-width:1240px}.about-grid{display:flex;flex-wrap:wrap;gap:64px;align-items:center}.about-photo{flex:1 1 360px;min-width:0;width:100%;max-width:480px;overflow:hidden;border-radius:4px}.about-photo img{display:block;width:100%;height:540px;aspect-ratio:auto;object-fit:cover;object-position:50% 30%}.about-copy{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:20px}.about-copy>.eyebrow{font-size:12px;letter-spacing:.16em;color:var(--muted)}.about-copy h2{font-size:80px;line-height:.92;letter-spacing:-.015em}.about-text{margin:0;max-width:520px;display:flex;flex-direction:column;gap:20px}.about-text p,.about-text p:first-child{margin:0;font-size:17px;line-height:1.6;color:rgba(243,240,233,.88)}

.faq{padding-top:25px}.faq .section-label{padding-top:65px;border-top:1px solid var(--line)}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%}.faq h2{font-size:clamp(62px,6.8vw,100px);position:sticky;top:150px;align-self:start}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:24px 0;font-size:14px;font-weight:600;line-height:1.65}summary::-webkit-details-marker{display:none}summary>span{width:17px;height:17px;position:relative;flex-shrink:0}summary>span:before,summary>span:after{content:'';height:1px;width:13px;position:absolute;background:var(--stone);top:8px;left:2px;transition:transform .3s var(--ease)}summary>span:after{transform:rotate(90deg)}details[open] summary>span:after{transform:rotate(0)}.faq-answer{overflow:hidden}.faq-answer p{font-size:13px;line-height:1.9;color:var(--muted);padding:0 36px 26px 0;max-width:600px}
.contact{background:var(--lead)}.contact h2{font-size:clamp(76px,11.3vw,171px);line-height:.88;letter-spacing:-.015em}.contact .section-label{margin-bottom:55px}.contact-bottom{border-top:1px solid var(--line);padding-top:38px;margin-top:55px;display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;align-items:end}.contact-bottom>p{font-size:14px;color:var(--muted);max-width:350px;line-height:1.9}.contact-form label{font-size:11px;display:block;margin-bottom:12px}.contact-actions{display:flex;align-items:stretch;gap:12px}.contact-actions select{width:100%;min-width:0;max-width:320px;appearance:none;border:1px solid #f3f0e94d;color:var(--paper);border-radius:3px;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23F3F0E9'%3E%3Cpath d='m2 4 4 4 4-4'/%3E%3C/svg%3E") no-repeat right 15px center;padding:16px 32px 16px 16px;font-size:11px}.contact-actions select option{background:var(--lead);color:var(--paper)}.contact-actions .button{flex-shrink:0;font-size:12px;padding-inline:18px;gap:22px}.footer{padding:32px 0 0}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-block:15px 40px}.footer .brand{width:220px}.footer-links{display:flex;gap:34px;font-size:11px}.footer-links a{display:flex;align-items:center;gap:12px;min-height:44px}.footer-links svg{width:14px;height:14px;transition:transform .3s}.footer-links a:hover svg{transform:translate(2px,-2px)}.footer-bottom{padding:24px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;color:var(--stone)}.footer-bottom a:hover{color:var(--paper)}
/* Native motion: progressive enhancement, with full reduced-motion support. */
.motion [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .85s var(--ease),transform 1s var(--ease);transition-delay:var(--reveal-delay,0ms)}.motion [data-reveal].visible{opacity:1;transform:none}.title-line>span{animation:coverIn 1s var(--ease) both}.title-line:nth-child(2)>span{animation-delay:.08s}.title-line:nth-child(3)>span{animation-delay:.16s}.title-line:nth-child(4)>span{animation-delay:.24s}.photo-mask{animation:photoIn 1.2s var(--ease) .15s both}@keyframes coverIn{from{transform:translateY(115%)}to{transform:translateY(0)}}@keyframes photoIn{from{clip-path:inset(8% 0 0);opacity:0;transform:translateY(16px)}to{clip-path:inset(0);opacity:1;transform:none}}
/* Privacy draft has the same visual foundations, with a reading-first layout. */
.policy{max-width:820px;padding-block:80px 110px}.policy h1{font-family:Barlow;font-size:clamp(50px,7vw,84px);line-height:.95;margin:25px 0}.policy .policy-lead{font-size:14px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:30px;margin-bottom:40px}.policy h2{font-family:Manrope;font-size:19px;line-height:1.5;letter-spacing:-.02em;margin:35px 0 12px}.policy p,.policy li{font-size:14px;line-height:1.9;color:var(--muted)}.policy a{text-decoration:underline;text-underline-offset:4px}.policy ul{padding-left:20px}
@media(min-width:1600px){.hero h1{font-size:102px}.hero-grid{gap:8%}.photo-mask{min-height:640px}}
@media(max-width:1150px){.brand{width:195px}.nav{gap:19px;font-size:11px}.nav .button{margin-left:0}.hero h1{font-size:6.6vw}.hero-grid{gap:5%;grid-template-columns:1.25fr .85fr}.photo-mask{min-height:520px}.hero-support p{font-size:13px}.process-grid{gap:8%}.step{gap:15px;grid-template-columns:55px 1fr}.step-number{font-size:50px}.service-card{padding:30px 28px}.contact-bottom{gap:6%;grid-template-columns:.8fr 1.2fr}.contact-actions{flex-direction:column}.contact-actions select{max-width:none}.contact-actions .button{min-width:225px}.project-grid{gap:25px}.reasons h3{font-size:17px}}
@media(max-width:900px){html{scroll-padding-top:90px}.header-inner{min-height:88px}.brand{width:185px;padding-block:20px}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;border:0;background:none;z-index:42}.menu-toggle span{width:23px;height:1px;background:var(--paper);transition:transform .3s,opacity .3s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav{position:absolute;top:88px;left:0;right:0;background:var(--graphite);padding:25px var(--gutter) 35px;display:none;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);gap:0;max-height:calc(100dvh - 88px);overflow-y:auto}.nav.open{display:flex}.nav>a:not(.button){font-size:22px;padding:15px 0}.nav .button{margin-top:20px;justify-content:space-between;font-size:13px;min-height:52px}.hero-label{margin-bottom:30px}.hero-label .eyebrow{font-size:8px}.hero-location{font-size:8px}.hero h1{font-size:7vw}.hero-grid{grid-template-columns:1.15fr .85fr;gap:6%}.photo-mask{min-height:450px}.hero-support{margin-top:24px;gap:23px}.hero-support p{font-size:12px}.hero-support .button{font-size:11px;min-width:190px;min-height:52px;padding:13px 18px}.hero-bottom{font-size:8px;gap:15px;margin-top:35px}.hero-counter{display:none}.section-label{margin-bottom:45px}.process-grid{grid-template-columns:.85fr 1.15fr;gap:7%}.process-intro h2{font-size:52px}.process-intro>p{font-size:12px}.step{grid-template-columns:40px 1fr;gap:16px;padding-block:32px 40px;min-height:300px}.step-number{font-size:40px}.step-copy h3{font-size:34px}.step-copy p{font-size:12px}.why-grid{gap:8%;grid-template-columns:.95fr 1.05fr}.why h2{font-size:55px}.reasons h3{font-size:16px}.reasons article{gap:20px;padding-block:25px}.reasons p{font-size:12px}.service-card h3{font-size:43px}.service-card>p{font-size:12px}.service-card ul{font-size:11px}.card-top .eyebrow{font-size:8px}.service-card{padding:28px 23px}.service-cards{gap:18px}.card-footer .button{font-size:11px;gap:15px}.difference-grid{gap:5%}.difference h3{font-size:29px}.difference p{font-size:12px}.project-visual{padding:22px 14px 0}.project-window{height:300px}.project:nth-child(2){margin-top:70px}.project-caption h3{font-size:20px}.project-caption .micro{font-size:7px}.faq-grid{gap:8%;grid-template-columns:.75fr 1.25fr}.faq h2{font-size:56px}.faq-list summary{font-size:12px;padding-block:21px}.faq-answer p{font-size:12px}.contact h2{font-size:11.7vw}.footer-links{gap:22px;font-size:10px}}
@media(max-width:650px){:root{--gutter:24px}.section{padding-block:72px}.hero{padding-top:23px}.hero-label{margin-bottom:32px}.hero-label .eyebrow{font-size:8px;letter-spacing:.07em}.hero-location{display:none}.hero-grid{grid-template-columns:1fr;gap:34px}.hero h1{font-size:clamp(42px,10.8vw,68px);line-height:.9}.hero-support{margin-top:27px;gap:23px;max-width:none;flex-direction:row;align-items:flex-end;flex-wrap:wrap}.hero-support p{font-size:13px;max-width:330px}.hero-support .button{min-width:205px;font-size:12px;min-height:54px}.hero-photo{width:100%}.photo-mask{min-height:0;aspect-ratio:4/4.4}.photo-mask img{object-position:50% 33%}.hero-bottom{margin-top:28px;padding-block:23px;align-items:center;font-size:7px}.hero-bottom>span{max-width:145px}.hero-bottom a{font-size:10px;gap:13px}.section-label{margin-bottom:38px}.eyebrow{font-size:9px;letter-spacing:.1em}.eyebrow span{margin-right:16px}.section-note{font-size:7px}.process-grid{grid-template-columns:1fr;gap:35px}.process-intro{position:static;padding-bottom:0}.process-intro h2{font-size:clamp(53px,11.8vw,70px)}.process-intro h2 .stone{display:block;margin-top:8px}.process-intro>p{font-size:13px;max-width:370px;margin-top:25px}.process-index{display:none}.step{grid-template-columns:50px 1fr;gap:23px;min-height:0;padding:30px 0 38px}.step-number{font-size:51px}.step-copy h3{margin-top:18px;font-size:38px}.step-copy p{font-size:13px;margin-top:18px}.step-copy .micro{font-size:8px}.why-grid{grid-template-columns:1fr;gap:36px}.why h2{position:static;font-size:clamp(58px,12.8vw,74px)}.reasons h3{font-size:18px}.reasons p{font-size:13px}.reasons article{gap:24px;padding:27px 0}.reasons article:last-child{padding-bottom:0;border-bottom:0}.reason-slash{font-size:54px}.section-heading{margin-bottom:32px}.section-heading h2{font-size:clamp(58px,12.8vw,74px)}.service-route{display:none}.service-cards{grid-template-columns:1fr;gap:20px}.service-card{padding:27px 25px}.service-card h3{font-size:51px}.card-top{margin-bottom:22px}.card-top .eyebrow{font-size:9px}.service-card>p{font-size:13px}.service-card ul{font-size:12px;margin-block:23px 25px}.card-footer .button{min-height:54px;font-size:12px}.card-footer p{font-size:10px}.difference-grid{grid-template-columns:1fr;gap:30px}.difference h3{font-size:36px;margin-top:15px}.difference h3 br{display:none}.difference p{font-size:13px;margin-top:15px;max-width:370px}.difference article{padding-top:18px}.difference .section-label{margin-bottom:30px}.project-grid{grid-template-columns:1fr;gap:42px}.project:nth-child(2){margin-top:0}.projects h2{font-size:clamp(60px,13vw,78px);margin-bottom:35px}.project-window{height:340px}.project-visual{padding:23px 17px 0}.project-caption{padding:20px 0}.project-caption h3{font-size:22px}.project-caption .micro{font-size:7px}.project-open{width:40px;height:40px}.faq{padding-top:0}.faq .section-label{padding-top:40px}.faq-grid{grid-template-columns:1fr;gap:33px}.faq h2{position:static;font-size:64px}.faq-list summary{font-size:13px;padding-block:23px}.faq-answer p{font-size:13px;padding-right:20px}.contact h2{font-size:clamp(57px,12.2vw,80px)}.contact .section-label{margin-bottom:38px}.contact .section-note{display:none}.contact .eyebrow{font-size:8px;letter-spacing:.08em}.contact-bottom{grid-template-columns:1fr;gap:27px;padding-top:26px;margin-top:33px}.contact-bottom>p{font-size:13px;max-width:370px}.contact-actions select{font-size:12px;min-height:56px}.contact-actions .button{font-size:13px;min-height:56px}.contact-form label{font-size:12px}.footer{padding-top:15px}.footer-top{align-items:flex-start;flex-direction:column;padding-bottom:28px;gap:14px}.footer .brand{width:210px}.footer-links{flex-direction:column;gap:0;font-size:12px}.footer-bottom{font-size:9px;flex-wrap:wrap;gap:15px;padding-block:22px}.footer-bottom span{width:100%}.policy{padding-block:50px 75px}.policy h1{font-size:54px}}
@media(max-width:370px){:root{--gutter:20px}.hero h1{font-size:clamp(34px,10.9vw,40px)}.hero-support p{font-size:12px}.hero-bottom>span{font-size:6px}.project-window{height:290px}.contact h2{font-size:12.2vw}.service-card{padding:25px 20px}.service-card h3{font-size:46px}.section-note{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion [data-reveal]{opacity:1;transform:none}.photo-mask{opacity:1;clip-path:none;transform:none}.title-line>span{transform:none}.project-window img{will-change:auto}.hero-photo:hover img,.service-card:hover{transform:none}}

.light .eyebrow span,.light .section-note,.light .step-copy .micro{color:var(--graphite)}.services .eyebrow span,.services .section-note,.contact .section-note{color:var(--muted)}

.index-line{position:relative}.index-line:after{content:"";position:absolute;inset:0;background:var(--graphite);transform:scaleX(var(--progress,.333));transform-origin:left;transition:transform .7s var(--ease)}

@media(max-width:950px){.about-grid{gap:38px}.about-copy{flex-basis:100%}.about-photo{flex-basis:100%}.about-copy h2{font-size:clamp(44px,8vw,70px)}}
@media(max-width:650px){.about{padding-block:72px}.about-grid{gap:30px}.about-photo{max-width:480px}.about-photo img{height:auto;aspect-ratio:8/9}.about-copy{gap:20px}.about-copy>.eyebrow{font-size:10px}.about-copy h2{font-size:44px}.about-text{gap:20px;max-width:520px}.about-text p,.about-text p:first-child{font-size:15px;line-height:1.7}}
@media(max-width:370px){.about-copy h2{font-size:38px}}

/* Projects follow the supplied prototype: paired cards, equal height, quiet captions. */
.projects{padding-block:96px}.projects>.shell{width:100%;max-width:1240px;padding-inline:32px}.projects .section-label{margin-bottom:16px}.projects .eyebrow{font-size:12px;letter-spacing:.16em;color:#6E6A63}.projects .eyebrow span{margin-right:0;color:inherit}.projects h2{font-size:72px;line-height:.95;margin-bottom:48px;letter-spacing:0}.projects h2 .stone{color:#6E6A63}.projects .project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.projects .project:nth-child(2){margin-top:0}.projects .project-visual{padding:28px;background:#DAD5CA;border-radius:4px}.projects .church-preview{background:#CFCAC0}.projects .project-window{height:300px;border-radius:2px}.projects .project-caption{padding:14px 0 0;border:0;align-items:baseline;gap:12px}.projects .project-caption h3{margin:0;font-size:22px;font-weight:600;letter-spacing:0;line-height:1.4}.project-description{font-size:13px;color:#6E6A63;text-align:right}
@media(max-width:1020px){.projects .project-grid{grid-template-columns:1fr}.projects .project-caption{flex-wrap:wrap}.project-description{text-align:left}}
@media(max-width:650px){.projects{padding-block:72px}.projects>.shell{padding-inline:24px}.projects h2{font-size:60px}.projects .project-visual{padding:20px}.projects .project-window{height:260px}.projects .project-caption h3{font-size:20px}.project-description{font-size:11px}}

/* Accessibility: legible small text and comfortable interactive targets. */
.hero-location,.hero-bottom,.section-note,.micro,.footer-bottom{color:#B5B0A7}.light .micro,.light .section-note{color:#625E57}.project-description{color:#625E57}.nav>a,.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}.project-visual:focus-visible{outline-color:var(--graphite)}
@media(forced-colors:active){.button,.service-card,select{border:1px solid ButtonText}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid Highlight}}

.project-context{font-size:14px;line-height:1.8;color:#625E57;max-width:510px;margin-top:14px}.projects .project-caption{flex-wrap:wrap}.projects .project-caption h3{overflow-wrap:anywhere}.project-description{line-height:1.6}
@media(max-width:650px){.project-context{font-size:13px;margin-top:12px}.projects .project-caption{gap:5px}.project-description{width:100%}.project-window img{touch-action:pan-y}.about-photo{margin-inline:auto}.contact-actions .button{width:100%}.motion [data-reveal]{transform:translateY(18px);transition-duration:.65s,.75s}.motion [data-reveal].visible{transform:none}.hero-bottom a{min-height:44px}.footer-bottom{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.motion [data-reveal]{transform:none!important;opacity:1!important}}
