:root{--paper:#f4f1eb;--ink:#34312b;--muted:#7c776e;--line:#d9d3c8;--accent:#9a604a;--dark:#302f29;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.9;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{border:0}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400}h2{font-size:clamp(28px,3.3vw,45px);line-height:1.65;letter-spacing:.08em}p+p{margin-top:1.3em}button[hidden],[hidden]{display:none!important}.skip-link{position:fixed;top:-70px;left:20px;background:var(--dark);color:white;padding:10px;z-index:200}.skip-link:focus{top:10px}.header{height:100px;padding:0 4.5%;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line);position:relative;z-index:30;background:var(--paper)}.brand{display:inline-flex;align-items:center;gap:15px;flex:none}.brand-symbol{font-family:Georgia,serif;font-size:57px;line-height:1;letter-spacing:-8px;font-weight:400;padding-right:6px}.brand-symbol>span{color:var(--accent)}.brand-name{font-family:Arial,sans-serif;font-size:20px;font-weight:600;letter-spacing:.13em;line-height:1.4}.brand-name small{display:block;font-size:8px;letter-spacing:.23em;font-weight:400;margin-top:4px}.desktop-nav{display:flex;gap:28px;margin-left:auto;font-size:12px;letter-spacing:.04em}.desktop-nav a{position:relative;padding:10px 0}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:var(--ink);transition:right .25s}.desktop-nav a:hover:after{right:0}.header-contact{border:1px solid #aaa296;border-radius:2px;padding:12px 20px;font-size:12px;display:flex;align-items:center;gap:22px;transition:.2s}.header-contact:hover{background:var(--ink);color:var(--paper)}.header-contact span{font-size:22px}.menu-toggle{display:none;background:transparent;width:42px;height:42px}.mobile-nav{position:absolute;z-index:25;background:var(--paper);left:0;right:0;top:80px;padding:20px 7% 30px;border-bottom:1px solid var(--line)}.mobile-nav a{display:block;padding:13px 0;font-size:15px;border-bottom:1px solid var(--line)}.hero{display:grid;grid-template-columns:51% 49%;min-height:660px;height:min(780px,calc(100svh - 100px));max-height:880px}.hero-photo{position:relative;overflow:hidden;order:2}.hero-photo>img{height:100%;object-fit:cover;object-position:center;animation:slow-reveal 1.8s ease-out both}.hero-photo:after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#1c211d88);pointer-events:none}.hero-photo-label{position:absolute;left:32px;bottom:30px;color:white;font-size:9px;letter-spacing:.22em;z-index:1}.hero-content{padding:60px 10% 25px 9%;display:flex;flex-direction:column;justify-content:center;position:relative}.eyebrow{font:10px/1.6 Arial,sans-serif;letter-spacing:.15em;display:flex;align-items:center;gap:11px}.tiny-line{width:28px;height:1px;background:var(--accent)}.hero h1{font-size:clamp(33px,3.65vw,56px);line-height:1.65;letter-spacing:.1em;margin:29px 0 25px;white-space:nowrap}.hero h1 em{font-style:normal;color:var(--accent)}.hero-description{font-size:13px;line-height:2.3;color:#625e55;letter-spacing:.06em}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;border-bottom:1px solid #9d9587;padding:12px 0 9px;font-size:12px;align-self:flex-start;transition:gap .2s}.text-link:hover{gap:65px}.text-link>span{font:22px Arial,sans-serif}.hero .text-link{margin-top:30px;min-width:195px}.hero-bottom{position:absolute;bottom:28px;left:9%;right:10%;display:flex;justify-content:space-between;font:8px Arial,sans-serif;letter-spacing:.14em;color:var(--muted)}.hero-bottom a{display:flex;gap:17px}.material-strip{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:22px 5%;border-bottom:1px solid var(--line);font:10px Arial,sans-serif;letter-spacing:.16em;overflow:hidden;white-space:nowrap}.strip-dot{color:var(--accent);font-size:23px}.section{max-width:1440px;margin:0 auto;padding:100px 7%}.section-kicker{display:flex;align-items:center;gap:24px;margin-bottom:50px;font:10px Arial,sans-serif;letter-spacing:.14em}.section-kicker span+span{font:11px var(--sans);letter-spacing:.07em;color:var(--muted)}.section-kicker span:first-child:before{content:"";display:inline-block;vertical-align:middle;width:6px;height:6px;background:var(--accent);margin-right:12px}.concept{padding-top:100px;padding-bottom:110px}.concept-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px}.concept h2{font-size:clamp(32px,3.7vw,51px);line-height:1.8}.concept-copy{max-width:490px}.concept-copy .lead{font-family:var(--serif);font-size:19px;line-height:2;letter-spacing:.06em;margin-bottom:28px}.concept-copy>p:not(.lead){color:#6c665d;font-size:13px;line-height:2.2}.concept-copy .text-link{margin-top:24px}.works{padding-top:75px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:35px}.section-heading>p{font-size:12px;color:var(--muted);line-height:2;letter-spacing:.04em}.work-filters{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--line);margin:40px 0}.filter{background:none;padding:0 5px 16px;border-bottom:2px solid transparent;font-size:12px;color:var(--muted);position:relative;bottom:-1px}.filter span{font-size:9px;letter-spacing:.08em;margin-left:9px}.filter.is-active{border-color:var(--accent);color:var(--ink)}.works-grid{display:grid;grid-template-columns:1.2fr 1fr;column-gap:40px;row-gap:50px}.work-card{padding:0;background:none;text-align:left;min-width:0}.work-card:nth-child(even){padding-top:70px}.work-image{position:relative;display:block;height:365px;overflow:hidden;background:#e0dbd2}.work-card:nth-child(even) .work-image{height:435px}.work-image img{height:100%;object-fit:cover;transition:transform .6s}.work-card:hover .work-image img{transform:scale(1.035)}.work-open{position:absolute;right:15px;bottom:15px;display:grid;place-items:center;background:var(--paper);width:39px;height:39px;border-radius:50%;font:22px Arial,sans-serif;transition:transform .2s}.work-card:hover .work-open{transform:rotate(45deg)}.work-meta{display:flex;gap:15px;margin-top:17px}.work-number{font:11px Arial,sans-serif;letter-spacing:.08em;padding-top:6px;color:var(--accent)}.work-title{display:block;font-family:var(--serif);font-size:20px;letter-spacing:.04em}.work-type{display:block;margin-top:4px;color:var(--muted);font:9px/1.7 var(--sans);letter-spacing:.08em}.works-note{font-size:10px;color:var(--muted);margin-top:40px}.materials{background:#e9e5dc}.materials-inner{padding-top:90px;padding-bottom:100px}.material-layout{display:grid;grid-template-columns:.85fr 1.2fr;gap:8%;margin-top:45px}.material-tab{width:100%;display:flex;align-items:center;gap:20px;text-align:left;padding:25px 0;background:none;border-top:1px solid #c8c1b4;color:#827b70}.material-tab:nth-child(3){border-bottom:1px solid #c8c1b4}.material-no{font:10px Arial,sans-serif;color:var(--accent)}.material-tab strong{display:block;font:19px/1.7 var(--serif);letter-spacing:.04em}.material-tab small{display:block;font:10px/1.7 Georgia,serif;letter-spacing:.05em;margin-top:5px}.material-arrow{margin-left:auto;font:25px Arial,sans-serif;opacity:0;transform:translateX(-8px);transition:.2s}.material-tab.is-active{color:var(--ink)}.material-tab.is-active .material-arrow,.material-tab:hover .material-arrow{opacity:1;transform:none}.material-help{font-size:12px;color:var(--muted);margin-top:25px;line-height:2}.material-panel>img{height:355px;object-fit:cover}.material-caption{padding-top:23px}.material-caption h3{font:23px/1.7 var(--serif);letter-spacing:.04em}.material-caption p{font-size:12px;line-height:2;color:#6d665b;margin-top:12px}.material-caption>span{display:block;margin-top:17px;color:var(--accent);font-size:10px;letter-spacing:.04em}.about{padding-top:105px;padding-bottom:110px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.about-visual{position:relative;margin-top:10px}.about-visual>img{height:640px;object-fit:cover}.about-stamp{position:absolute;right:-30px;bottom:-25px;width:153px;height:153px;display:flex;justify-content:center;align-items:center;flex-direction:column;border-radius:50%;background:var(--paper);border:1px solid #b7ab96;outline:8px solid var(--paper);font:20px Georgia,serif;letter-spacing:.06em;transform:rotate(-12deg)}.about-stamp span{font:8px/1.8 Arial,sans-serif;letter-spacing:.12em;text-align:center;margin-top:10px}.about-copy .eyebrow{margin-bottom:20px;color:var(--accent)}.about-copy h2{font-size:32px;line-height:1.8;margin-bottom:27px}.about-copy>p:not(.eyebrow){font-size:12px;color:#6d675e;line-height:2.2}.signature{margin-top:25px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.signature>span{font-size:10px;color:var(--muted)}.signature>strong{font:24px var(--serif);letter-spacing:.13em}.signature>small{font:8px Arial,sans-serif;letter-spacing:.1em}.company-details{margin-top:28px;margin-bottom:0;font-size:11px}.company-details>div{display:grid;grid-template-columns:100px 1fr;border-top:1px solid var(--line);padding:11px 0}.company-details dt{color:var(--muted)}.company-details dd{margin:0;overflow-wrap:anywhere}.company-details dd a:hover{text-decoration:underline}.process{border-top:1px solid var(--line);padding-top:80px;padding-bottom:90px}.process-list{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);margin:45px 0 0}.process-list>li{border-top:1px solid var(--line);padding:24px 30px 0 0}.process-list>li+li{border-left:1px solid var(--line);padding-left:30px}.process-list span{font:10px Arial,sans-serif;color:var(--accent);letter-spacing:.12em}.process-list h3{font:19px/1.8 var(--serif);letter-spacing:.02em;margin-top:17px}.process-list p{font-size:12px;color:var(--muted);line-height:2;margin-top:12px}.faq{padding-top:60px;padding-bottom:110px;display:grid;grid-template-columns:.7fr 1.3fr;gap:65px}.faq h2{font-size:29px;margin:15px 0 18px}.faq>div>p:last-child{font-size:12px;color:var(--muted)}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{padding:22px 35px 22px 0;cursor:pointer;list-style:none;position:relative;font-size:12px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{position:absolute;right:4px;top:31px;width:12px;height:1px;background:var(--ink)}.faq-list summary>span:after{content:"";position:absolute;left:5px;top:-5px;height:11px;width:1px;background:var(--ink);transition:transform .2s}.faq-list details[open] summary>span:after{transform:rotate(90deg)}.faq-list details>p{font-size:12px;line-height:2;color:var(--muted);padding:0 25px 24px 0}.contact{background:var(--dark);color:#f2eee5}.contact-inner{padding-top:80px;padding-bottom:60px}.contact .section-kicker span+span{color:#b4ac9f}.contact .section-kicker span:first-child:before{background:#b99177}.contact-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.contact-heading h2{font-size:clamp(30px,3.6vw,50px)}.contact-heading p{font-size:12px;line-height:2.2;color:#bab4a7;padding-bottom:5px}.contact-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:50px}.contact-primary,.contact-mail{padding:25px 27px;text-align:left;display:flex;justify-content:space-between;align-items:center;transition:background .2s;gap:15px}.contact-primary{background:#e4dfd2;color:var(--dark)}.contact-primary:hover{background:#fffaf0}.contact-primary small,.contact-mail small{font-size:10px;display:block;margin-bottom:7px}.contact-primary strong,.contact-mail strong{font:23px/1.5 var(--serif);letter-spacing:.04em}.contact-primary>span:last-child,.contact-mail>span:last-child{font:28px Arial,sans-serif}.contact-mail{background:none;color:var(--paper);border:1px solid #777165}.contact-mail:hover{background:#49463d}.contact-phone{padding:12px 0 5px 20px;display:flex;flex-direction:column;justify-content:center}.contact-phone small{font-size:10px;color:#bdb5a7}.contact-phone strong{font:26px/1.7 Georgia,serif;letter-spacing:.04em;white-space:nowrap}.contact-phone>span{font-size:9px;color:#bdb5a7}.contact-sub{font-size:10px;color:#bdb5a7;margin-top:26px}.footer{padding:55px 7% 20px;max-width:1440px;margin:auto}.footer-top{display:flex;align-items:center;gap:45px;padding-bottom:45px}.footer-top>p{font-size:11px;color:var(--muted);line-height:2}.instagram-link{font:12px Arial,sans-serif;margin-left:auto;display:flex;gap:35px}.instagram-link>span{font-size:19px}.back-top{display:grid;place-items:center;width:45px;height:45px;border:1px solid var(--line);font-size:19px}.footer-bottom{border-top:1px solid var(--line);padding-top:19px;display:flex;justify-content:space-between;gap:15px;font:9px/1.7 Arial,var(--sans);letter-spacing:.06em;color:var(--muted)}.footer-bottom>a{margin-left:auto;margin-right:50px;font-size:10px}.mobile-only{display:none}.work-dialog,.consultation-dialog{border:0;background:var(--paper);color:var(--ink);padding:0;max-height:92svh;box-shadow:0 20px 100px #0004;overscroll-behavior:contain}.work-dialog{width:min(1000px,92vw);max-width:none}.work-dialog::backdrop,.consultation-dialog::backdrop{background:#24231ec9;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:14px;top:14px;width:42px;height:42px;z-index:2;display:grid;place-items:center;border-radius:50%;background:var(--paper);font:28px Arial,sans-serif;box-shadow:0 1px 8px #0002}.dialog-image{position:relative;background:#292923}.dialog-image>img{max-height:63svh;min-height:250px;height:auto;width:100%;object-fit:contain}.gallery-prev,.gallery-next{position:absolute;top:50%;transform:translateY(-50%);background:#f4f1ebe8;width:42px;height:42px;border-radius:50%;font-size:22px}.gallery-prev{left:14px}.gallery-next{right:14px}.dialog-info{padding:28px 40px 33px;position:relative}.dialog-info h2{font-size:27px;margin-top:12px;letter-spacing:.04em}.dialog-info p{font-size:12px;color:var(--muted);margin-top:10px;line-height:2}.dialog-info .text-link{margin-top:14px}.gallery-counter{position:absolute;right:40px;top:28px;font:10px Arial,sans-serif;color:var(--muted)}.consultation-dialog{width:min(600px,92vw);max-width:none;padding:45px}.consultation-dialog h2{font-size:29px;margin-top:17px;letter-spacing:.03em}.consultation-intro{font-size:12px;color:var(--muted);margin-top:12px}.consultation-dialog form{margin-top:25px}.consultation-dialog label{display:block;font-size:12px;margin-top:15px}.consultation-dialog input,.consultation-dialog textarea,.consultation-dialog select{display:block;width:100%;border:1px solid var(--line);border-radius:0;background:#fffcf7;color:var(--ink);padding:10px 12px;margin-top:7px;font-size:14px}.consultation-dialog textarea{resize:vertical;min-height:100px}.required{font-size:9px;color:var(--accent);margin-left:9px}.form-note{font-size:10px;line-height:1.8;color:var(--muted);margin:15px 0}.form-note a{text-decoration:underline;margin-left:6px}.solid-button{background:var(--ink);color:white;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;width:100%;font-size:12px}.solid-button:hover{background:var(--accent)}.email-alternative{margin-top:23px;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:4px 15px;font-size:11px}.email-alternative>span{font-size:10px;color:var(--muted);width:100%}.email-alternative>button{font-size:10px;background:none;border-bottom:1px solid var(--line);padding:3px 0}.email-alternative>p{font-size:10px;width:100%;margin:0;color:var(--accent);min-height:16px}.noscript-note{padding:20px;text-align:center;font-size:12px}.privacy-page{max-width:850px;margin:0 auto;padding:75px 6% 100px;min-height:75vh}.privacy-page h1{font:34px/1.6 var(--serif);margin-bottom:35px}.privacy-page h2{font:20px/1.7 var(--serif);margin-top:35px;margin-bottom:12px}.privacy-page p,.privacy-page li{font-size:13px;color:#6c665d;line-height:2}.privacy-page a{text-decoration:underline;text-underline-offset:4px}.privacy-page .eyebrow{margin-bottom:22px}.privacy-page ul{padding-left:22px}.privacy-page .text-link{margin-top:35px;text-decoration:none}.privacy-footer{border-top:1px solid var(--line);padding:22px 7%;font-size:10px;color:var(--muted);display:flex;justify-content:space-between}
.header{position:sticky;top:0}.mobile-nav{position:fixed}.work-card{align-self:start}.hero-content,.hero-photo{min-width:0}
@keyframes slow-reveal{from{transform:scale(1.045);opacity:.55}to{transform:scale(1);opacity:1}}
@media(min-width:1500px){.hero-content{padding-left:max(9%,calc((100vw - 1250px)/2))}.hero-bottom{left:max(9%,calc((100vw - 1250px)/2))}.hero{grid-template-columns:50% 50%}}
@media(max-width:1150px){.header{padding:0 4%;gap:25px;height:90px}.desktop-nav{gap:18px;font-size:11px}.header-contact{padding:10px 13px;font-size:11px;gap:12px}.brand-symbol{font-size:50px}.brand-name{font-size:17px}.hero{height:690px;min-height:620px;grid-template-columns:50% 50%}.hero-content{padding-left:10%;padding-right:6%}.hero h1{font-size:40px}.section{padding-left:6%;padding-right:6%}.concept-grid{gap:50px}.works-grid{column-gap:30px}.work-image{height:310px}.work-card:nth-child(even) .work-image{height:380px}.about-grid{gap:8%}.about-visual>img{height:620px}.contact-options{gap:12px}.contact-primary,.contact-mail{padding:22px 18px}.contact-primary strong,.contact-mail strong{font-size:20px}.contact-phone{padding-left:10px}.contact-phone strong{font-size:23px}.faq{gap:40px}}
@media(max-width:900px){.desktop-nav{display:none}.header-contact{margin-left:auto}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;padding:8px;margin-right:-8px}.menu-toggle span{display:block;width:25px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.header{height:80px}.hero{height:650px;min-height:600px}.hero h1{font-size:34px;letter-spacing:.06em}.hero-description{font-size:12px}.hero .eyebrow{font-size:8px;gap:8px}.hero-bottom{font-size:7px}.hero-bottom a{gap:8px}.hero-photo-label{font-size:7px;left:22px;letter-spacing:.13em}.concept-grid{gap:40px}.concept h2{font-size:33px}.concept-copy .lead{font-size:17px}.section-heading>p{font-size:11px}.section h2{font-size:32px}.work-title{font-size:18px}.work-image{height:270px}.work-card:nth-child(even) .work-image{height:340px}.material-layout{gap:6%;grid-template-columns:1fr 1.1fr}.material-tab{gap:12px;padding:22px 0}.material-tab strong{font-size:17px}.material-no{font-size:9px}.material-tab small{font-size:9px}.material-panel>img{height:300px}.material-caption h3{font-size:20px}.about-grid{grid-template-columns:.85fr 1fr;gap:7%}.about-visual>img{height:590px}.about-copy h2{font-size:26px}.about-stamp{width:120px;height:120px;font-size:16px;right:-18px}.about-stamp span{font-size:6px}.company-details>div{grid-template-columns:80px 1fr}.process-list h3{font-size:17px}.process-list>li{padding-right:20px}.process-list>li+li{padding-left:20px}.contact-heading{display:block}.contact-heading p{margin-top:20px}.footer-top{gap:30px}.footer-top>p{font-size:10px}.footer-bottom>a{margin-right:15px}.faq{grid-template-columns:.7fr 1.3fr;gap:30px}.faq h2{font-size:25px}}
@media(max-width:640px){html{scroll-padding-top:25px}.header{padding:0 6%;height:76px;gap:13px}.brand{gap:11px}.brand-symbol{font-size:44px;letter-spacing:-6px}.brand-name{font-size:15px}.brand-name small{font-size:6px}.header-contact{border:none;padding:8px 0;font-size:10px;gap:8px}.header-contact>span{font-size:20px}.mobile-nav{top:76px}.hero{display:flex;flex-direction:column;height:auto;min-height:0}.hero-photo{height:360px;order:0}.hero-photo>img{object-position:center 50%}.hero-content{padding:37px 7% 52px}.hero h1{font-size:37px;line-height:1.65;margin:19px 0 20px;letter-spacing:.09em}.hero .eyebrow{font-size:8px}.hero-description{font-size:12px;line-height:2.1}.hero .text-link{margin-top:20px;min-width:180px}.hero-photo-label{bottom:20px;left:7%;font-size:7px}.hero-bottom{position:static;margin-top:35px;font-size:8px}.hero-bottom a{gap:15px}.material-strip{padding:17px 7%;gap:18px;font-size:8px;justify-content:flex-start}.material-strip span:nth-child(n+5){display:none}.material-strip .strip-dot{font-size:17px}.section{padding:65px 7%}.section-kicker{gap:18px;font-size:8px;margin-bottom:30px;letter-spacing:.13em}.section-kicker span+span{font-size:10px}.section-kicker span:first-child:before{width:5px;height:5px;margin-right:9px}.concept-grid{grid-template-columns:1fr;gap:26px}.concept h2{font-size:33px;line-height:1.8}.concept-copy .lead{font-size:17px;line-height:1.95;margin-bottom:20px}.concept-copy>p:not(.lead){font-size:12px}.concept-copy .text-link{margin-top:18px}.section-heading{display:block;margin-bottom:25px}.section h2{font-size:29px}.section-heading>p{font-size:11px;margin-top:18px}.work-filters{gap:20px;margin-top:28px;margin-bottom:25px;white-space:nowrap}.filter{font-size:10px;padding:0 0 13px}.filter span{font-size:8px;margin-left:5px}.works-grid{grid-template-columns:1fr;row-gap:31px}.work-card:nth-child(even){padding-top:0}.work-image,.work-card:nth-child(even) .work-image{height:320px}.work-card:nth-child(even) .work-image{height:370px}.work-meta{margin-top:13px;gap:12px}.work-title{font-size:19px}.work-type{font-size:8px;margin-top:5px}.work-number{font-size:10px}.works-note{font-size:9px;margin-top:27px;line-height:1.9}.materials .section{padding-bottom:65px}.material-layout{grid-template-columns:1fr;gap:26px;margin-top:24px}.material-tabs{display:flex;flex-wrap:wrap}.material-tab{width:100%;padding:17px 0;gap:17px}.material-tab strong{font-size:17px}.material-tab small{font-size:9px}.material-help{font-size:11px;margin-top:18px}.material-panel>img{height:300px}.material-caption h3{font-size:22px}.material-caption p{font-size:12px}.material-caption>span{font-size:9px}.about-grid{grid-template-columns:1fr;gap:55px}.about-visual>img{height:420px;object-position:center}.about-stamp{width:125px;height:125px;right:15px;bottom:-25px}.about-copy .eyebrow{font-size:9px}.about-copy h2{font-size:29px;line-height:1.8;margin-bottom:22px}.about-copy>p:not(.eyebrow){font-size:12px}.signature{margin-top:25px}.signature>strong{font-size:24px}.signature>small{font-size:8px}.company-details{margin-top:28px;font-size:11px}.company-details>div{grid-template-columns:90px 1fr;padding:13px 0}.process .section-heading .text-link{margin-top:20px}.process-list{grid-template-columns:1fr;margin-top:30px}.process-list>li,.process-list>li+li{padding:23px 0;border-left:0;border-top:1px solid var(--line)}.process-list>li:last-child{padding-bottom:0}.process-list h3{font-size:21px;margin-top:10px}.process-list p{margin-top:9px;font-size:12px;max-width:400px}.process-list span{font-size:9px}.faq{grid-template-columns:1fr;gap:30px;padding-top:25px;padding-bottom:65px}.faq h2{font-size:27px;margin-bottom:12px}.faq-list summary{padding-top:20px;padding-bottom:20px;font-size:12px}.contact-inner{padding-top:55px;padding-bottom:42px}.contact-heading h2{font-size:30px;line-height:1.65;letter-spacing:.03em}.contact-heading p{font-size:11px;margin-top:20px}.contact-options{grid-template-columns:1fr;gap:13px;margin-top:30px}.contact-primary,.contact-mail{padding:23px 24px}.contact-primary strong,.contact-mail strong{font-size:23px}.contact-primary small,.contact-mail small{font-size:10px;margin-bottom:5px}.contact-phone{display:flex;gap:0;grid-column:auto;padding:13px 0 0}.contact-phone strong{font-size:30px;align-self:flex-start;line-height:1.7}.contact-phone small{font-size:10px}.contact-phone>span{font-size:10px}.contact-sub{font-size:9px;line-height:1.9;margin-top:22px}.footer{padding:38px 7% 22px}.footer-top{display:grid;grid-template-columns:1fr auto;gap:23px;padding-bottom:30px}.footer-top>.brand{grid-column:1}.footer-top>p{grid-column:1;grid-row:2;font-size:11px}.instagram-link{grid-column:1;grid-row:3;margin-left:0;justify-content:flex-start;gap:20px;font-size:11px}.back-top{grid-column:2;grid-row:1;align-self:start}.footer-bottom{font-size:8px;gap:10px;flex-wrap:wrap;align-items:center}.footer-bottom>a{margin:0 0 0 auto;font-size:9px}.footer-bottom>span:last-child{display:none}.mobile-only{display:initial}.dialog-info{padding:23px}.dialog-info h2{font-size:22px;margin-top:14px}.gallery-counter{right:23px;top:23px;font-size:9px}.dialog-info .eyebrow{font-size:8px;padding-right:40px}.dialog-info p{font-size:11px}.dialog-image>img{max-height:55svh;min-height:230px}.dialog-close{right:10px;top:10px;width:36px;height:36px;font-size:25px}.gallery-prev,.gallery-next{width:35px;height:35px;font-size:19px}.gallery-prev{left:10px}.gallery-next{right:10px}.consultation-dialog{padding:35px 23px 25px;max-height:94svh}.consultation-dialog h2{font-size:25px;line-height:1.7}.consultation-dialog .eyebrow{font-size:8px;padding-right:20px}.consultation-intro{font-size:11px;margin-top:10px}.consultation-dialog label{font-size:11px}.consultation-dialog input,.consultation-dialog select,.consultation-dialog textarea{font-size:16px}.privacy-page{padding:50px 7% 65px}.privacy-page h1{font-size:27px}.privacy-page h2{font-size:19px}}
@media(max-width:360px){.header-contact{font-size:9px}.brand-name{font-size:13px}.brand-symbol{font-size:40px}.header{gap:8px}.hero h1{font-size:32px}.hero-photo{height:300px}.section-kicker{gap:12px;font-size:7px}.work-filters{gap:15px}.work-image{height:280px}.work-card:nth-child(even) .work-image{height:320px}.contact-heading h2{font-size:28px}.material-strip{font-size:7px;gap:12px}}
@media(max-width:640px){html{scroll-padding-top:90px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.about .about-visual>img{height:auto;aspect-ratio:3/2;object-fit:contain}.about .about-stamp{display:none}
@media(max-width:640px){.about .about-copy h2{font-size:clamp(22px,6.5vw,29px)}}
.brand-logo{display:block;width:100%;height:auto;object-fit:contain}.header .brand{width:168px;gap:0;position:relative;isolation:isolate}.header .brand::before{content:"";position:absolute;inset:-5px -13px;z-index:-1;background:url("/assets/brand-nouveau-frame.svg") center/100% 100% no-repeat;pointer-events:none}.footer .brand{width:250px;max-width:100%;min-width:0;gap:0}
@media(max-width:1150px){.header .brand{width:152px}}
@media(max-width:900px){.header .brand{width:128px}}
@media(max-width:640px){.header .brand{width:120px}.footer .brand{width:240px}.footer-top{grid-template-columns:minmax(0,1fr) auto}}
@media(max-width:360px){.header .brand{width:104px}.header .brand::before{left:-8px;right:-8px}.header .header-contact>span{display:none}}

/* Each finish has its own page, with mortar sculpting leading the homepage. */
.desktop-nav a[aria-current=page]{color:var(--accent);text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}.mobile-nav a[aria-current=page]{color:var(--accent)}

/* Give the shared menu clear type and a visible current-page marker. */
.desktop-nav {
  gap: 10px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .01em;
}
.desktop-nav a {
  padding: 10px 8px;
  border-radius: 3px;
  color: #30362e;
  white-space: nowrap;
  transition: background .2s, color .2s;
}
.desktop-nav a::after { content: none; }
.desktop-nav a:hover,
.mobile-nav a:hover { background: #e8ecdf; }
.desktop-nav a[aria-current=page] {
  background: #dfe7d8;
  color: #263c2c;
  text-decoration: none;
  box-shadow: inset 0 -2px #6f8564;
}
.header-contact { font-weight: 600; }
.mobile-nav a {
  padding: 14px 12px;
  border-bottom-color: #c7c4b7;
  border-radius: 3px;
  color: #30362e;
  font-size: 16px;
  font-weight: 600;
}
.mobile-nav a[aria-current=page] {
  background: #dfe7d8;
  color: #263c2c;
  box-shadow: inset 3px 0 #6f8564;
}
@media (max-width: 1150px) {
  .desktop-nav { gap: 6px; font-size: 13px; }
  .desktop-nav a { padding-inline: 6px; }
}
@media (max-width: 1050px) {
  .desktop-nav { display: none; }
  .header-contact { margin-left: auto; }
  .menu-toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 7px;
    padding: 8px;
    margin-right: -8px;
  }
  .menu-toggle span {
    display: block;
    width: 25px;
    height: 2px;
    background: #30362e;
    transition: transform .2s;
  }
  .menu-toggle[aria-expanded=true] span:first-child { transform: translateY(4.5px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:last-child { transform: translateY(-4.5px) rotate(-45deg); }
  .mobile-nav {
    top: 90px;
    max-height: calc(100svh - 90px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
@media (max-width: 900px) { .mobile-nav { top: 80px; max-height: calc(100svh - 80px); } }
@media (max-width: 640px) { .mobile-nav { top: 76px; max-height: calc(100svh - 76px); } }
.mortar-feature-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;align-items:center}.mortar-feature-grid>div,.mortar-feature-image{min-width:0}.mortar-intro{max-width:460px;font-size:13px;line-height:2.2;margin-top:25px;color:var(--muted)}.mortar-feature-list{list-style:none;padding:0;margin:28px 0}.mortar-feature-list li{padding:18px 0;border-top:1px solid var(--line)}.mortar-feature-list strong{font:19px/1.7 var(--serif);font-weight:400}.mortar-feature-list p{font-size:12px;line-height:2;color:var(--muted);margin-top:5px}.mortar-feature-image{margin:0}.mortar-feature-image img{display:block;width:100%;height:auto}.mortar-feature-image figcaption,.service-hero-image figcaption{font-size:10px;line-height:1.9;color:var(--muted);margin-top:13px}
.other-finishes{border-top:1px solid var(--line)}.finish-link-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.finish-link-card{display:block;min-width:0;border-bottom:1px solid var(--line)}.finish-link-image{background:#e9e6df;aspect-ratio:16/10;overflow:hidden;display:grid;place-items:center}.finish-link-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .5s}.finish-link-card:hover .finish-link-image img{transform:scale(1.025)}.finish-link-copy{padding:26px 0 30px}.finish-link-copy h3{font:25px/1.6 var(--serif);letter-spacing:.02em;margin-top:10px}.finish-link-copy p{font-size:12px;line-height:2;color:var(--muted);margin-top:11px}.finish-link-more{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-top:25px}.finish-link-more>span{font-size:23px;color:var(--accent)}
.service-hero{max-width:1440px;margin:0 auto;padding:65px 7% 85px;display:grid;grid-template-columns:.85fr 1.15fr;gap:7%;align-items:center;min-height:610px}.service-hero-copy,.service-hero-image{min-width:0}.service-hero h1{font:clamp(38px,4.1vw,58px)/1.5 var(--serif);letter-spacing:.05em;margin:25px 0 20px}.service-subtitle{font:24px/1.8 var(--serif);letter-spacing:.03em;margin:0 0 20px}.service-hero-copy>p:not(.eyebrow):not(.service-subtitle){font-size:12px;line-height:2.3;color:var(--muted)}.service-hero-copy .text-link{margin-top:28px}.service-hero-image{margin:0}.service-hero-image img{display:block;width:100%;height:auto;object-fit:contain}.service-hero-image figcaption{font-size:9px}.service-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.service-intro-grid h2{font-size:clamp(28px,3vw,40px);line-height:1.85}.service-detail-copy>p{font-size:13px;line-height:2.2;color:var(--muted);margin-bottom:20px}.service-detail-copy>p.lead{font:23px/1.9 var(--serif);color:var(--ink);margin-bottom:27px}.service-detail-copy .text-link{margin-top:5px}.service-feature-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;list-style:none;padding:0;margin:50px 0 0}.service-feature-list>li{border-top:1px solid var(--line);padding-top:25px;min-width:0}.service-feature-list h3{font:20px/1.8 var(--serif)}.service-feature-list p{font-size:12px;line-height:2.1;color:var(--muted);margin-top:13px}.service-note{font-size:10px;line-height:2;color:var(--muted);margin-top:30px;max-width:900px}.service-section+.service-section{border-top:1px solid var(--line)}.service-steps{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:45px}.service-related-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.service-related-card{position:relative;padding:25px 35px 25px 0;border-top:1px solid var(--line)}.service-related-card h3{font:24px/1.7 var(--serif);margin-top:12px}.service-related-card p{font-size:12px;line-height:2;color:var(--muted);margin-top:9px}.service-related-card>span:last-child{position:absolute;right:0;top:50%;font-size:24px;color:var(--accent)}.service-related-card:hover h3{color:var(--accent)}
@media(max-width:1150px){.service-hero{padding-left:6%;padding-right:6%;gap:5%;min-height:570px}.service-subtitle{font-size:21px}.finish-link-copy h3{font-size:22px}.service-feature-list{gap:25px}.service-feature-list h3{font-size:18px}}
@media(max-width:900px){.mortar-feature-grid{gap:6%}.service-hero{grid-template-columns:.9fr 1.1fr;min-height:530px;padding-top:50px;padding-bottom:65px}.service-hero h1{font-size:36px}.service-subtitle{font-size:18px}.service-hero-copy>p:not(.eyebrow):not(.service-subtitle){font-size:11px}.service-hero .eyebrow{font-size:8px}.service-intro-grid{gap:6%}.service-detail-copy>p{font-size:12px}.service-detail-copy>p.lead{font-size:20px}.service-feature-list{gap:20px}.finish-link-grid{gap:25px}.finish-link-copy h3{font-size:20px}}
@media(max-width:640px){.mortar-feature-grid{grid-template-columns:1fr;gap:35px}.mortar-intro{font-size:12px;margin-top:20px}.mortar-feature-list{margin:22px 0}.mortar-feature-list strong{font-size:18px}.mortar-feature-list p{font-size:11px}.mortar-feature-image figcaption{font-size:9px}.finish-link-grid{grid-template-columns:1fr;gap:35px}.finish-link-image{aspect-ratio:3/2}.finish-link-copy{padding:21px 0 25px}.finish-link-copy h3{font-size:23px}.finish-link-copy p{font-size:11px}.finish-link-more{margin-top:19px}.service-hero{display:flex;flex-direction:column;align-items:stretch;gap:35px;padding:36px 7% 55px;min-height:0}.service-hero h1{font-size:40px;line-height:1.5;margin:20px 0 18px}.service-subtitle{font-size:21px;margin-bottom:18px}.service-hero-copy>p:not(.eyebrow):not(.service-subtitle){font-size:12px;line-height:2.2}.service-hero-copy .text-link{margin-top:22px}.service-hero-image figcaption{font-size:8px;margin-top:10px}.service-intro-grid{grid-template-columns:1fr;gap:25px}.service-intro-grid h2{font-size:29px}.service-detail-copy>p.lead{font-size:21px;margin-bottom:20px}.service-feature-list{grid-template-columns:1fr;gap:24px;margin-top:33px}.service-feature-list>li{padding-top:20px}.service-feature-list h3{font-size:21px}.service-feature-list p{margin-top:8px;font-size:12px}.service-note{font-size:9px;margin-top:24px}.service-steps{grid-template-columns:1fr;margin-top:27px}.service-related-grid{grid-template-columns:1fr;gap:0}.service-related-card{padding-top:23px;padding-bottom:23px}.service-related-card h3{font-size:23px}.service-related-card p{font-size:11px}.service-page .contact-sub{overflow-wrap:anywhere}}
@media(max-width:360px){.service-hero h1{font-size:35px}.service-subtitle{font-size:19px}.finish-link-copy h3{font-size:21px}.service-intro-grid h2{font-size:26px}}

.works-grid .work-image,
.works-grid .work-card:nth-child(even) .work-image {
  height: auto;
  aspect-ratio: 3 / 2;
}

.works-grid .work-image img {
  position: absolute;
  inset: 0;
  width: 100%;
}

.work-summary {
  display: block;
  max-width: 42ch;
  margin-top: 9px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.85;
}

.mortar-sample {
  margin-top: clamp(42px, 6vw, 78px);
  padding-top: clamp(34px, 5vw, 60px);
  border-top: 1px solid var(--line);
}

.mortar-sample h3 {
  margin-top: 14px;
  font: clamp(24px, 3vw, 36px)/1.55 var(--serif);
}

.storybook-photo {
  filter: brightness(1.88) contrast(.95) sepia(.16);
}

.venetian-hero-links {
  display: flex;
  flex-wrap: wrap;
  column-gap: 24px;
}

.service-page-microcement .service-hero h1 {
  font: 500 clamp(36px, 5.2vw, 70px)/1.2 Arial, sans-serif;
  letter-spacing: .01em;
}

.forcrete-video-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
}

.forcrete-table-photo {
  filter: brightness(1.12) contrast(1.03);
}

.forcrete-video {
  min-width: 0;
}

.forcrete-video-player {
  aspect-ratio: 16 / 9;
  background: var(--dark);
}

.forcrete-video-player iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.service-video-player {
  width: 100%;
  aspect-ratio: 16 / 9;
  background: var(--dark);
}

.service-video-player iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.service-video-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px 32px;
  margin-top: 15px;
}

.tf-floor-video {
  margin-top: 40px;
}

.tf-floor-video h3 {
  font: 25px/1.8 var(--serif);
}

.tf-floor-video > p {
  max-width: 750px;
  margin: 12px 0 25px;
  font-size: 12px;
  color: var(--muted);
}

.tf-floor-video > .text-link {
  margin-top: 15px;
}

.metal-video-block {
  margin-bottom: 45px;
}

.metal-video-block h3 {
  font: 25px/1.8 var(--serif);
}

.metal-video-block > p {
  max-width: 850px;
  margin: 12px 0 25px;
  font-size: 12px;
  color: var(--muted);
}

.metal-video-block > .text-link {
  margin-top: 15px;
}

.forcrete-video-portrait {
  aspect-ratio: 9 / 16;
  width: min(100%, 340px);
  margin-inline: auto;
}

.forcrete-video-poster {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: #fffaf0;
  isolation: isolate;
}

.forcrete-video-poster > img,
.forcrete-video-poster::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.forcrete-video-poster > img {
  object-fit: cover;
  object-position: 67% center;
}

.forcrete-video-poster::before {
  content: "";
  z-index: 1;
  background: linear-gradient(180deg, transparent 35%, #18231e25 57%, #17221def 100%);
}

.forcrete-video-poster:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 4px;
}

.forcrete-poster-play,
.forcrete-poster-copy {
  z-index: 2;
}

.forcrete-poster-play {
  display: grid;
  place-items: center;
  width: 60px;
  height: 60px;
  border: 1px solid #fffaf0c9;
  border-radius: 50%;
  background: #19241fc9;
  transition: background-color .2s;
}

.forcrete-video-poster:hover .forcrete-poster-play,
.forcrete-video-poster:focus-visible .forcrete-poster-play {
  background: #19241f;
}

.forcrete-poster-copy {
  position: absolute;
  inset: auto 8% 6%;
  display: grid;
  gap: 9px;
}

.forcrete-poster-copy > span {
  font: 11px/1.4 Arial, sans-serif;
  letter-spacing: .18em;
}

.forcrete-poster-copy > strong {
  font: 25px/1.45 var(--serif);
}

.forcrete-poster-copy > small {
  font-size: 12px;
}

.forcrete-video h3 {
  margin-top: 18px;
  font: 21px/1.7 var(--serif);
}

.forcrete-video p {
  margin-top: 8px;
  color: #625e55;
  font-size: 13px;
}

.forcrete-video .text-link {
  margin-top: 12px;
}

.forcrete-visit {
  margin-top: 40px;
  padding: 28px;
  background: #ebe7de;
}

.forcrete-visit h3 {
  font: 24px/1.7 var(--serif);
  margin-bottom: 16px;
}

.forcrete-visit p {
  max-width: 75ch;
  font-size: 13px;
  color: #625e55;
}

.forcrete-visit .text-link {
  margin-top: 16px;
}

@media (max-width: 640px) {
  .forcrete-video-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
  }

  .service-page-microcement .service-hero h1 {
    font-size: clamp(36px, 10vw, 54px);
  }
}

.venetian-photo-counter {
  filter: brightness(1.11) contrast(1.04);
}

.venetian-photo-gold {
  filter: brightness(1.04) contrast(1.04);
}

.village-intro {
  max-width: 58ch;
  margin: 18px 0 28px;
  color: var(--muted);
  font-size: 13px;
  line-height: 2;
}

.village-gallery {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px 18px;
}

.village-photo {
  margin: 0;
}

.village-photo a {
  position: relative;
  display: block;
}

.village-photo img {
  display: block;
  width: 100%;
  height: auto;
}

.village-photo a > span {
  position: absolute;
  right: 8px;
  bottom: 8px;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--paper);
  font-size: 16px;
}

.village-photo figcaption {
  margin-top: 11px;
  line-height: 1.75;
}

.village-photo strong {
  font: 15px/1.65 var(--serif);
}

.village-photo p {
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
}

@media (max-width: 980px) {
  .village-gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .village-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 14px;
  }
}

.venetian-finishes {
  background: #ebe7de;
  border-block: 1px solid var(--line);
}

.finish-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-bottom: 22px;
}

.finish-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.finish-filters button {
  padding: 8px 15px;
  min-height: 42px;
  border: 1px solid #a8a092;
  background: transparent;
  font-size: 12px;
}

.finish-filters button:hover {
  border-color: var(--ink);
}

.finish-filters button[aria-pressed="true"] {
  border-color: var(--dark);
  background: var(--dark);
  color: var(--paper);
}

.finish-credit {
  color: #625e55;
  font-size: 11px;
}

.metal-gallery-credit {
  margin-bottom: 16px;
}

.finish-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px 24px;
}

.finish-card {
  margin: 0;
  min-width: 0;
}

.finish-film {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid #c9c1b5;
}

.finish-film h3 {
  font: 17px/1.7 var(--serif);
}

.finish-card .finish-film > p {
  margin: 7px 0 14px;
  font-size: 12px;
}

.finish-film > .text-link {
  margin-top: 8px;
}

.inline-reference {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 4px;
  overflow-wrap: anywhere;
}

.company-material-link {
  display: inline-block;
  margin-top: 7px;
}

.finish-photo {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  background: #ded8ce;
}

.finish-photo img {
  height: 100%;
  object-fit: contain;
}

.finish-photo-credit {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  white-space: nowrap;
  color: rgba(255, 255, 255, .5);
  font: 400 clamp(12px, 1.45vw, 22px)/1.2 Arial, sans-serif;
}

.finish-dialog .finish-photo-credit {
  font-size: clamp(15px, 3.2vw, 42px);
}

.finish-photo > span {
  position: absolute;
  right: 10px;
  bottom: 10px;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--paper);
  font: 17px Arial, sans-serif;
}

.finish-photo:hover > span {
  background: var(--dark);
  color: var(--paper);
}

.finish-card figcaption {
  padding-top: 13px;
}

.finish-number {
  display: block;
  color: #81503e;
  font: 11px/1.6 Arial, sans-serif;
  letter-spacing: .12em;
}

.finish-card .finish-number {
  display: inline;
}

.finish-source {
  margin-left: 9px;
  color: #625e55;
  font-size: 11px;
}

.finish-card strong {
  display: block;
  margin-top: 4px;
  font: 17px/1.65 var(--serif);
}

.finish-card p,
.finish-consult p {
  margin-top: 4px;
  color: #625e55;
  font-size: 13px;
}

.finish-consult {
  margin-top: 36px;
  padding-top: 20px;
  border-top: 1px solid #c9c1b5;
}

.finish-dialog .dialog-image img {
  min-height: 0;
}

@media (max-width: 900px) {
  .finish-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .finish-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }

  .finish-filters button {
    padding-inline: 11px;
  }
}

/* TF WALL: keep the full construction photographs visible. */
.tfwall-case-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px 32px;
}

.tfwall-case-wide {
  grid-column: 1 / -1;
}

.service-page-tfwall .finish-photo {
  aspect-ratio: auto;
}

.service-page-tfwall .finish-photo img {
  height: auto;
}

.tfwall-design-layout {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 7%;
  align-items: center;
}

.tfwall-sample-grid {
  grid-template-columns: minmax(0, 1fr);
}

.tfwall-design-layout .service-detail-copy h2 {
  margin-bottom: 25px;
}

.tfwall-design-layout > * {
  min-width: 0;
}

.tfwall-standing {
  margin-bottom: 48px;
}

.tfwall-standing h3 {
  font: 25px/1.8 var(--serif);
}

.tfwall-standing > p {
  margin-top: 12px;
  margin-bottom: 28px;
  color: var(--muted);
  font-size: 12px;
  max-width: 650px;
}

.tfwall-standing-grid {
  grid-template-columns: 1.95fr 1fr;
  gap: 32px;
}

@media (max-width: 900px) {
  .tfwall-process-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px 18px;
  }
}

@media (max-width: 640px) {
  .tfwall-case-grid,
  .tfwall-standing-grid,
  .tfwall-process-grid,
  .tfwall-design-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  .tfwall-design-layout .service-detail-copy h2 {
    margin-bottom: 20px;
  }
}

.tf-product-nav {
  display: grid;
  grid-template-columns: .65fr 1fr 1fr 1.15fr;
  gap: 36px;
  max-width: 1440px;
  margin: auto;
  padding: 22px 7%;
  border-bottom: 1px solid var(--line);
}

.tf-product-nav > .eyebrow {
  display: block;
  align-self: center;
}

.tf-product-nav > .eyebrow small {
  font: 10px/2 var(--sans);
  color: var(--muted);
  letter-spacing: .04em;
}

.tf-product-nav > a {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  column-gap: 16px;
  padding: 6px 0 10px;
  border-bottom: 1px solid #aaa296;
}

.tf-product-nav strong {
  font: 18px/1.7 var(--serif);
}

.tf-product-nav a small {
  grid-column: 1;
  font-size: 10px;
  color: var(--muted);
}

.tf-product-nav a > span {
  grid-column: 2;
  grid-row: 1 / 3;
  font: 22px Arial, sans-serif;
}

.tf-product-nav a:hover strong {
  color: var(--accent);
}

.tf-floor-section {
  border-top: 1px solid var(--line);
}

.tf-floor-intro .service-subtitle {
  margin-top: 16px;
}

.tf-floor-finish {
  margin-top: 52px;
}

.tf-floor-finish > h3,
.tf-floor-consult h3 {
  font: 25px/1.8 var(--serif);
}

.tf-floor-finish > p,
.tf-floor-consult p {
  margin-top: 12px;
  margin-bottom: 25px;
  max-width: 750px;
  color: var(--muted);
  font-size: 12px;
}

.tf-floor-gallery {
  gap: 32px;
}

.tf-floor-terracotta {
  grid-template-columns: 2.25fr 1fr;
}

.tf-floor-blue {
  grid-template-columns: 1.76fr 1fr;
}

.tf-floor-consult {
  margin-top: 46px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}

.tf-furniture-intro .service-subtitle {
  margin-top: 16px;
}

.tf-furniture-colors {
  margin-top: 45px;
}

.tf-furniture-colors h3 {
  font: 25px/1.8 var(--serif);
}

.tf-furniture-colors p {
  margin-top: 12px;
  color: var(--muted);
  font-size: 12px;
}

.tf-furniture-gallery {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 36px 32px;
  margin-top: 28px;
}

@media (min-width: 641px) and (max-width: 900px) {
  .tf-product-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px 24px;
  }

  .tf-product-nav > .eyebrow {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .tf-product-nav {
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
    padding: 18px 7% 22px;
  }

  .tf-product-nav > .eyebrow {
    grid-column: 1 / -1;
    display: flex;
    align-items: baseline;
    gap: 10px;
  }

  .tf-product-nav > .eyebrow br {
    display: none;
  }

  .tf-product-nav strong {
    font-size: 17px;
  }

  .tf-product-nav > a {
    grid-template-columns: 1fr auto 18px;
    column-gap: 12px;
  }

  .tf-product-nav a small {
    grid-column: 2;
    grid-row: 1;
  }

  .tf-product-nav a > span {
    grid-column: 3;
    grid-row: 1;
  }

  .tf-floor-gallery {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .tf-furniture-gallery {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .tf-floor-finish > h3,
  .tf-floor-consult h3,
  .tf-furniture-colors h3,
  .tf-floor-video h3,
  .metal-video-block h3 {
    font-size: 21px;
  }

  .tf-floor-finish {
    margin-top: 38px;
  }
}

/* Clear, understated action links that preserve the editorial layout. */
.instagram-link {
  align-items: center;
  gap: 12px;
  min-height: 44px;
}

.instagram-icon {
  display: block;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  opacity: 1;
}

.instagram-link > span {
  margin-left: 9px;
}

.instagram-link:hover .instagram-icon {
  opacity: .9;
}

.text-link,
.finish-link-more {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  width: fit-content;
  max-width: 100%;
  min-height: 44px;
  padding: 10px 0 8px;
  border-bottom: 1px solid #9d8a68;
  color: #3b3c32;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .025em;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: border-color .2s, color .2s;
}

.text-link:hover,
.finish-link-card:hover .finish-link-more,
.finish-link-card:focus-visible .finish-link-more {
  gap: 28px;
  border-color: #5f7056;
  color: #536448;
}

.text-link > span,
.finish-link-more > span,
.tf-product-nav a > span {
  flex: 0 0 22px;
  width: 22px;
  color: #806d4d;
  font: 22px/1 Arial, sans-serif;
  text-align: center;
}

.text-link:focus-visible,
.finish-link-card:focus-visible,
.tf-product-nav > a:focus-visible {
  outline: 2px solid #806d4d;
  outline-offset: 4px;
}

.hero .text-link {
  font-size: 14px;
}

.venetian-hero-links {
  margin-top: 24px;
  row-gap: 4px;
}

.venetian-hero-links > .text-link,
.venetian-hero-links > .text-link:hover {
  margin-top: 0;
  gap: 16px;
}

.tf-product-nav > a {
  grid-template-columns: minmax(0, 1fr) 22px;
  column-gap: 16px;
  min-height: 48px;
  border-bottom-color: #9d8a68;
  color: #3b3c32;
  transition: border-color .2s, color .2s;
}

.tf-product-nav > a:hover {
  border-bottom-color: #5f7056;
  color: #536448;
}

.tf-product-nav > a:hover strong {
  color: inherit;
}

.inline-reference {
  color: #6c604b;
  font-weight: 500;
  text-decoration-thickness: 1px;
}

@media (max-width: 900px) {
  .tf-product-nav strong {
    font-size: 16px;
  }
}

@media (max-width: 640px) {
  .text-link,
  .finish-link-more {
    gap: 24px;
    font-size: 13px;
  }

  .text-link:hover,
  .finish-link-card:hover .finish-link-more,
  .finish-link-card:focus-visible .finish-link-more {
    gap: 24px;
  }

  .venetian-hero-links {
    margin-top: 20px;
  }

  .tf-product-nav > a {
    grid-template-columns: minmax(0, 1fr) auto 22px;
    column-gap: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .text-link,
  .finish-link-more,
  .tf-product-nav > a {
    transition: none;
  }
}
