@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--ink:#101110;--ink-soft:#171917;--concrete:#a4a8a1;--concrete-soft:#d5d7d1;--line:rgba(213,215,209,.18);--line-dark:rgba(16,17,16,.15);--paper:#e6e4de;--wood:#d79a5b;--wood-deep:#a86d3d;--white:#faf9f4;--muted:#8d928c;--mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;--sans:'Manrope',Arial,sans-serif;}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--white);font-family:var(--sans);font-size:15px;line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.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}.page-shell{overflow:hidden}.section-pad{padding-left:clamp(24px,7vw,112px);padding-right:clamp(24px,7vw,112px)}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,7vw,112px);position:relative;z-index:5;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:11px}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border:1px solid var(--wood);color:var(--wood)}.brand-mark svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:square;stroke-linejoin:round}.brand-mark .brand-bolt{fill:var(--wood);stroke:var(--wood);stroke-width:.6}.brand-type{display:flex;align-items:baseline;gap:4px;letter-spacing:-.04em;font-size:14px}.brand-type strong{font-weight:800;letter-spacing:.08em}.brand-type span{font-weight:500;color:var(--concrete-soft)}.site-nav{display:flex;align-items:center;gap:31px;font-size:12px;color:var(--concrete-soft);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em}.site-nav a{transition:color .2s ease}.site-nav a:hover,.site-nav a:focus-visible{color:var(--wood)}.site-nav .nav-cta{color:var(--white);padding:11px 15px;border:1px solid var(--line);transition:background .2s ease,border .2s ease}.site-nav .nav-cta:hover,.site-nav .nav-cta:focus-visible{background:var(--wood);border-color:var(--wood);color:var(--ink)}.menu-toggle{display:none;background:none;border:0;color:var(--white);width:42px;height:42px;padding:10px}.menu-toggle span:not(.sr-only){display:block;height:1px;background:var(--white);margin:6px 0;width:100%}.hero{min-height:calc(100vh - 84px);display:grid;grid-template-columns:minmax(320px,.9fr) minmax(460px,1.1fr);align-items:center;gap:clamp(38px,7vw,125px);position:relative;padding-top:70px;padding-bottom:92px}.hero-copy{position:relative;z-index:1}.eyebrow,.section-kicker,.footer-label,.visual-label{font-family:var(--mono);font-size:10px;line-height:1.2;text-transform:uppercase;letter-spacing:.17em;color:var(--wood);margin:0}.eyebrow{display:flex;align-items:center;gap:11px;margin-bottom:28px}.eyebrow-line{display:inline-block;width:38px;height:1px;background:var(--wood)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(58px,7.8vw,124px);line-height:.91;letter-spacing:-.075em;max-width:720px;margin-bottom:31px;font-weight:700}h1 em,h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--wood);letter-spacing:-.07em}.hero-intro{max-width:410px;color:var(--concrete-soft);font-size:16px;line-height:1.65;margin-bottom:35px}.hero-actions{display:flex;align-items:center;gap:26px}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:49px;padding:0 18px;border:1px solid transparent;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;transition:transform .2s ease,background .2s ease,color .2s ease,border .2s ease}.button-primary{background:var(--wood);color:var(--ink)}.button-primary:hover,.button-primary:focus-visible{background:var(--white);transform:translateY(-3px)}.text-link{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--wood);padding-bottom:5px;color:var(--concrete-soft);transition:color .2s ease}.text-link:hover,.text-link:focus-visible{color:var(--wood)}.hero-art{height:min(620px,62vw);min-height:460px;background:#1b1d1b;border:1px solid var(--line);position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:19px 19px 17px;color:var(--muted)}.hero-art:after{content:"";position:absolute;inset:13px;border:1px dashed rgba(213,215,209,.12);pointer-events:none}.hero-art-topline,.hero-art-bottomline{display:flex;justify-content:space-between;position:relative;z-index:1;font:10px var(--mono);letter-spacing:.11em}.hero-art-bottomline{color:var(--wood)}.scroll-cue{color:var(--muted)}.house-illustration{position:relative;flex:1;margin:30px 0;overflow:hidden}.house-roof{position:absolute;width:52%;height:52%;left:22%;top:23%;border:1px solid var(--concrete);border-bottom:0;transform:skewX(-19deg) rotate(23deg);opacity:.75}.house-body{position:absolute;width:49%;height:42%;left:26%;top:43%;border:1px solid var(--concrete);background:rgba(23,25,23,.45)}.window{position:absolute;display:block;width:17%;height:25%;top:24%;border:1px solid var(--wood);background:linear-gradient(90deg,transparent 47%,var(--wood) 48%,var(--wood) 52%,transparent 53%),linear-gradient(0deg,transparent 47%,var(--wood) 48%,var(--wood) 52%,transparent 53%)}.window-a{left:17%}.window-b{right:17%}.door{position:absolute;display:block;bottom:0;left:43%;width:16%;height:42%;border:1px solid var(--concrete)}.paint-swatch{position:absolute;right:13%;bottom:7%;width:17%;height:14%;background:var(--wood);transform:rotate(-22deg);box-shadow:11px 6px 0 rgba(215,154,91,.22)}.wire{position:absolute;display:block;height:1px;background:var(--wood);transform-origin:left}.wire-one{width:38%;left:0;top:31%;transform:rotate(18deg)}.wire-two{width:30%;right:-2%;top:20%;transform:rotate(-24deg)}.wire-three{width:30%;left:8%;bottom:12%;transform:rotate(-13deg)}.node{position:absolute;width:8px;height:8px;border-radius:50%;border:1px solid var(--wood);background:var(--ink)}.node-one{left:31%;top:35%}.node-two{right:24%;top:14%}.node-three{left:34%;bottom:7%}.hero-stamp{position:absolute;bottom:44px;left:calc(50% - 17px);width:68px;height:68px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;text-align:center;font:600 13px/1 var(--mono);color:var(--wood);transform:rotate(-13deg)}.hero-stamp span{font-size:10px;color:var(--muted);margin-top:-18px}.signal-bar{min-height:58px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:0 clamp(24px,7vw,112px);color:var(--muted);font:10px var(--mono);text-transform:uppercase;letter-spacing:.12em}.signal-bar>div:nth-child(2){text-align:center;color:var(--concrete-soft)}.signal-location{text-align:right}.signal-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--wood);margin-right:8px;vertical-align:1px}.services{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(450px,1.3fr);gap:clamp(40px,10vw,165px);padding-top:150px;padding-bottom:148px}.section-kicker{margin-bottom:23px}.section-rail h2,.rates-heading h2,.work h2,.booking h2{font-size:clamp(42px,5.3vw,78px);line-height:.95;letter-spacing:-.075em;font-weight:700;margin-bottom:28px}.section-note{max-width:250px;color:var(--muted);line-height:1.65;font-size:13px}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:38px 49px 1fr 24px;align-items:center;gap:18px;min-height:146px;border-bottom:1px solid var(--line);transition:background .25s ease,padding .25s ease}.service-row:hover{background:var(--ink-soft);padding-left:13px;padding-right:13px}.service-number{font:10px var(--mono);color:var(--wood)}.service-content h3{margin:0 0 7px;font-size:20px;letter-spacing:-.04em}.service-content p{margin:0;max-width:430px;color:var(--muted);font-size:13px}.service-arrow{font-size:22px;color:var(--wood);transition:transform .2s ease}.service-row:hover .service-arrow{transform:translate(3px,-3px)}.service-icon{width:38px;height:38px;position:relative;color:var(--wood);border:1px solid var(--line);display:block}.icon-wire span{position:absolute;height:1px;background:currentColor;width:24px;left:6px;transform:rotate(-25deg)}.icon-wire span:nth-child(1){top:10px}.icon-wire span:nth-child(2){top:18px;transform:rotate(25deg)}.icon-wire span:nth-child(3){top:26px}.icon-light span{position:absolute;left:10px;top:8px;width:16px;height:16px;border:1px solid currentColor;border-radius:50%}.icon-light:after{content:"";position:absolute;left:15px;top:25px;width:7px;height:1px;background:currentColor;box-shadow:0 3px 0 currentColor}.icon-fan span{position:absolute;left:18px;top:18px;width:14px;height:1px;background:currentColor;transform-origin:left}.icon-fan span:nth-child(1){transform:rotate(15deg)}.icon-fan span:nth-child(2){transform:rotate(135deg)}.icon-fan span:nth-child(3){transform:rotate(255deg)}.icon-fan:after{content:"";position:absolute;left:16px;top:16px;width:5px;height:5px;border:1px solid currentColor;border-radius:50%}.icon-paint span{position:absolute;width:5px;height:23px;border:1px solid currentColor;transform:rotate(25deg)}.icon-paint span:nth-child(1){left:12px;top:7px}.icon-paint span:nth-child(2){left:21px;top:11px;height:20px;transform:rotate(-25deg)}.rates{background:var(--paper);color:var(--ink);padding-top:135px;padding-bottom:120px}.rates-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:67px}.rates .section-kicker{color:var(--wood-deep)}.rates-heading h2{margin:0}.rate-note{max-width:310px;color:#62655f;font-size:13px;line-height:1.65;margin:0 4% 5px 0}.rate-table{border-top:1px solid var(--line-dark)}.rate-row{display:grid;grid-template-columns:1.5fr .7fr .6fr;gap:25px;align-items:center;min-height:76px;border-bottom:1px solid var(--line-dark);font:11px var(--mono);color:#777a73}.rate-row>span:first-child{display:flex;flex-direction:column;gap:3px}.rate-row b{font:600 14px var(--sans);color:var(--ink);letter-spacing:-.02em}.rate-row small{font-size:10px;color:#8b8e87}.rate-row strong{justify-self:end;font:600 17px var(--mono);color:var(--wood-deep)}.rate-head{min-height:42px;text-transform:uppercase;font-size:9px;letter-spacing:.14em;color:#8b8e87}.rate-head span:last-child{text-align:right}.rate-footnote{font:10px var(--mono);letter-spacing:.05em;color:#777a73;margin:24px 0 0}.rate-footnote span{color:var(--wood-deep);font-size:18px;vertical-align:-2px;margin-right:5px}.work{padding-top:150px;padding-bottom:150px}.work-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:61px}.work-heading h2{margin-bottom:0}.work-heading>p{max-width:235px;color:var(--muted);font-size:13px;margin:0 4% 7px 0}.project-grid{display:grid;grid-template-columns:1.32fr 1fr 1fr;gap:17px}.project-card{min-width:0}.project-visual{height:350px;position:relative;overflow:hidden;background:#232624}.visual-label{position:absolute;z-index:2;top:17px;left:17px;color:var(--paper);font-size:9px}.visual-cove{background:linear-gradient(145deg,#70756d,#282b28 56%,#1a1c1a)}.cove-room{position:absolute;inset:20% 10% 0;transform:perspective(400px) rotateX(3deg);border:1px solid rgba(250,249,244,.25);border-bottom:0;background:linear-gradient(90deg,rgba(215,154,91,.2),transparent 40%),linear-gradient(180deg,rgba(250,249,244,.08),transparent 44%)}.cove-room:before{content:"";position:absolute;left:-13%;top:39%;width:125%;height:2px;background:var(--wood);box-shadow:0 0 22px 5px rgba(215,154,91,.48)}.cove-room i{position:absolute;width:10%;height:12%;border:1px solid rgba(250,249,244,.32);bottom:18%;background:rgba(16,17,16,.25)}.cove-room i:nth-of-type(1){left:13%}.cove-room i:nth-of-type(2){left:45%}.cove-room i:nth-of-type(3){right:13%}.cove-room span{position:absolute;bottom:0;left:0;width:100%;height:24%;background:rgba(16,17,16,.3);border-top:1px solid rgba(250,249,244,.14)}.visual-switch{background:#d2d0c8}.switch-panel{position:absolute;right:20%;top:24%;width:36%;height:48%;border:1px solid #777a73;background:#ebe9e1;box-shadow:-18px 23px 0 rgba(16,17,16,.12)}.switch-panel i{display:block;position:absolute;width:16%;height:19%;border:1px solid #777a73;left:42%;transform:rotate(25deg)}.switch-panel i:nth-child(1){top:13%}.switch-panel i:nth-child(2){top:40%}.switch-panel i:nth-child(3){top:67%}.visual-switch:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 60%,rgba(16,17,16,.08))}.visual-paint{background:#b27755}.paint-wall{position:absolute;inset:0;background:linear-gradient(90deg,#c58d67 0 48%,#d1b092 48% 100%)}.paint-wall i{position:absolute;display:block;left:0;top:44%;width:66%;height:19%;background:#e1d7c8;transform:rotate(-10deg);opacity:.82}.paint-wall i:nth-child(2){top:57%;left:-10%;transform:rotate(7deg);background:#9b6549}.plant-stem{position:absolute;bottom:-8%;right:22%;height:55%;width:1px;background:#2d4134;transform:rotate(9deg);box-shadow:9px -35px 0 -0.2px #2d4134}.project-meta{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding:17px 0 16px}.project-meta h3{font-size:15px;letter-spacing:-.02em;margin:0 0 3px}.project-meta p{font:10px var(--mono);color:var(--muted);margin:0;text-transform:uppercase;letter-spacing:.08em}.project-meta>span{font-size:20px;color:var(--wood)}.booking{padding-top:0;padding-bottom:150px}.booking-panel{background:#252823;display:grid;grid-template-columns:1fr 1fr;min-height:590px;position:relative;overflow:hidden}.booking-panel:before{content:"";position:absolute;right:-120px;bottom:-210px;width:470px;height:470px;border:1px solid rgba(215,154,91,.2);border-radius:50%;box-shadow:0 0 0 44px rgba(215,154,91,.03),0 0 0 88px rgba(215,154,91,.03)}.booking-copy{padding:86px clamp(30px,7vw,105px) 80px clamp(30px,6vw,80px);position:relative;z-index:1}.booking-copy h2{margin-bottom:23px}.booking-copy>p:not(.section-kicker){color:var(--concrete-soft);font-size:14px;line-height:1.7;max-width:310px;margin-bottom:54px}.contact-quick{border-top:1px solid var(--line);max-width:390px}.contact-quick a{display:grid;grid-template-columns:27px 1fr 20px;gap:12px;align-items:center;min-height:69px;border-bottom:1px solid var(--line);transition:color .2s ease}.contact-quick a:hover{color:var(--wood)}.quick-icon{width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--wood);border-radius:50%;font:11px var(--mono);color:var(--wood)}.contact-quick small{display:block;font:9px var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:3px}.contact-quick strong{font-size:13px;font-weight:500}.contact-quick a>span:last-child{font-size:18px;color:var(--wood)}.booking-form{background:var(--paper);color:var(--ink);padding:82px clamp(30px,7vw,105px) 70px clamp(30px,6vw,80px);display:flex;flex-direction:column;justify-content:center}.booking-form label{font:10px var(--mono);text-transform:uppercase;letter-spacing:.12em;color:#777a73;margin:0 0 9px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:0;border-bottom:1px solid #aaa9a2;background:transparent;border-radius:0;padding:8px 0 13px;margin-bottom:28px;outline:0;color:var(--ink);resize:vertical}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--wood-deep);box-shadow:0 1px 0 var(--wood-deep)}.booking-form input::placeholder,.booking-form textarea::placeholder{color:#a3a49d}.booking-form select{appearance:none;background:linear-gradient(45deg,transparent 50%,#777a73 50%) calc(100% - 6px) 43%/6px 6px no-repeat,linear-gradient(135deg,#777a73 50%,transparent 50%) 100% 43%/6px 6px no-repeat;padding-right:18px}.form-submit{align-self:flex-start;min-width:170px;margin-top:4px}.form-note{font:10px var(--mono);color:#8b8e87;margin:17px 0 0;line-height:1.5}.site-footer{padding-top:47px;padding-bottom:28px;border-top:1px solid var(--line);color:var(--concrete-soft)}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;padding-bottom:58px}.footer-top>p{font-size:14px;line-height:1.65;margin:0;color:var(--muted)}.back-top{justify-self:end;font:10px var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--wood)}.back-top span{font-size:17px;margin-left:12px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:27px 0;gap:22px}.footer-grid>div{display:flex;flex-direction:column;gap:8px;min-width:0}.footer-label{color:var(--muted);font-size:9px}.footer-grid a,.footer-grid>div>span:not(.footer-label){font-size:12px;color:var(--white);overflow-wrap:anywhere}.footer-grid a:hover{color:var(--wood)}.footer-bottom{display:flex;justify-content:space-between;padding-top:20px;font:9px var(--mono);text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}.footer-location{color:var(--wood)}.floating-whatsapp{position:fixed;bottom:25px;right:25px;z-index:4;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:7px;background:var(--wood);color:var(--ink);font-size:23px;box-shadow:0 8px 28px rgba(0,0,0,.27);transition:transform .2s ease}.floating-whatsapp span{display:none;font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em}.floating-whatsapp:hover{transform:translateY(-4px)}.reveal{animation:rise .7s both}.reveal-delay{animation-delay:.15s}@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}:focus-visible{outline:2px solid var(--wood);outline-offset:4px}@media (max-width:980px){.hero{grid-template-columns:1fr;gap:50px;padding-top:85px}.hero-art{height:520px;min-height:0;width:min(100%,680px);justify-self:end}.hero-stamp{left:auto;right:12%;bottom:35px}.services{gap:45px}.booking-copy{padding-left:45px;padding-right:45px}.booking-form{padding-left:45px;padding-right:45px}}@media (max-width:700px){.site-header{height:72px}.site-nav{display:none;position:absolute;top:71px;left:0;right:0;background:var(--ink);border-bottom:1px solid var(--line);padding:20px 24px;flex-direction:column;align-items:stretch;gap:0}.site-nav.open{display:flex}.site-nav a{padding:14px 0;border-bottom:1px solid var(--line)}.site-nav .nav-cta{padding:14px 0;border:0;border-bottom:1px solid var(--line)}.menu-toggle{display:block}.hero{min-height:0;padding-top:71px;padding-bottom:70px}.hero-intro{font-size:14px}.hero-actions{align-items:flex-start;flex-direction:column;gap:19px}.hero-art{height:390px;width:100%;padding:14px 14px 12px}.hero-art-topline,.hero-art-bottomline{font-size:8px}.hero-stamp{width:52px;height:52px;font-size:11px;right:6%;bottom:21px}.signal-bar{grid-template-columns:1fr;gap:9px;padding-top:17px;padding-bottom:17px}.signal-bar>div:nth-child(2),.signal-location{text-align:left}.signal-bar>div:nth-child(2){order:3}.services{display:block;padding-top:92px;padding-bottom:91px}.section-rail{margin-bottom:53px}.section-rail h2,.rates-heading h2,.work h2,.booking h2{font-size:clamp(43px,12vw,64px)}.service-row{grid-template-columns:25px 40px 1fr;gap:12px;min-height:125px}.service-arrow{display:none}.service-icon{width:32px;height:32px}.service-content h3{font-size:16px}.service-content p{font-size:12px}.rates{padding-top:89px;padding-bottom:79px}.rates-heading{display:block;margin-bottom:44px}.rate-note{margin:24px 0 0}.rate-row{grid-template-columns:1.25fr .65fr .7fr;gap:9px;min-height:84px}.rate-row b{font-size:12px}.rate-row small{font-size:9px}.rate-row strong{font-size:13px}.rate-row>span:nth-child(2){font-size:9px}.work{padding-top:90px;padding-bottom:90px}.work-heading{display:block;margin-bottom:44px}.work-heading>p{margin:22px 0 0}.project-grid{grid-template-columns:1fr;gap:31px}.project-visual{height:300px}.booking{padding-bottom:90px}.booking-panel{display:block}.booking-copy{padding:64px 27px 53px}.booking-copy>p:not(.section-kicker){margin-bottom:39px}.booking-form{padding:52px 27px 53px}.site-footer{padding-top:33px}.footer-top{grid-template-columns:1fr;gap:30px;padding-bottom:44px}.back-top{justify-self:start}.footer-grid{grid-template-columns:1fr 1fr;gap:28px 18px}.footer-bottom{display:grid;grid-template-columns:1fr 1fr;gap:12px;line-height:1.5}.footer-location{grid-column:1/-1}.floating-whatsapp{width:50px;height:50px;right:17px;bottom:17px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{animation:none}.button,.service-row,.service-arrow,.floating-whatsapp{transition:none}}

.rating-section{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(450px,1.3fr);gap:clamp(40px,10vw,165px);padding-top:88px;padding-bottom:88px;background:#1b1d1b;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.rating-intro h2{font-size:clamp(42px,5.3vw,78px);line-height:.95;letter-spacing:-.075em;font-weight:700;margin:0 0 24px}.rating-intro>p:last-child{max-width:280px;color:var(--muted);font-size:13px;line-height:1.65;margin:0}.rating-card{display:flex;align-items:center;justify-content:space-between;gap:40px;border:1px solid var(--line);padding:34px 38px;background:rgba(16,17,16,.34)}.rating-summary{display:flex;align-items:center;gap:22px}.rating-score{font:500 clamp(48px,5vw,72px)/.9 var(--mono);color:var(--wood)}.rating-display{font-size:21px;letter-spacing:3px;color:var(--wood);white-space:nowrap}.rating-count{display:block;margin-top:7px;font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.rating-input{border:0;border-left:1px solid var(--line);padding:4px 0 4px 36px;margin:0;min-width:230px}.rating-input legend{font:10px var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--concrete-soft);margin-bottom:13px}.rating-stars{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px}.rating-stars input{position:absolute;opacity:0;width:1px;height:1px}.rating-stars label{font-size:26px;color:#555a53;cursor:pointer;line-height:1;transition:color .18s ease,transform .18s ease}.rating-stars label:hover,.rating-stars label:hover~label,.rating-stars input:checked~label{color:var(--wood)}.rating-stars label:hover{transform:translateY(-2px)}.rating-stars input:focus-visible+label{outline:2px solid var(--wood);outline-offset:4px}.rating-note{font:10px var(--mono);color:var(--muted);margin:15px 0 0;line-height:1.45}@media (max-width:980px){.rating-section{gap:45px}.rating-card{padding:28px}.rating-input{padding-left:25px}}@media (max-width:700px){.rating-section{display:block;padding-top:72px;padding-bottom:72px}.rating-intro{margin-bottom:42px}.rating-card{display:block;padding:26px 22px}.rating-summary{margin-bottom:28px}.rating-input{border-left:0;border-top:1px solid var(--line);padding:25px 0 0;min-width:0}.rating-stars label{font-size:29px}}

.project-photo{background:#242724}.project-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.03);transition:transform .5s ease,filter .5s ease}.project-card:hover .project-photo img{transform:scale(1.035);filter:saturate(1) contrast(1.04)}.project-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,17,16,.34),transparent 26%,transparent 66%,rgba(16,17,16,.42));pointer-events:none}.project-photo .visual-label{z-index:2}

.rating-stars input:disabled+label{cursor:default;opacity:.62}

/* Review system extensions */
.rating-card{display:grid;grid-template-columns:minmax(210px,.72fr) minmax(300px,1.28fr);gap:34px 42px;align-items:start}.rating-card .rating-summary{align-self:start}.rating-input{border-left:1px solid var(--line);padding:0 0 0 36px;margin:0;min-width:0}.rating-input fieldset{border:0;padding:0;margin:0}.rating-input legend{padding:0}.review-label{display:block;margin-top:24px;font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--concrete-soft)}#rating-review{display:block;width:100%;min-height:96px;resize:vertical;margin-top:10px;padding:13px 14px;border:1px solid var(--line);border-radius:0;background:rgba(16,17,16,.28);color:var(--white);font:12px/1.55 var(--sans);outline:none}#rating-review::placeholder{color:#777b73}#rating-review:focus{border-color:var(--wood);box-shadow:0 0 0 1px var(--wood)}.review-form-meta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:10px;color:var(--muted);font:10px var(--mono)}#rating-submit,.load-more-reviews{border:1px solid var(--wood);border-radius:0;background:var(--wood);color:var(--ink);padding:11px 14px;font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,color .2s ease,opacity .2s ease}#rating-submit:hover,.load-more-reviews:hover{background:transparent;color:var(--wood)}#rating-submit:disabled{cursor:wait;opacity:.6}.reviews-panel{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px}.reviews-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;color:var(--concrete-soft);font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase}.review-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.review-item{border:1px solid var(--line);padding:16px;background:rgba(16,17,16,.22)}.review-item-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-item-stars{color:var(--wood);letter-spacing:2px;font-size:13px}.review-item-date{color:var(--muted);font:10px var(--mono)}.review-item-text{margin:12px 0 0;color:var(--white);font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.reviews-empty{margin:0;color:var(--muted);font:11px/1.5 var(--mono)}.load-more-reviews{display:block;margin:18px auto 0;background:transparent;color:var(--wood)}.load-more-reviews:hover{background:var(--wood);color:var(--ink)}
@media (max-width:700px){.rating-card{display:block;padding:26px 22px}.rating-card .rating-summary{margin-bottom:28px}.rating-input{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.review-items{grid-template-columns:1fr}.reviews-panel{margin-top:28px}.review-form-meta{align-items:flex-start;flex-direction:column-reverse}.review-form-meta button{width:100%}}
