@font-face{font-family:Bricolage;src:url('fonts/bricolage-grotesque-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Onest;src:url('fonts/onest-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--paper:#ffffff;--ink:#1a1a2e;--brand-blue:#2c3e50;--brand-violet:#3b3d8e;--night:#16213e;--muted:#2c3e50;--accent:#e67e22;--on-accent:#1a1a2e;--accent-text:#3b3d8e;--soft:#ecf0f1;--line:#eaeaea;--white:#ffffff;--ease:cubic-bezier(.2,.7,.2,1);--gutter:clamp(22px,5vw,90px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Onest,Arial,sans-serif;font-size:16px;line-height:1.6}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}button{color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Bricolage,Arial,sans-serif;font-weight:550;letter-spacing:-.055em;line-height:1.03}h2{font-size:clamp(42px,5.7vw,88px)}h3{font-size:28px}p+p{margin-top:20px}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button:disabled{opacity:.3;cursor:default}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-100px;left:15px;z-index:100;background:var(--ink);color:white;padding:10px}.skip:focus{top:10px}.prototype-bar{height:31px;background:var(--soft);color:#2c3e50;display:flex;justify-content:space-between;align-items:center;padding:0 var(--gutter);font-size:10px;letter-spacing:.08em}.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid transparent;transition:height .3s,border-color .3s}.site-header.scrolled{height:78px;border-color:var(--line)}.brand img{width:108px;height:76px;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:36px;font-size:13px}.site-header nav a{position:relative}.site-header nav a:not(.nav-cta):after{content:'';position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.site-header nav a:hover:after{transform:scaleX(1)}.nav-cta{border-bottom:1px solid var(--ink);padding:9px 0}.nav-cta span{margin-left:22px;font-size:22px}.menu-toggle{display:none}.section-pad{padding:110px var(--gutter)}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.13em;line-height:1.6}.dot{width:6px;height:6px;border-radius:100%;background:var(--accent);display:inline-block;margin-right:8px}.muted{color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;font-size:13px;padding:18px 23px;border:1px solid transparent;border-radius:2px;line-height:1.4;transition:background .25s,color .25s,transform .3s var(--ease)}.button span{font-size:23px;line-height:1}.button:hover{transform:translateY(-3px)}.primary{background:var(--accent);color:var(--on-accent)}.primary:hover{background:#e67e22}.outline{border-color:#a2a2a9;color:var(--white)}.outline:hover{background:var(--white);color:var(--ink)}.dark{background:var(--ink);color:var(--white);border:0}.text-link{display:inline-flex;align-items:center;gap:30px;font-size:13px;border-bottom:1px solid currentColor;padding:8px 0}.text-link span{font-size:22px;transition:transform .3s}.text-link:hover span{transform:translate(3px,-3px)}.light{color:var(--white)}
.hero{display:grid;grid-template-columns:1fr 1.04fr;min-height:690px;padding:10px 18px 24px var(--gutter);gap:36px}.hero-copy{padding:24px 0 0;display:flex;flex-direction:column;position:relative}.hero h1{font-size:clamp(61px,6.8vw,112px);line-height:.99;letter-spacing:-.065em;margin-top:42px;z-index:2}.hero h1 span{display:block}.outline-word{color:var(--accent-text)}.hero-description{margin-top:35px;max-width:385px}.hero-description p{font-size:14px;line-height:1.7}.hero-description .button{margin-top:26px}.hero-secondary{display:inline-flex;align-items:center;gap:22px;font-size:12px;margin:18px 0 0}.hero-secondary span{font-size:18px}.hero-foot{display:flex;gap:10px;justify-content:space-between;border-top:1px solid var(--line);padding:18px 0;margin-top:auto;font-size:8px;letter-spacing:.06em}.hero-visual{position:relative;overflow:hidden;border-radius:3px;min-height:660px}.hero-visual>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:54% 50%;transform:scale(1.06);animation:hero-entrance 1.5s var(--ease) both}.hero-visual:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.4));pointer-events:none}.hero-image-caption{position:absolute;z-index:2;bottom:25px;left:30px;right:30px;color:white;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.06em}.hero-image-caption a{display:flex;align-items:center;gap:28px;font-size:12px}.hero-image-caption a span{font-size:24px}.local-seal{position:absolute;top:28px;right:28px;background:var(--accent);color:var(--on-accent);width:105px;height:105px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:3px;transform:none}.local-seal span{font-size:8px;letter-spacing:.12em}.local-seal strong{font-family:Bricolage,sans-serif;font-size:45px;line-height:1.1;letter-spacing:-.05em}.hero-copy .eyebrow,.hero h1,.hero-description{animation:rise-in .9s var(--ease) both}.hero h1{animation-delay:.1s}.hero-description{animation-delay:.2s}.ribbon{background:var(--soft);color:var(--ink);overflow:hidden;padding:21px 0}.ribbon>div{display:flex;align-items:center;justify-content:space-around;gap:32px;font-family:Bricolage,sans-serif;font-size:clamp(15px,2.3vw,34px);letter-spacing:-.03em;white-space:nowrap}.ribbon i{font-style:normal;color:var(--accent);font-size:32px;line-height:1}
.intro{padding-top:125px;padding-bottom:110px}.intro-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:10%;margin-top:40px}.intro-copy{padding-top:6px}.intro-copy>p:first-child{font-size:clamp(22px,2.2vw,32px);line-height:1.4;letter-spacing:-.04em}.small-copy{font-size:14px;color:var(--muted);max-width:360px}.intro-copy .text-link{margin-top:28px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:46px}.section-heading .eyebrow{margin-bottom:30px}.section-heading>p{font-size:14px;color:var(--muted);padding-bottom:7px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:42px}.filters button{border:1px solid var(--line);border-radius:30px;background:transparent;padding:11px 20px;font-size:12px;transition:background .25s,color .25s}.filters button[aria-pressed=true]{background:var(--brand-violet);border-color:var(--brand-violet);color:white}.filters button span{margin-left:16px;color:#eaeaea;font-size:10px}.filters button:hover{border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px 28px}.card-photo{position:relative;aspect-ratio:1.2;overflow:hidden;background:#ecf0f1}.card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.project-link:hover .card-photo img{transform:scale(1.05)}.card-arrow{position:absolute;right:16px;bottom:16px;background:var(--paper);color:var(--ink);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:21px;transition:transform .4s}.project-link:hover .card-arrow{transform:rotate(45deg);background:var(--accent);color:var(--on-accent)}.photo-count{position:absolute;top:14px;left:14px;font-size:10px;color:white;background:#2c3e50c7;padding:4px 10px;border-radius:20px}.card-meta{display:flex;justify-content:space-between;gap:15px;margin:15px 0 8px;font-size:10px;color:var(--muted)}.project-card h3{font-size:26px;line-height:1.15;letter-spacing:-.045em}.collection-note{border-top:1px solid var(--line);margin-top:45px;padding-top:18px;font-size:11px;color:var(--muted)}
.services{background:var(--soft);color:var(--ink);display:grid;grid-template-columns:1fr 1.15fr;gap:9%;padding-top:125px;padding-bottom:130px}.services-title h2{font-size:clamp(46px,5.2vw,78px);margin:30px 0}.services-title h2 span{color:#3b3d8e}.services-title>p:not(.eyebrow){font-size:14px;color:#2c3e50}.services-title .button{margin-top:35px}.service-list{padding-top:2px}.service-list details{border-top:1px solid #eaeaea}.service-list details:last-child{border-bottom:1px solid #eaeaea}.service-list summary{display:flex;align-items:center;gap:20px;list-style:none;padding:30px 0;cursor:pointer}.service-list summary::-webkit-details-marker{display:none}.service-list summary>span{font-size:10px;color:#2c3e50}.service-list h3{font-size:clamp(23px,2.5vw,35px);letter-spacing:-.04em}.service-list summary i{font-style:normal;margin-left:auto;font-size:26px;transition:transform .3s}.service-list details[open] i{transform:rotate(45deg)}.service-body{padding:0 35px 35px;font-size:14px;line-height:1.8;color:#2c3e50;animation:rise-in .4s var(--ease)}.service-body .text-link{margin-top:17px;color:#3b3d8e}.artisan{display:grid;grid-template-columns:1fr 1.15fr;gap:10%;align-items:center;padding-top:140px;padding-bottom:130px}.artisan-visual{position:relative;padding:0 22px 35px 0}.artisan-visual img{aspect-ratio:.85;object-fit:cover;width:100%}.artisan-tag{position:absolute;bottom:0;right:-10px;background:var(--accent);color:var(--on-accent);font-family:Bricolage,sans-serif;font-size:24px;line-height:1.05;padding:35px;transform:none}.artisan-copy h2{font-size:clamp(39px,4.7vw,69px);margin:30px 0}.artisan-copy>p:not(.eyebrow){font-size:14px;max-width:420px;color:var(--muted)}.artisan-copy .text-link{margin-top:25px}.signature{margin-top:38px;font-family:Georgia,serif;font-style:italic;font-size:50px;color:var(--accent-text);display:flex;align-items:center;gap:30px}.signature span{font-family:Onest,sans-serif;font-style:normal;font-size:9px;letter-spacing:.12em;color:var(--ink)}.reviews{display:grid;grid-template-columns:1fr 1.4fr;gap:12%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:65px;padding-bottom:65px}.review-rating>div{display:flex;gap:20px;align-items:center;margin:20px 0}.review-rating strong{font-family:Bricolage,sans-serif;font-size:70px;line-height:1;letter-spacing:-.05em}.review-rating>div>span{font-size:11px}.review-rating>div>span>span{color:var(--accent);letter-spacing:4px}.tiny{font-size:10px;line-height:1.7;color:var(--muted);margin-top:18px}.reviews figure{display:flex;flex-direction:column;justify-content:center}.reviews blockquote{margin:0;font-family:Bricolage,sans-serif;font-size:clamp(25px,2.8vw,41px);line-height:1.3;letter-spacing:-.035em}.reviews figcaption{font-size:10px;letter-spacing:.1em;margin-top:25px}.reviews figcaption span{margin-left:20px;color:var(--muted);font-size:8px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.steps article{border-top:1px solid var(--line);padding-top:20px}.steps article>span{font-size:10px;letter-spacing:.07em}.steps h3{font-size:35px;line-height:1.1;margin:26px 0 20px}.steps p{font-size:13px;color:var(--muted);max-width:285px}
.contact{background:#ecf0f1;display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:115px;padding-bottom:115px}.contact-copy h2{font-size:clamp(50px,5.6vw,85px);margin:30px 0}.contact-copy h2 span{color:var(--muted)}.contact-copy>p:not(.eyebrow){font-size:14px}.phone-link{font-family:Bricolage,sans-serif;font-size:clamp(25px,2.8vw,43px);letter-spacing:-.045em;display:flex;gap:20px;margin:28px 0 5px;align-items:center}.phone-link span{font-size:25px}.email-link{font-size:13px;border-bottom:1px solid var(--muted)}.contact-zone{margin-top:35px;border-top:1px solid #eaeaea;padding-top:22px}.contact-zone span{font-size:10px;letter-spacing:.07em}.contact-zone p{font-size:12px;color:var(--muted);margin-top:8px}.contact-panel{background:var(--paper);padding:42px 36px;border-radius:3px}.contact-panel h3{font-size:32px}.form-note{font-size:11px;color:var(--muted);margin:14px 0 26px}form label{font-size:11px;display:block;color:var(--ink);margin-bottom:26px}form label:focus-within{color:var(--accent-text)}input,select,textarea{display:block;border:none;border-bottom:1px solid #a2a2a9;background:transparent;width:100%;color:var(--ink);padding:12px 0;border-radius:0;font-size:13px;line-height:1.6;outline:none}input::placeholder,textarea::placeholder{color:#2c3e50;font-size:11px}input:focus,textarea:focus,select:focus{border-bottom:2px solid var(--accent)}textarea{resize:vertical;min-height:90px;max-height:300px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:28px}form .button{width:100%;padding:20px}#form-error{font-size:12px;color:#9d351a;margin-bottom:15px}footer{background:var(--paper);color:var(--ink);padding:60px var(--gutter) 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-top img{width:105px;height:70px;object-fit:contain}.footer-top p{font-size:12px;color:#2c3e50}.back-top{width:50px;height:50px;display:grid;place-items:center;border:1px solid #a2a2a9;border-radius:50%;font-size:25px}.footer-name{font-family:Bricolage,sans-serif;font-size:clamp(58px,12.3vw,200px);line-height:1;letter-spacing:-.065em;font-weight:600;margin:55px 0 40px;white-space:nowrap}.footer-name span{color:#3b3d8e}.footer-bottom{display:flex;gap:30px;justify-content:space-between;padding-top:23px;border-top:1px solid #eaeaea;font-size:9px;letter-spacing:.025em}.footer-bottom>div{display:flex;gap:22px}.no-script{padding:30px}
dialog{border:0;padding:0;background:var(--paper);color:var(--ink);max-width:calc(100vw - 44px);max-height:calc(100dvh - 44px);width:1220px;border-radius:4px;box-shadow:0 30px 100px #0005}dialog::backdrop{background:#1a1a2ed9;backdrop-filter:blur(6px)}dialog[open]{animation:dialog-in .45s var(--ease)}.gallery-shell{padding:25px 30px 30px}.gallery-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.dialog-close{border:0;background:transparent;font-size:12px;display:flex;align-items:center;gap:15px;padding:10px}.dialog-close span{font-size:26px;line-height:1}.gallery-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:35px}.gallery-photo{background:#ecf0f1;position:relative;display:flex;min-height:430px;align-items:center;justify-content:center;padding-bottom:65px;overflow:hidden}.gallery-photo>img{width:100%;height:calc(75dvh - 125px);min-height:365px;max-height:620px;object-fit:contain;animation:photo-in .5s var(--ease)}#image-fallback{padding:25px;font-size:14px}.gallery-controls{display:flex;align-items:center;justify-content:center;gap:25px;position:absolute;bottom:0;left:0;right:0;height:65px;background:#ecf0f1}.gallery-controls button{background:var(--paper);border:1px solid var(--line);width:38px;height:38px;border-radius:50%;font-size:20px}.gallery-controls span{font-size:12px}.gallery-info{padding:16px 0;display:flex;flex-direction:column}.gallery-info h2{font-size:clamp(29px,3.1vw,46px)}.gallery-info>p:not(.tiny){font-size:13px;color:var(--muted);margin-top:24px}.gallery-info .button{margin-top:auto;align-self:flex-start}#gallery-thumbnails{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}#gallery-thumbnails button{width:53px;height:53px;border:2px solid transparent;padding:2px;background:transparent;border-radius:2px}#gallery-thumbnails button[aria-pressed=true]{border-color:var(--accent)}#gallery-thumbnails img{width:100%;height:100%;object-fit:cover}.message-shell{max-width:650px;margin:auto;padding:35px}.message-shell h2{font-size:45px;margin:20px 0}.message-shell>p:not(.eyebrow){font-size:13px}.message-shell pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#ecf0f1;padding:24px;font:14px Onest,sans-serif;line-height:1.6;max-height:35vh;overflow:auto}.message-close{margin-left:auto}
.motion-ready .reveal{opacity:0;transform:translateY(35px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.motion-ready .reveal.visible{opacity:1;transform:none}@keyframes hero-entrance{from{transform:scale(1.16)}to{transform:scale(1.06)}}@keyframes rise-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes dialog-in{from{opacity:0;transform:translateY(25px) scale(.98)}to{opacity:1;transform:none}}@keyframes photo-in{from{opacity:.35;transform:translateX(18px)}to{opacity:1;transform:none}}

@media(min-width:1500px){.hero{min-height:780px}.hero-visual{min-height:750px}.hero-copy{padding-top:40px}.hero h1{margin-top:65px}}
@media(max-width:1000px){.site-header nav{gap:24px}.hero{gap:25px}.hero h1{font-size:7.2vw}.hero-description p{font-size:12px}.hero-visual{min-height:620px}.hero-foot{font-size:7px}.section-pad{padding-top:85px;padding-bottom:85px}.project-grid{gap:35px 18px}.project-card h3{font-size:23px}.services{gap:6%}.contact-panel{padding:32px 26px}.form-row{gap:18px}.gallery-layout{grid-template-columns:1.2fr 1fr}.gallery-photo{min-height:370px}.gallery-photo>img{min-height:305px}.reviews figcaption span{display:block;margin:5px 0 0}}
@media(max-width:700px){html{scroll-padding-top:78px}.prototype-bar{height:27px;font-size:9px}.prototype-bar>span:last-child{display:none}.site-header,.site-header.scrolled{height:78px;padding:0 22px}.brand img{width:85px;height:61px}.menu-toggle{display:flex;align-items:center;gap:20px;border:0;border-bottom:1px solid var(--ink);padding:8px 0;background:transparent;font-size:12px}.menu-toggle span{font-size:23px}.site-header nav{display:none;position:absolute;left:0;right:0;top:78px;background:var(--paper);padding:20px 24px 35px;box-shadow:0 30px 50px #2c3e5020;flex-direction:column;align-items:stretch;gap:0}.site-header nav.open{display:flex}.site-header nav a{font-family:Bricolage,sans-serif;font-size:26px;padding:17px 0;border-bottom:1px solid var(--line)}.site-header nav .nav-cta{color:var(--accent-text)}.hero{display:flex;flex-direction:column;padding:20px 14px 20px;gap:28px;min-height:0}.hero-copy{padding:0 9px}.hero h1{font-size:clamp(55px,12.5vw,84px);margin-top:27px;line-height:1.01}.hero-description{margin-top:23px;max-width:100%}.hero-description p{font-size:13px}.hero-description .button{margin-top:22px}.hero-secondary{display:flex;width:max-content;margin-top:17px}.hero-foot{margin-top:27px;padding-top:15px;font-size:7px}.hero-visual{min-height:0;height:390px;width:100%}.local-seal{width:83px;height:83px;right:20px;top:20px}.local-seal strong{font-size:34px}.local-seal span{font-size:7px}.hero-image-caption{left:20px;right:20px;bottom:20px;font-size:8px}.ribbon{padding:17px 22px}.ribbon>div{width:max-content;font-size:20px;gap:28px}.ribbon i{font-size:22px}.section-pad{padding:70px 24px}.intro-grid{grid-template-columns:1fr;gap:35px;margin-top:24px}.intro h2{font-size:46px}.intro-copy>p:first-child{font-size:24px}.intro-copy{padding:0}.intro-copy .small-copy{max-width:100%;font-size:13px}.intro-copy .text-link{margin-top:20px}.section-heading{display:block;margin-bottom:30px}.section-heading .eyebrow{margin-bottom:23px}.section-heading>p{margin-top:24px;font-size:12px}.filters{gap:8px;margin-bottom:30px}.filters button{padding:10px 14px;font-size:10px}.filters button span{margin-left:8px}.project-grid{grid-template-columns:1fr;gap:32px}.project-card h3{font-size:28px;max-width:340px}.card-photo{aspect-ratio:1.3}.card-meta{font-size:10px}.collection-note{font-size:10px}.services{grid-template-columns:1fr;gap:45px}.services h2{font-size:54px;margin:24px 0}.services-title>p:not(.eyebrow){font-size:13px}.service-list summary{padding:25px 0;gap:17px}.service-list h3{font-size:25px}.service-body{padding:0 27px 28px;font-size:13px}.artisan{grid-template-columns:1fr;gap:55px}.artisan-visual{padding:0 20px 20px 0;max-width:450px}.artisan-visual img{aspect-ratio:1}.artisan-tag{padding:25px;font-size:21px}.artisan-copy h2{font-size:45px;margin:25px 0}.artisan-copy>p:not(.eyebrow){font-size:13px}.reviews{grid-template-columns:1fr;gap:35px;padding-top:45px;padding-bottom:45px}.reviews blockquote{font-size:29px}.review-rating strong{font-size:58px}.reviews figcaption span{font-size:8px}.steps{grid-template-columns:1fr;gap:35px}.steps h3{font-size:32px;margin:20px 0 15px}.steps p{max-width:100%}.contact{grid-template-columns:1fr;gap:40px}.contact h2{font-size:56px;margin:25px 0}.phone-link{font-size:32px}.contact-panel{padding:30px 24px}.contact-panel h3{font-size:30px}.form-row{grid-template-columns:1fr;gap:0}.form-note{font-size:11px}.contact-zone{margin-top:25px}footer{padding:45px 24px 24px}.footer-top{gap:20px;flex-wrap:wrap}.footer-top p{font-size:10px;max-width:145px}.footer-top img{width:80px;height:55px}.back-top{width:40px;height:40px}.footer-name{font-size:12vw;margin:38px 0 28px}.footer-bottom{flex-direction:column;gap:13px;font-size:8px}.footer-bottom>div{gap:18px}dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.gallery-shell{padding:12px 16px 22px}.gallery-top{margin-bottom:10px}.gallery-top .eyebrow{font-size:9px}.gallery-layout{grid-template-columns:1fr;gap:14px}.gallery-photo{min-height:0;padding-bottom:52px}.gallery-photo>img{height:40svh;min-height:0;max-height:350px}.gallery-controls{height:52px}.gallery-controls button{height:32px;width:32px;font-size:17px}.gallery-info{padding:5px 0}.gallery-info h2{font-size:29px}.gallery-info>p:not(.tiny){font-size:12px;margin-top:16px}.gallery-info .tiny{font-size:9px}.gallery-info .button{margin-top:8px}#gallery-thumbnails{margin:18px 0;gap:6px}#gallery-thumbnails button{width:42px;height:42px}.message-shell{padding:20px}.message-shell h2{font-size:35px}.message-shell pre{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}
@media print{.prototype-bar,.site-header,.filters,dialog,form,.local-seal,.ribbon{display:none}.reveal{opacity:1!important;transform:none!important}.section-pad{padding:35px 15px}.hero{min-height:0}.hero-visual{min-height:400px}}

form fieldset{border:0;margin:0;padding:0;min-width:0}

/* Carayon : identité historique, surfaces claires — retour du 8 octobre. */
.services .outline{border-color:var(--ink);color:var(--ink)}
.services .outline:hover{background:var(--ink);color:var(--white)}
footer{border-top:1px solid var(--line)}

/* Palette relevée sur carayon-btp.fr le 8 octobre, application claire. */
.outline-word{background:linear-gradient(135deg,var(--brand-blue),var(--brand-violet));background-clip:text;-webkit-background-clip:text;color:transparent}
.primary:hover{box-shadow:0 5px 18px #e67e2233}
