@charset "UTF-8";
:root{--ink:#14212d;--paper:#f4f3ef;--gold:#cba574;--muted:#6b767d;--header:96px;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header)}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}body.locked,body.menu-open{overflow:hidden}button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:6px}::selection{background:var(--gold);color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:12px;left:12px;z-index:200;background:#fff;padding:12px;transform:translateY(-200%)}.skip:focus{transform:none}.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:100;pointer-events:none}.progress i{display:block;height:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}.wrap{width:min(1280px,88%);margin:auto}.eyebrow{font-family:Arial,sans-serif;font-size:.75rem;line-height:1.7;letter-spacing:.22em;font-weight:600}
header{height:var(--header);position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 4.4%;color:#fff;border-bottom:1px solid #ffffff30;transition:background .35s,height .35s}header.scrolled{height:80px;background:#14212df0;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:14px;font-size:1.5rem;font-weight:800;letter-spacing:.15em;white-space:nowrap;line-height:1.2}.brand small{display:block;font-family:Arial,sans-serif;font-size:.57rem;font-weight:500;letter-spacing:.24em;margin-top:7px}.brand>i{display:block;width:28px;height:34px;background:linear-gradient(var(--gold),var(--gold)) 0 0/100% 7px no-repeat,linear-gradient(var(--gold),var(--gold)) center 7px/7px 27px no-repeat}.desktop-nav{display:flex;align-items:center;gap:27px;font-size:.82rem;font-weight:700}.desktop-nav>a{position:relative;padding:12px 0}.desktop-nav>a:after{content:"";position:absolute;bottom:5px;left:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.desktop-nav>a:hover:after{transform:scaleX(1)}.desktop-nav .nav-contact{padding:13px 18px;border:1px solid #ffffff75;margin-left:5px}.desktop-nav .nav-contact:after{display:none}.desktop-nav .nav-contact:hover{background:#fff;color:var(--ink)}.menu{display:none;background:none;color:white;padding:10px}.mobile-nav[hidden]{display:none}.mobile-nav{position:fixed;inset:0;z-index:45;background:var(--ink);padding:130px 8% 70px;color:white;display:flex;flex-direction:column;gap:28px;justify-content:center}.mobile-nav a{font-size:1.5rem;letter-spacing:.1em}.mobile-nav small{color:var(--gold);font-family:Arial,sans-serif;letter-spacing:.2em;font-size:.75rem;margin-top:20px}
.hero{height:145svh;background:var(--ink);color:white}.hero-stage{position:sticky;top:0;height:100svh;min-height:650px;overflow:hidden}.hero-visual,.shade{position:absolute;inset:0}.hero-visual{transform:scale(var(--hero-zoom,1));will-change:transform}.hero-visual>img{animation:heroDrift 22s ease-in-out infinite alternate;object-position:60% 50%;will-change:transform}.shade{background:linear-gradient(90deg,#091521ce 0%,#09152165 50%,#09152110 100%),linear-gradient(0deg,#09152177,transparent 35%)}.hero-copy{position:absolute;left:7%;top:31%;right:5%;transform:translateY(var(--hero-y,0px));opacity:var(--hero-opacity,1)}.hero-copy>.eyebrow{color:#e0bd90}.hero h1{font-size:clamp(3.1rem,5.4vw,6.1rem);line-height:1.42;letter-spacing:.11em;margin-top:27px;font-weight:700}.hero h1>span{display:block;overflow:hidden}.hero h1 b{display:block;animation:lineEntrance 1.5s var(--ease) both;animation-delay:.12s}.hero h1>span:nth-child(2) b{animation-delay:.3s}.hero-description{font-size:1.04rem;line-height:1.95;letter-spacing:.12em;margin-top:27px}.entrance{animation:softEntrance 1.6s var(--ease) both;animation-delay:.55s}.hero-copy .text-link{margin-top:30px;animation-delay:.75s}.text-link{display:inline-flex;align-items:center;gap:25px;font-size:.875rem;letter-spacing:.08em;padding:10px 0}.text-link i{width:58px;height:1px;background:var(--gold);transition:width .4s}.text-link:hover i{width:88px}.hero-bottom{position:absolute;bottom:33px;left:4.4%;right:4.4%;display:flex;align-items:end;justify-content:space-between;gap:25px;font-family:Arial,sans-serif}.concept{font-size:.65rem;letter-spacing:.16em}.concept small{display:block;font-family:"Yu Gothic",Meiryo,sans-serif;font-size:.72rem;letter-spacing:.06em;margin-top:8px;color:#dce0e2}.scroll-hint{display:flex;align-items:center;gap:20px;font-size:.62rem;letter-spacing:.2em}.scroll-hint i{display:block;width:1px;height:58px;background:#ffffff40;overflow:hidden;position:relative}.scroll-hint i:after{content:"";display:block;width:1px;height:24px;background:white;animation:scrollMark 2s ease-in-out infinite}.hero-index{font-size:.7rem;letter-spacing:.15em}
.section-top{display:flex;align-items:center;justify-content:space-between;gap:25px}.section-top>.eyebrow{color:#977043}.section-number{font-family:Arial,sans-serif;font-size:.66rem;letter-spacing:.15em;color:var(--muted)}.intro{padding:110px 0 0;overflow:hidden}.intro-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:8%;align-items:center;padding-top:80px}.intro-copy h2{font-size:clamp(1.9rem,2.9vw,3.3rem);line-height:1.65;letter-spacing:.08em;font-weight:600}.intro-copy h2 em{color:#788187;font-size:.83em;font-style:normal}.intro-rule{display:block;height:1px;width:65px;background:var(--gold);margin:35px 0}.intro-copy p{font-size:.96rem;line-height:2.35;letter-spacing:.035em;margin-top:23px}.intro-photo{align-self:start;margin-top:30px}.photo-window{height:510px;overflow:hidden}.photo-window img{height:115%;position:relative;top:-7.5%;object-position:59% center;will-change:transform}.intro-photo figcaption{display:flex;justify-content:space-between;gap:10px;font-family:Arial,sans-serif;font-size:.61rem;letter-spacing:.12em;padding-top:17px;color:#717a80}.intro-photo figcaption span:last-child{font-size:.7rem;letter-spacing:0}.ribbon{margin-top:100px;height:160px;display:flex;align-items:center;white-space:nowrap;color:#14212d0e;font-family:Arial,sans-serif;font-size:clamp(5rem,10.5vw,10rem);font-weight:700;letter-spacing:-.045em;line-height:1}.ribbon span{will-change:transform}
.craft-story{height:340svh;position:relative;color:white;background:var(--ink)}.craft-stage{position:sticky;top:0;height:100svh;min-height:600px;overflow:hidden}.story-images,.story-shade{position:absolute;inset:0}.story-images img{position:absolute;inset:0;opacity:0;transform:scale(1.12);transition:opacity 1s ease,transform 6s ease;object-position:center;will-change:transform,opacity}.story-images img.active{opacity:1;transform:scale(1.04)}.story-shade{background:linear-gradient(90deg,#071521d9,#0c1c2c70 62%,#10223514),linear-gradient(0deg,#0d182b66,transparent 45%)}.story-top{position:absolute;top:130px;left:6%;right:6%;display:flex;justify-content:space-between;gap:20px;color:#e1bd91}.story-top>span:last-child{color:#e0e3e3;font-size:.7rem;letter-spacing:.04em}.story-copy{position:absolute;left:8%;right:6%;top:35%;height:320px}.story-panel{position:absolute;inset:0;opacity:0;transform:translateY(30px);transition:opacity .75s,transform .85s var(--ease);pointer-events:none;visibility:hidden}.story-panel.active{opacity:1;transform:translateY(0);pointer-events:auto;visibility:visible}.story-panel>span{color:#e1bd91;font-size:.8rem;letter-spacing:.1em}.story-panel h3{font-size:clamp(2.4rem,4.4vw,5rem);font-weight:600;line-height:1.5;letter-spacing:.07em;margin:23px 0}.story-panel p{font-size:.97rem;line-height:2.05;letter-spacing:.05em}.story-bottom{position:absolute;left:6%;right:6%;bottom:48px;display:flex;align-items:center;justify-content:space-between;gap:25px}.scene-nav{display:flex;gap:20px}.scene-nav button{background:none;color:#d5dadf;padding:10px 0;display:flex;gap:12px;align-items:center;font-family:Arial,sans-serif;font-size:.74rem;letter-spacing:.07em}.scene-nav i{display:block;height:1px;width:48px;background:#ffffff42;position:relative}.scene-nav i:after{content:"";position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .6s}.scene-nav .active{color:var(--gold)}.scene-nav .active i:after{transform:scaleX(1)}.story-bottom>span{font-size:.75rem;letter-spacing:.07em;color:#d0d7dd}
.section{padding:110px 0 120px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin:60px 0}.section-heading h2{font-size:clamp(2rem,3.1vw,3.5rem);line-height:1.6;font-weight:600;letter-spacing:.08em}.section-heading p{font-size:.93rem;line-height:2.15;color:#52616b;letter-spacing:.03em}.section-heading p small{font-size:.75rem;color:#69757b}.service-list{border-top:1px solid #aeb4b5}.service-item{border-bottom:1px solid #bfc4c3}.service-item summary{list-style:none;display:flex;align-items:center;gap:40px;padding:35px 12px;cursor:pointer}.service-item summary::-webkit-details-marker{display:none}.service-no{color:#9b754b;font-family:Arial,sans-serif;font-size:.85rem}.service-name{font-size:1.6rem;letter-spacing:.08em;font-weight:600}.service-name small{font-family:Arial,sans-serif;font-size:.64rem;font-weight:500;letter-spacing:.16em;display:block;margin-top:12px;color:#7b858b}.service-item summary>i{margin-left:auto;width:27px;height:27px;position:relative}.service-item summary>i:before,.service-item summary>i:after{content:"";position:absolute;left:4px;right:4px;top:13px;height:1px;background:var(--ink);transition:transform .3s}.service-item summary>i:after{transform:rotate(90deg)}.service-item[open] summary>i:after{transform:rotate(0)}.service-description{padding:0 70px 35px;display:flex;justify-content:space-between;align-items:start;gap:60px;animation:softEntrance .4s ease both}.service-description p{max-width:640px;font-size:.94rem;line-height:2}.service-description>span{font-size:.75rem;line-height:2;color:#707b80;min-width:170px}.works{background:#e5e7e4;padding-bottom:130px}.works-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:6%;align-items:start}.work{background:none;text-align:left;padding:0;width:100%}.work-small{margin-top:170px}.work-image{display:block;position:relative;overflow:hidden;height:480px}.work-small .work-image{height:330px}.work img{height:112%;position:relative;top:-6%;transition:filter .5s;will-change:transform}.work:hover img{filter:brightness(.8)}.work-view{position:absolute;left:50%;top:50%;transform:translate(-50%,-30%);font-size:.84rem;letter-spacing:.08em;white-space:nowrap;border:1px solid #ffffffa0;background:#14212d60;color:white;padding:18px 22px;opacity:0;transition:opacity .4s,transform .4s var(--ease)}.work:hover .work-view,.work:focus-visible .work-view{opacity:1;transform:translate(-50%,-50%)}.work-caption{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:23px}.work-caption small{display:block;color:#7a8388;font-family:Arial,sans-serif;font-size:.63rem;letter-spacing:.14em;margin-bottom:12px}.work-caption strong{font-weight:500;font-size:1.2rem;letter-spacing:.05em}.work-caption>span:last-child{color:#879197;font-family:Arial,sans-serif;font-size:.75rem}.process-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.process-list li{border-top:1px solid #273844;padding:24px 0 0}.process-list li>span{font-family:Arial,sans-serif;font-size:.78rem;letter-spacing:.14em;color:#997348}.process-list h3{font-size:1.13rem;line-height:1.7;margin-top:32px;font-weight:600;letter-spacing:.04em}.process-list p{font-size:.9rem;line-height:2;margin-top:15px;color:#56636b}
.contact{position:relative;min-height:650px;color:white;overflow:hidden;display:flex;align-items:center}.contact-image,.contact-shade{position:absolute;inset:0}.contact-image img{height:120%;top:-10%;position:relative;will-change:transform}.contact-shade{background:linear-gradient(90deg,#14232eda,#14232e79),linear-gradient(0deg,#14232e55,#14232e33)}.contact-content{position:relative;padding:100px 0}.contact-content>.eyebrow{color:#e1bd91}.contact h2{font-size:clamp(2rem,3.9vw,4.3rem);font-weight:500;line-height:1.6;letter-spacing:.08em;margin-top:27px}.contact p{font-size:.95rem;line-height:2;margin-top:25px}.contact-button{background:var(--gold);color:var(--ink);border:1px solid var(--gold);font-size:.94rem;font-weight:600;letter-spacing:.06em;padding:21px 37px;margin-top:40px;transition:background .3s}.contact-button:hover{background:white;border-color:white}footer{background:#14202b;color:#dce0e3;padding:75px 0 30px}.footer-main{display:flex;align-items:start;justify-content:space-between;gap:40px;margin-bottom:70px}.footer-links{display:grid;grid-template-columns:repeat(2,auto);gap:20px 40px;font-size:.78rem}.footer-links a:hover{color:var(--gold)}.back-top{font-size:.73rem;display:flex;gap:18px;align-items:center}.back-top span{font-size:1.3rem;color:var(--gold)}.footer-bottom{border-top:1px solid #ffffff22;padding-top:25px;display:flex;justify-content:space-between;align-items:start;gap:35px;font-size:.66rem;line-height:1.9;color:#9cabb4}.footer-bottom p{max-width:690px}.footer-bottom>span{font-family:Arial,sans-serif;white-space:nowrap;font-size:.6rem;letter-spacing:.1em}.motion-control{position:fixed;bottom:18px;right:20px;z-index:40;display:flex;gap:10px;align-items:center;color:white;background:#14212de8;border:1px solid #ffffff60;padding:9px 14px;backdrop-filter:blur(8px);font-size:.7rem;line-height:1.4;box-shadow:0 3px 15px #00000015}.motion-control>span:first-child{font-family:Arial,sans-serif;font-size:.94rem}.lightbox,.contact-dialog{border:0;padding:0;max-height:90svh}.lightbox{width:min(1100px,94vw);background:#111c27;padding:18px;color:white}.lightbox img{max-height:74svh;height:auto;object-fit:contain}.lightbox p{font-size:.85rem;padding:20px 12px 8px;letter-spacing:.04em}.lightbox::backdrop,.contact-dialog::backdrop{background:#0b162be8;backdrop-filter:blur(8px)}.dialog-close{position:absolute;top:12px;right:12px;width:44px;height:44px;background:#14212de8;color:white;font-size:1.9rem;font-weight:300;z-index:2;line-height:1}.contact-dialog{width:min(580px,90vw);padding:55px 45px;background:var(--paper);color:var(--ink)}.contact-dialog>.eyebrow{color:#977043}.contact-dialog h2{font-size:1.8rem;margin:18px 0 25px;letter-spacing:.07em}.contact-dialog p{font-size:.95rem;line-height:2;margin-top:16px}.dialog-done{margin-top:30px;padding:13px 30px;background:var(--ink);color:white;font-size:.88rem}.motion-ready .reveal{opacity:0;transform:translateY(36px);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}.motion-ready .reveal-image{opacity:0;transform:translateY(28px);clip-path:inset(8% 0 0 0);transition:opacity 1s var(--ease),transform 1.25s var(--ease),clip-path 1.25s var(--ease)}.motion-ready .is-visible{opacity:1;transform:none;clip-path:inset(0)}
@keyframes heroDrift{from{transform:scale(1.09) translateX(0)}to{transform:scale(1.18) translateX(-1.4%)}}@keyframes lineEntrance{from{transform:translateY(115%)}to{transform:translateY(0)}}@keyframes softEntrance{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollMark{from{transform:translateY(-25px)}to{transform:translateY(65px)}}
@media(min-width:1600px){.hero-copy,.story-copy{left:calc((100vw - 1280px)/2)}.hero-copy h1{font-size:6rem}}
@media(max-width:1100px){.desktop-nav{gap:16px;font-size:.75rem}header{padding:0 4%}.brand{font-size:1.3rem;gap:10px}.intro-grid{gap:6%}.photo-window{height:450px}.service-description{gap:35px}.work-image{height:400px}.work-small .work-image{height:290px}.footer-main{gap:30px}.footer-links{gap:20px 25px}}
@media(max-width:850px){:root{--header:80px}.desktop-nav{display:none}.menu{display:flex;align-items:center;gap:10px}.menu>span{font-family:Arial,sans-serif;font-size:.63rem;letter-spacing:.1em}.menu>i{width:23px;height:16px;position:relative}.menu>i:before,.menu>i:after{content:"";position:absolute;left:0;right:0;height:1px;background:white;transition:transform .3s,top .3s}.menu>i:before{top:3px}.menu>i:after{top:12px}.menu-open .menu>i:before{top:8px;transform:rotate(45deg)}.menu-open .menu>i:after{top:8px;transform:rotate(-45deg)}header.scrolled{height:72px}.hero h1{font-size:4rem}.intro-grid{gap:5%}.intro-copy h2{font-size:1.75rem}.intro-copy p{font-size:.9rem}.photo-window{height:460px}.section-heading{gap:25px}.section-heading p{font-size:.88rem}.work-image{height:350px}.work-small .work-image{height:250px}.work-caption strong{font-size:1rem}.process-list{grid-template-columns:1fr 1fr;gap:40px}.footer-main{flex-wrap:wrap}.footer-bottom{display:block}.footer-bottom>span{display:block;margin-top:15px}}
@media(max-width:600px){:root{--header:72px}.brand{font-size:1.17rem;gap:10px}.brand small{font-size:.5rem}.brand>i{width:22px;height:28px;background-size:100% 6px,6px 22px}header{padding:0 6%}.hero{height:120svh}.hero-stage{min-height:610px}.hero-visual>img{object-position:59% center}.shade{background:linear-gradient(90deg,#091521ce,#09152160 70%),linear-gradient(0deg,#09152177,transparent)}.hero-copy{left:7%;top:32%;right:5%}.hero-copy>.eyebrow{font-size:.61rem;letter-spacing:.17em}.hero h1{font-size:clamp(2.5rem,9.3vw,3.6rem);letter-spacing:.055em;margin-top:25px;line-height:1.5}.hero-description{font-size:.91rem;margin-top:23px}.hero-copy .text-link{font-size:.8rem;margin-top:25px}.hero-bottom{left:6%;right:6%;bottom:25px}.concept{font-size:.56rem;letter-spacing:.09em}.concept small{font-size:.65rem}.scroll-hint{gap:12px;font-size:.52rem;letter-spacing:.1em}.scroll-hint i{height:44px}.hero-index{display:none}.intro{padding-top:70px}.section-top>.eyebrow{font-size:.66rem}.section-number{font-size:.58rem}.intro-grid{display:flex;flex-direction:column;align-items:stretch;padding-top:45px;gap:30px}.intro-copy h2{font-size:1.85rem;line-height:1.65;letter-spacing:.035em}.intro-copy p{font-size:.94rem;line-height:2.1}.intro-rule{margin:25px 0}.intro-photo{margin-top:15px}.photo-window{height:390px}.intro-photo figcaption{font-size:.52rem;letter-spacing:.08em}.intro-photo figcaption span:last-child{font-size:.63rem}.ribbon{margin-top:50px;height:100px;font-size:4.6rem}.craft-story{height:290svh}.craft-stage{min-height:610px}.story-top{top:110px;left:7%;right:7%;align-items:start}.story-top>.eyebrow{font-size:.62rem;letter-spacing:.14em}.story-top>span:last-child{font-size:.6rem;max-width:100px;text-align:right;line-height:1.8}.story-shade{background:linear-gradient(90deg,#091727ce,#09172762),linear-gradient(0deg,#0b172a66,transparent)}.story-images img:first-child{object-position:62% center}.story-images img:nth-child(2),.story-images img:nth-child(3){object-position:55% center}.story-copy{left:7%;top:35%;height:300px}.story-panel>span{font-size:.74rem}.story-panel h3{font-size:clamp(2rem,7.2vw,2.8rem);letter-spacing:.035em;margin:20px 0}.story-panel p{font-size:.87rem;line-height:2.1;letter-spacing:.01em}.story-bottom{left:7%;right:7%;bottom:34px;display:block}.scene-nav{gap:18px}.scene-nav i{width:35px}.story-bottom>span{display:block;font-size:.66rem;margin-top:15px}.section{padding:70px 0 80px}.section-heading{display:block;margin:40px 0}.section-heading h2{font-size:1.9rem;letter-spacing:.045em}.section-heading p{font-size:.9rem;margin-top:24px}.service-item summary{gap:24px;padding:28px 3px}.service-name{font-size:1.25rem;letter-spacing:.05em}.service-name small{font-size:.57rem;letter-spacing:.12em}.service-description{padding:0 0 30px 40px;display:block}.service-description p{font-size:.94rem;line-height:2}.service-description>span{display:block;margin-top:20px;font-size:.7rem}.works-grid{grid-template-columns:1fr;gap:45px}.work-small{margin-top:0}.work-image,.work-small .work-image{height:300px}.work-caption strong{font-size:1.05rem}.work-view{top:auto;bottom:18px;left:auto;right:18px;transform:none;opacity:1;font-size:.69rem;padding:10px 13px}.work:hover .work-view,.work:focus-visible .work-view{transform:none}.process-list{gap:35px 22px}.process-list h3{font-size:1rem;line-height:1.8;margin-top:24px}.process-list p{font-size:.9rem}.contact{min-height:610px}.contact-content{padding:80px 0}.contact-content>.eyebrow{font-size:.61rem;letter-spacing:.16em}.contact h2{font-size:1.9rem;letter-spacing:.045em}.contact p{font-size:.9rem}.contact-button{padding:19px 27px;font-size:.9rem}footer{padding:55px 0 80px}.footer-main{display:grid;grid-template-columns:1fr;gap:35px;margin-bottom:40px}.footer-links{justify-content:start;font-size:.8rem;gap:18px 35px}.back-top{font-size:.75rem}.footer-bottom{font-size:.7rem}.motion-control{right:12px;bottom:12px;padding:8px 11px;font-size:.7rem}.contact-dialog{padding:50px 27px 35px}.contact-dialog p{font-size:.94rem}.contact-dialog h2{font-size:1.5rem}.lightbox{padding:10px}.lightbox p{font-size:.8rem;padding:17px 3px 5px}.lightbox img{max-height:78svh}.dialog-close{right:10px;top:10px}}
@media(max-width:360px){.hero h1{font-size:2.3rem}.story-panel h3{font-size:1.9rem}.concept small{max-width:160px}.hero-bottom{gap:15px}.scroll-hint{font-size:0}.photo-window{height:320px}.process-list{grid-template-columns:1fr}.intro-copy h2{font-size:1.7rem}.section-heading h2{font-size:1.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
html.motion-off{scroll-behavior:auto}.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important}.motion-off .hero-visual>img{transform:scale(1.08)!important}.motion-off .hero-visual,.motion-off [data-parallax],.motion-off .ribbon span{transform:none!important}.motion-off .hero-copy{opacity:1!important;transform:none!important}.motion-off .reveal,.motion-off .reveal-image{opacity:1!important;transform:none!important;clip-path:none!important}.motion-off .craft-story{height:auto}.motion-off .craft-stage{position:relative;height:auto;min-height:0;padding:130px 7% 70px}.motion-off .story-top{position:relative;inset:auto;margin-bottom:50px}.motion-off .story-copy{position:relative;inset:auto;height:auto}.motion-off .story-panel{position:relative;inset:auto;opacity:1;visibility:visible;transform:none;margin:55px 0}.motion-off .story-images img{display:none}.motion-off .story-images img:first-child{display:block;opacity:.5;transform:none}.motion-off .story-bottom{display:none}.motion-off .hero{height:100svh;min-height:650px}

/* Body copy remains readable across screen sizes. */
.intro-copy p,.service-description p,.process-list p,.story-panel p,.contact p,.section-heading p,.contact-dialog p{font-size:1rem}.desktop-nav{font-size:.875rem}.footer-links{font-size:.875rem}.service-description>span{font-size:.875rem}.motion-control{font-size:.75rem}.text-link{font-size:.875rem}
/* Homepage slideshow and links into the complete site. */
.hero-slide{position:absolute;inset:0;transform:translate3d(8%,0,0) scale(1.035);opacity:0;visibility:hidden;transition:opacity 1.3s ease,transform 1.7s var(--ease),visibility 1.3s;overflow:hidden;will-change:transform,opacity}.hero-slide.active{opacity:1;visibility:visible;transform:translate3d(0,0,0) scale(1)}.hero-slide img{animation:heroDrift 22s ease-in-out infinite alternate;object-position:60% 50%;will-change:transform}.hero-slide:nth-child(2) img{object-position:65% center}.hero-slider-controls{display:flex;align-items:center;gap:18px}.hero-prev,.hero-next{background:none;color:white;font-size:.75rem;padding:10px 4px}.hero-dots{display:flex;gap:9px}.hero-dots button{background:none;width:26px;height:32px;padding:8px;display:grid;place-items:center}.hero-dots i{display:block;width:7px;height:7px;border:1px solid #ffffff90;border-radius:50%;transition:background .3s,transform .3s}.hero-dots .active i{background:var(--gold);border-color:var(--gold);transform:scale(1.2)}.section-more{margin-top:45px}.outline-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid #64727a;padding:17px 28px;font-size:.875rem;letter-spacing:.04em;transition:background .3s,color .3s}.outline-link:hover{background:var(--ink);color:#fff}.detail-link{display:inline-block;border-bottom:1px solid var(--gold);font-size:.875rem;padding:10px 0 6px;white-space:nowrap;line-height:1.5}.service-description{flex-wrap:wrap}.service-description .detail-link{margin-left:auto}.contact-button{display:inline-block}.motion-off .hero-slide{transition:none;transform:none}.motion-off .hero-slide img{animation:none;transform:scale(1.05)}
/* Detail pages share the same photography, spacing and navigation. */
.inner header{background:#14212df5;backdrop-filter:blur(14px)}.page-hero{position:relative;min-height:550px;display:flex;align-items:end;color:#fff;padding:165px 0 65px;overflow:hidden}.page-hero-photo,.page-hero-shade{position:absolute;inset:0}.page-hero-photo img{animation:heroDrift 22s ease-in-out infinite alternate;object-position:center 48%}.page-hero-shade{background:linear-gradient(90deg,#0c192bd4,#0c192b65 80%),linear-gradient(0deg,#0c192b99,transparent)}.page-hero-copy{position:relative}.page-hero-copy .eyebrow{color:#e4bc89;font-size:.8rem}.page-hero h1{font-size:clamp(2rem,4vw,4.3rem);line-height:1.55;letter-spacing:.07em;font-weight:600;margin:18px 0 20px}.page-hero-copy>p:last-of-type{font-size:1rem;line-height:2;max-width:700px}.page-hero-copy>small{display:block;font-size:.65rem;letter-spacing:.1em;margin-top:30px;color:#d3d9dd}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:13px;color:#6d797e;font-size:.8rem;padding:26px 0;border-bottom:1px solid #d8dcda}.breadcrumbs a:hover{color:#977043}.page-section{padding:70px 0}.page-heading{margin-bottom:35px}.page-heading .eyebrow{color:#977043}.page-heading h2,.two-columns h2{font-size:clamp(1.6rem,2.6vw,2.8rem);font-weight:600;line-height:1.7;letter-spacing:.06em;margin-top:20px}.page-prose{max-width:940px}.page-prose p{font-size:1rem;line-height:2.3;letter-spacing:.015em;margin:20px 0}.page-prose .outline-link{margin-top:20px}.detail-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.detail-card{border-top:1px solid #819098;padding:28px 0}.detail-card>span{font-size:.85rem;color:#9b754b;font-family:Arial,sans-serif}.detail-card h3{font-size:1.25rem;line-height:1.8;margin:30px 0 16px;font-weight:600}.detail-card p{font-size:1rem;line-height:2.1;color:#56636b}.page-band{padding:75px 0;background:#e5e7e4}.two-columns{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;align-items:center}.two-columns .eyebrow{color:#977043}.check-list{list-style:none;margin:0;padding:0}.check-list li{padding:20px 0 20px 25px;position:relative;border-bottom:1px solid #bfc7c7;font-size:1rem;line-height:1.9}.check-list li:before{content:"";position:absolute;left:0;top:31px;width:7px;height:7px;background:var(--gold)}.detail-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin:40px 0;padding:0}.detail-steps li{border-top:1px solid #687b87;padding-top:20px}.detail-steps li>span{font-size:.8rem;color:#997348}.detail-steps h3{font-size:1rem;line-height:1.9;margin-top:20px;font-weight:500}.minor-note{font-size:.875rem!important;color:#6b767d;line-height:2;margin:25px 0}.faq details{border-bottom:1px solid #c3cccd;padding:24px 0}.faq details:first-child{border-top:1px solid #c3cccd}.faq summary{cursor:pointer;font-size:1.1rem;line-height:1.8;font-weight:600}.faq p{padding-left:20px;font-size:1rem;line-height:2.2}.related-links{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:80px}.related-links a{display:inline-block;padding:14px 22px;border:1px solid #87959d;font-size:.875rem}.related-links a:hover{background:var(--ink);color:white}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.service-tile{display:block}.service-tile>div{height:260px;overflow:hidden}.service-tile img{transition:transform 1s var(--ease)}.service-tile:hover img{transform:scale(1.07)}.service-tile>small{display:block;font-family:Arial,sans-serif;color:#74838a;font-size:.67rem;letter-spacing:.12em;margin-top:25px}.service-tile h3{font-size:1.4rem;line-height:1.8;letter-spacing:.03em;font-weight:600;margin-top:10px}.service-tile p{font-size:1rem;line-height:2.1;margin:16px 0 10px;color:#52616b}.page-cta{background:var(--ink);color:white;padding:65px 0}.page-cta>.wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.page-cta .eyebrow{color:var(--gold)}.page-cta h2{font-size:1.7rem;line-height:1.8;font-weight:500;margin-top:12px}.page-cta .contact-button{margin:0}.page-photo{margin-top:10px;margin-bottom:30px}.page-photo img{max-height:600px;height:auto;object-fit:cover}.page-photo figcaption{text-align:right;color:#6c797f;font-size:.75rem;padding-top:15px}.company-table{margin:30px 0 0}.company-table>div{display:grid;grid-template-columns:200px 1fr;gap:30px;border-bottom:1px solid #ccd1cf;padding:23px 0;font-size:1rem;line-height:1.9}.company-table dt{font-weight:600}.company-table dd{margin:0;color:#53616a}.detail-work-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:50px}.detail-work-grid .service-tile>div{height:390px}.sample-callout{border-left:3px solid var(--gold);padding:20px 24px;background:#e9e9e2;color:#5c696e;font-size:.875rem;line-height:2;margin:15px 0 40px}.work-detail-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:55px;align-items:start}.zoom-photo{display:block;position:relative;width:100%;padding:0;background:var(--ink);color:white}.zoom-photo>img{height:auto}.zoom-photo>span{position:absolute;bottom:20px;right:20px;background:#14212daa;border:1px solid #ffffff65;padding:12px 18px;font-size:.8rem}.project-data{margin:0}.project-data>div{padding:20px 0;border-bottom:1px solid #b9c3c6;font-size:.9rem;line-height:1.9}.project-data dt{color:#6c787f}.project-data dd{margin:8px 0 0;font-size:1rem}.flow-timeline{list-style:none;margin:0;padding:0}.flow-timeline>li{display:grid;grid-template-columns:100px 1fr;gap:40px;padding:50px 0;border-bottom:1px solid #bfc8ca}.flow-timeline>li:first-child{padding-top:0}.flow-timeline>li>span{font-family:Arial,sans-serif;font-size:2.5rem;color:#bb9461;font-weight:500}.flow-timeline small{color:#74808a;font-size:.875rem}.flow-timeline h2{font-size:1.5rem;line-height:1.9;font-weight:600;margin:15px 0}.flow-timeline p{font-size:1rem;line-height:2.2;max-width:840px;color:#53646e}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact-options article{border-top:1px solid #8e9ba4;padding-top:25px}.contact-options .eyebrow{color:#977043}.contact-options h2{font-size:1.5rem;line-height:1.9;font-weight:500;margin:20px 0}.contact-options p{font-size:1rem;line-height:2.2;color:#60717c}.inner .footer-links{font-size:.875rem}.inner .back-top{display:none}
@media(max-width:850px){.service-grid{grid-template-columns:1fr 1fr}.service-grid>.service-tile:last-child{grid-column:span 2}.service-grid>.service-tile:last-child>div{height:320px}.detail-cards{gap:20px}.detail-card h3{font-size:1.1rem}.work-detail-layout{gap:30px}.flow-timeline>li{grid-template-columns:70px 1fr;gap:25px}}
@media(max-width:600px){.hero-slider-controls{gap:10px;position:absolute;right:0;bottom:65px}.hero-prev,.hero-next{font-size:.7rem}.hero-dots{gap:3px}.hero-slide img{object-position:60% center}.hero-slide:nth-child(2) img{object-position:57% center}.hero-slide:nth-child(3) img{object-position:58% center}.section-more{margin-top:30px}.outline-link{font-size:.875rem;padding:15px 21px}.service-description .detail-link{margin-top:20px}.page-hero{min-height:470px;padding:145px 0 55px}.page-hero h1{font-size:2rem;letter-spacing:.03em}.page-hero-copy>p:last-of-type{font-size:1rem;line-height:2}.page-hero-copy>.eyebrow{font-size:.69rem}.page-hero-copy>small{font-size:.6rem}.breadcrumbs{font-size:.75rem;padding:20px 0;gap:10px}.page-section{padding:45px 0}.page-heading h2,.two-columns h2{font-size:1.6rem;letter-spacing:.03em}.detail-cards,.two-columns,.service-grid,.detail-work-grid,.work-detail-layout,.contact-options{grid-template-columns:1fr;gap:30px}.detail-card{padding:25px 0 10px}.detail-card h3{font-size:1.2rem;margin-top:22px}.page-band{padding:50px 0}.detail-steps{grid-template-columns:1fr 1fr;gap:30px 20px}.detail-steps h3{margin-top:17px}.faq summary{font-size:1rem}.faq p{padding-left:0}.related-links{margin-bottom:50px}.service-tile>div,.service-grid>.service-tile:last-child>div,.detail-work-grid .service-tile>div{height:270px}.service-grid>.service-tile:last-child{grid-column:auto}.service-tile h3{font-size:1.3rem}.page-cta{padding:50px 0}.page-cta>.wrap{flex-direction:column;align-items:start}.page-cta h2{font-size:1.5rem}.company-table>div{grid-template-columns:105px 1fr;gap:20px;font-size:.95rem;padding:20px 0}.sample-callout{padding:17px 18px;font-size:.85rem}.zoom-photo>span{font-size:.75rem;padding:10px 13px;bottom:12px;right:12px}.flow-timeline>li{grid-template-columns:40px 1fr;gap:20px;padding:35px 0}.flow-timeline>li>span{font-size:1.7rem}.flow-timeline h2{font-size:1.25rem}.contact-options h2{font-size:1.3rem}}

/* General service grid */
@media(min-width:601px) and (max-width:850px){.service-grid-even>.service-tile:last-child{grid-column:auto}.service-grid-even>.service-tile:last-child>div{height:270px}}
