/* Secondary palette inspired by material samples and architectural drawings. */
:root{--sky:#e8e2d8;--butter:#f3efe7;--clay-light:#e6cabe;--blueprint:#20201e}
::selection{background:var(--butter);color:var(--ink)}
.reading-progress{position:fixed;top:0;left:0;height:4px;width:100%;background:var(--accent);transform-origin:left;transform:scaleX(0);z-index:100;pointer-events:none}
.header{background:#f3efe7f2;backdrop-filter:blur(14px)}
.button,.guide-card{position:relative;isolation:isolate;overflow:hidden}
.button{transition:background .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease;border-radius:3px}
.button:hover{transform:translate(-2px,-3px);box-shadow:4px 5px 0 var(--ink)}
.button:active{transform:translate(0,0);box-shadow:1px 1px 0 var(--ink)}
.button span[aria-hidden=true]:not(.button-ripple){transition:transform .25s ease;display:inline-block}
.button:hover span[aria-hidden=true]:not(.button-ripple){transform:translate(3px,-3px)}
.header .estimate-nav,.estimate-primary{background:var(--accent);border-color:var(--accent)}
.header .estimate-nav:hover,.estimate-primary:hover{background:var(--butter);color:var(--ink);border-color:var(--ink)}
.button-ripple{position:absolute;width:24px;height:24px;margin:-12px;pointer-events:none;background:currentColor;opacity:0;border-radius:50%;animation:button-wave .65s ease-out;z-index:-1}
@keyframes button-wave{0%{transform:scale(0);opacity:.23}100%{transform:scale(28);opacity:0}}
.hero-visual:before{content:'DU PLAN AU LIEU';position:absolute;top:20px;left:20px;z-index:2;background:var(--butter);color:var(--ink);font:650 9px Manrope,Arial,sans-serif;letter-spacing:1.4px;padding:12px 15px;transform:rotate(-3deg)}
.hero-visual:after{border-color:var(--blueprint);width:86px;height:86px}
.hero-copy>.eyebrow{color:var(--blueprint)}
.hero h1 em{position:relative;display:inline-block}
.hero h1 em:after{content:'';display:block;height:7px;margin:12px 0 0;width:100%;background:var(--butter);transform:skewX(-30deg)}
.floating-card{background:var(--sky);color:var(--ink);border:1px solid var(--ink);box-shadow:6px 6px 0 var(--ink);transform:rotate(-2deg);transition:transform .3s ease}
.floating-card:hover{transform:rotate(0deg) translateY(-4px)}
.floating-card p{color:#69655f}.floating-card .card-icon{border-color:#20201e55;color:var(--blueprint)}
.budget-feature{background:var(--sky);border-top:1px solid #20201e20;border-bottom:1px solid #20201e20}
.budget-feature .eyebrow{color:var(--blueprint)}
.budget-mock{box-shadow:9px 9px 0 #20201e20;transition:transform .3s ease,box-shadow .3s ease}
.budget-mock:hover{transform:translateY(-4px);box-shadow:12px 13px 0 #20201e20}
.mock-bars>div:nth-child(3) i{background:var(--butter)}.tag{background:var(--butter);color:var(--ink)}
.process-playground{margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.process-tabs{display:grid;grid-template-columns:repeat(3,1fr);padding:0 6%;border-bottom:1px solid var(--line)}
.process-tab{background:transparent;border:0;border-right:1px solid var(--line);padding:26px 22px;display:flex;align-items:center;gap:15px;text-align:left;transition:background .25s ease;color:var(--ink);font:550 13px Manrope,Arial,sans-serif;position:relative}
.process-tab:first-child{border-left:1px solid var(--line)}
.process-tab b{color:var(--accent);font-weight:600;font-size:12px}
.process-tab:after{content:'↗';margin-left:auto;font-size:21px;transition:transform .25s ease}
.process-tab:hover{background:#ad4e3815}.process-tab:hover:after{transform:translate(2px,-2px)}
.process-tab[aria-selected=true]{background:var(--butter)}
.process-tab[aria-selected=true] b{color:var(--ink)}
.process-panel{padding:30px 8%;display:grid;grid-template-columns:1fr 1.4fr auto;align-items:center;gap:32px;min-height:125px}
.process-panel[hidden]{display:none}.process-panel h2{font-size:25px;margin:0;letter-spacing:-1px}.process-panel p{margin:0;font-size:13px;max-width:510px;line-height:1.75}.process-panel .text-link{white-space:nowrap;font-weight:550}
.process-panel:not([hidden]){animation:panel-enter .35s ease both}
@keyframes panel-enter{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:none}}
.steps-grid{gap:22px}.steps-grid article{padding:27px 25px 25px;border:0;transition:transform .3s ease}
.steps-grid article:nth-child(1){background:var(--clay-light)}.steps-grid article:nth-child(2){background:var(--butter)}.steps-grid article:nth-child(3){background:var(--sky)}
.steps-grid article:hover{transform:translateY(-6px)}.steps-grid .step-symbol{color:var(--ink);font-weight:650}.steps-grid p{color:#494a44}
.project-cover{overflow:hidden}.project-cover img{transition:transform .65s cubic-bezier(.2,.75,.25,1),filter .5s ease}
.project-cover:hover img{transform:scale(1.035);filter:saturate(1)}
.photo-plus{background:var(--butter);transition:transform .25s,background .25s}
.project-cover:hover .photo-plus{transform:rotate(45deg);background:var(--sky)}
.project-card:nth-child(3n+1) .project-caption{border-top:3px solid var(--accent)}
.project-card:nth-child(3n+2) .project-caption{border-top:3px solid var(--blueprint)}
.project-card:nth-child(3n) .project-caption{border-top:3px solid #aaa59c}
.expertise-section{background:var(--butter)}.expertise-list>a{transition:padding .25s,background .25s}
.expertise-list>a:hover{padding-left:14px;background:#f3efe755}.expertise-list>a>span{color:var(--ink)}
.guide-card{transition:transform .3s ease,background .3s ease,box-shadow .3s ease;border-color:var(--ink)}
.guide-card:nth-child(3n+1){background:#ad4e3812}.guide-card:nth-child(3n+2){background:#aaa59c22}.guide-card:nth-child(3n){background:#e8e2d8}
.guide-card:hover{background:var(--paper);transform:translateY(-5px);box-shadow:5px 5px 0 var(--ink)}
.contact-section{position:relative;border-top:8px solid var(--accent)}.contact-section h2 em{color:var(--butter)}
.contact-section .button.light{background:var(--butter);border-color:var(--butter)}
.contact-section input:focus,.contact-section textarea:focus{background:#ffffff09;border-color:var(--butter)}
.scroll-reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease var(--reveal-delay,0ms),transform .6s cubic-bezier(.2,.75,.25,1) var(--reveal-delay,0ms)}
.scroll-reveal.is-visible{opacity:1;transform:none}
@media(max-width:760px){
 .process-tabs{padding:0}.process-tab{padding:20px 13px;font-size:11px;gap:8px}.process-tab:after{font-size:16px}.process-tab b{font-size:10px}
 .process-panel{grid-template-columns:1fr;gap:13px;padding:25px 6%;min-height:205px}.process-panel h2{font-size:23px}.process-panel .text-link{justify-self:start}
 .hero-visual:before{font-size:8px;padding:10px 12px}.floating-card{box-shadow:4px 4px 0 var(--ink)}.steps-grid article{padding:26px}
 .button:hover{box-shadow:3px 3px 0 var(--ink)}
}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .scroll-reveal{opacity:1!important;transform:none!important}.button:hover,.steps-grid article:hover,.guide-card:hover{transform:none}
}
@media print{.scroll-reveal{opacity:1;transform:none}.reading-progress{display:none}}
