:root{--navy:#14263b;--navy2:#0c1a2b;--cream:#f8f5ee;--paper:#f0ebdf;--ink:#18293c;--mute:#69717a;--gold:#c5a475;--line:#dcd7cd;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button{font:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #b58c4f;outline-offset:4px}.shell{width:min(1160px,calc(100% - 76px));margin:0 auto}.section{padding:118px 0}.skip-link{position:absolute;left:20px;top:-60px;background:#fff;color:#000;padding:12px;z-index:15}.skip-link:focus{top:10px}.site-header{position:relative;z-index:10;background:var(--cream);border-bottom:1px solid #e6e1d8}.nav-inner{min-height:88px;display:flex;align-items:center;gap:42px}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand-mark{width:36px;height:36px;color:var(--navy);display:block}.brand-mark svg{width:100%;height:100%}.brand-name{font-size:18px;line-height:1;letter-spacing:1.1px;font-weight:500}.brand-name b{font-weight:700}.brand-name small{display:block;letter-spacing:3.45px;font-weight:600;font-size:8px;margin-top:9px}.desktop-nav{display:flex;gap:30px;align-items:center;margin-left:auto}.desktop-nav a{font-size:12px;font-weight:600;color:#4a5360;transition:color .2s}.desktop-nav a:hover,.footer-inner a:hover{color:#a47942}.nav-contact{background:var(--navy);color:white;padding:13px 19px;font-size:12px;font-weight:700;margin-left:3px;white-space:nowrap}.nav-contact span{padding-left:12px;font-size:17px;font-weight:400}.nav-contact:hover{background:#29425a}.menu-button,.mobile-nav{display:none}
.hero{position:relative;min-height:680px;background:linear-gradient(105deg,var(--navy2),#1c344e 65%,#1c3856);color:white;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;opacity:.15;background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);background-size:82px 82px;mask-image:linear-gradient(to right,transparent,black)}.hero-needle{position:absolute;width:850px;height:850px;border:1px solid rgba(196,162,112,.2);border-radius:50%;right:-520px;top:-250px}.hero-needle:after{content:'';position:absolute;width:700px;height:700px;top:75px;left:75px;border:1px dashed rgba(196,162,112,.17);border-radius:50%}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center;min-height:590px;position:relative}.eyebrow{font-size:11px;letter-spacing:2.3px;font-weight:700;color:#a07d50;display:flex;align-items:center;gap:12px}.eyebrow.light{color:#d4b994}.eyebrow-line{height:1px;width:30px;background:currentColor;flex:none}.hero-copy{padding:84px 0 30px}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(52px,5.3vw,75px);letter-spacing:-2.7px;line-height:1.19;margin:32px 0 29px}.hero h1 em,h2 em{font-weight:400;color:var(--gold)}.hero-lead{font-size:16px;line-height:1.9;max-width:500px;color:#d0d9df}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:37px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:50px;padding:14px 22px;font-size:12px;letter-spacing:.2px;font-weight:700;transition:transform .2s,background .2s;color:var(--navy)}.button:hover{transform:translateY(-2px)}.button span{font-size:18px;font-weight:400}.button-gold{background:#ddc39b}.button-gold:hover{background:#f0d4aa}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:12px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:6px}.light-link{color:#e9e6e0}.hero-signature{display:flex;gap:16px;align-items:center;margin-top:75px;font-size:10px;letter-spacing:1.5px;color:#96a6b4;line-height:1.9}.hero-signature strong{font-weight:500;color:#d2dce5;letter-spacing:1px}.signature-rule{height:38px;width:1px;background:#c9a77c}.hero-art{position:relative;min-height:425px;display:flex;align-items:center;justify-content:center}.art-arch{position:absolute;z-index:0;width:86%;height:90%;border-radius:220px 220px 5px 5px;background:radial-gradient(circle at 60% 0%,#49617d,#233b56 68%,#1b344e)}.art-outline{position:absolute;z-index:0;top:0;right:1%;width:85%;height:90%;border:1px solid rgba(213,184,138,.46);border-radius:220px 220px 0 0;transform:translate(12px,-18px)}.art-photo{width:95%;position:relative;z-index:1;box-shadow:0 23px 65px rgba(0,0,0,.21);border:10px solid #ede8dd;transform:rotate(-4deg);overflow:hidden}.art-photo img{width:100%;aspect-ratio:1.89;object-fit:cover;filter:contrast(1.05) saturate(.8)}.art-bottom{position:absolute;bottom:-2%;right:5%;display:flex;align-items:center;gap:15px;z-index:2;color:#d6bd9a;letter-spacing:3px;font-size:9px}.art-bottom svg{width:80px}.hero-bottom{position:relative;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(222,217,210,.18);padding:24px 0 26px;color:#9babb9;font-size:9px;letter-spacing:2.1px;font-weight:600}.hero-bottom a{color:#d0c5b6}.hero-bottom a span{font-size:16px;padding-left:15px}
h2{font-family:var(--serif);font-size:clamp(40px,4.2vw,59px);font-weight:400;line-height:1.28;letter-spacing:-1.5px;margin:24px 0 0}h2 em{color:#b38f60}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.intro-description{padding-top:29px}.intro-description p{font-size:16px;line-height:2;color:#56616b;max-width:470px;margin:0 0 17px}.intro-description strong{color:var(--ink)}.owner{display:flex;align-items:center;gap:14px;margin-top:28px;padding-top:26px;border-top:1px solid var(--line)}.owner-icon{width:47px;height:47px;border-radius:50%;background:#e3d9c9;color:var(--ink);display:grid;place-items:center;font-family:var(--serif);font-size:16px}.owner strong{display:block;font-size:13px;font-weight:700}.owner small{display:block;color:#8c9095;letter-spacing:2px;font-size:9px;margin-top:5px}
.services{background:#ebe6dc}.services-header{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:49px}.services-header>p{font-size:14px;color:#69727a;max-width:340px;line-height:1.9;margin:0 0 7px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{min-height:325px;background:#f9f7f2;border:1px solid #ded8cf;padding:30px 30px 28px;transition:transform .2s,border-color .2s}.service-card:hover{transform:translateY(-4px);border-color:#bd9d70}.service-num{letter-spacing:2px;font-size:10px;color:#a1865f;font-weight:700}.service-svg{display:block;width:100px;height:95px;margin:28px auto 21px;color:#a48b6d}.service-card h3{font-family:var(--serif);font-size:25px;font-weight:500;letter-spacing:-.4px;margin-bottom:12px}.service-card p{font-size:13px;line-height:1.8;color:#69717c;max-width:265px;margin-bottom:0}
.work{background:#152940;color:#fff}.work-layout{display:grid;grid-template-columns:1fr 1fr;gap:105px;align-items:center}.work-copy h2{margin:24px 0}.work-copy p{max-width:475px;line-height:2;color:#c4d0d7;font-size:15px;margin-bottom:30px}.button-outline{border:1px solid #a99579;color:#f1e4cc;min-width:207px}.button-outline:hover{background:#243c55}.work-handle{margin-top:26px;color:#9fb0bf;font-size:12px;letter-spacing:1px}.work-tile{min-height:420px;background:#d4b88e;display:flex;flex-direction:column;justify-content:space-between;color:#25364a;padding:28px 30px;position:relative;overflow:hidden;transition:transform .2s}.work-tile:hover{transform:translateY(-4px)}.work-tile:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent,transparent 21px,rgba(255,255,255,.10) 22px,transparent 23px),repeating-linear-gradient(0deg,transparent,transparent 21px,rgba(255,255,255,.08) 22px,transparent 23px);opacity:.8}.tile-top,.tile-bottom{z-index:1;position:relative}.tile-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:2px}.tile-top span{font-size:20px}.tile-bottom{display:flex;justify-content:space-between;align-items:end;gap:25px;font-size:10px;color:#4a4d4c}.tile-bottom span:first-child{font-family:var(--serif);font-size:25px;color:#26384b;line-height:1.3;max-width:185px}.spool-art{position:absolute;top:86px;left:50%;transform:translateX(-50%) rotate(-11deg);height:225px;width:185px;display:flex;justify-content:center;align-items:center;filter:drop-shadow(16px 14px 6px rgba(44,38,30,.13))}.thread-top,.thread-bottom{position:absolute;height:24px;width:148px;border-radius:50%;background:#23384b;left:19px}.thread-top{top:16px}.thread-bottom{bottom:16px}.thread-body{width:118px;height:179px;background:repeating-linear-gradient(0deg,#294358,#294358 3px,#416078 4px,#d9b27a 5px,#d9b27a 6px);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.thread-tail{position:absolute;left:150px;top:176px;border:2px solid #294358;border-left:0;border-top:0;width:90px;height:74px;border-radius:0 0 85px 0;transform:rotate(-20deg)}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-title p{color:#69717a;line-height:1.9;max-width:395px;font-size:15px;margin:26px 0}.button-dark{background:var(--navy);color:#fff}.button-dark:hover{background:#28435e}.contact-details{padding-top:13px}.contact-row{display:grid;grid-template-columns:115px 1fr;gap:25px;padding:21px 0;border-bottom:1px solid var(--line);align-items:start}.contact-row:first-child{border-top:1px solid var(--line)}.contact-label{font-size:10px;font-weight:700;letter-spacing:1.7px;color:#ac916b;padding-top:8px}.contact-row a,.contact-address{font-size:15px;line-height:1.8;font-weight:600;overflow-wrap:anywhere}.contact-row a:hover{color:#ad814a}.contact-row a span{font-weight:400;font-size:17px;margin-left:6px}.contact-address{font-weight:500}.site-footer{background:#0c1b2d;color:#bbc6ce}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:118px}.footer-inner strong{font-size:15px;letter-spacing:1.2px;color:white}.footer-inner small{display:block;font-size:9px;letter-spacing:2.6px;margin-top:7px}.footer-inner p{margin:0;font-size:11px;color:#8da0ac}.footer-inner a{font-size:11px;color:#bbc6ce}
@media(max-width:1050px){.shell{width:min(100% - 56px,1160px)}.desktop-nav{gap:17px}.hero-grid{gap:28px}.intro-grid,.contact-layout,.work-layout{gap:56px}.hero h1{font-size:56px}}
@media(max-width:780px){.site-header{position:sticky;top:0}.shell{width:calc(100% - 40px)}.nav-inner{min-height:76px}.desktop-nav,.nav-contact{display:none}.menu-button{margin-left:auto;width:38px;height:38px;background:none;border:0;display:flex;flex-direction:column;justify-content:center;gap:7px;padding:7px;cursor:pointer}.menu-button span{display:block;width:25px;height:2px;background:var(--navy)}.mobile-nav{display:flex;flex-direction:column;padding:6px 20px 18px;border-top:1px solid #ddd7cb;background:var(--cream)}.mobile-nav[hidden]{display:none}.mobile-nav a{padding:12px 0;font-weight:600;font-size:14px}.hero{min-height:auto}.hero-grid{grid-template-columns:1fr;gap:10px}.hero-copy{padding:85px 0 25px}.hero h1{font-size:clamp(42px,9vw,60px);letter-spacing:-1.5px}.hero-art{min-height:290px;max-width:470px;width:100%;margin:0 auto 26px}.art-arch{height:95%;width:76%}.art-outline{height:94%;width:77%}.art-photo{width:78%;margin-bottom:5px}.art-bottom{bottom:3%;right:9%}.hero-signature{margin-top:40px}.hero-bottom{padding:20px 0}.section{padding:84px 0}.intro-grid,.contact-layout,.work-layout{grid-template-columns:1fr;gap:36px}.intro-description{padding:0}.services-header{align-items:start;flex-direction:column;gap:15px}.services-grid{grid-template-columns:1fr;gap:15px}.service-card{min-height:240px}.service-svg{width:80px;height:75px;margin:10px 0}.work-tile{min-height:330px}.spool-art{transform:translateX(-50%) rotate(-11deg) scale(.74);top:40px}.footer-inner{flex-wrap:wrap;padding:25px 0}.footer-inner p{order:3;width:100%}}
@media(max-width:420px){.brand-name{font-size:16px}.brand-mark{height:32px;width:32px}.brand-name small{letter-spacing:2.8px}.hero-copy{padding-top:66px}.hero-actions{gap:18px;align-items:flex-start;flex-direction:column}.hero h1{font-size:43px}.hero-lead{font-size:14px}.hero-bottom span:first-child{font-size:8px}.hero-bottom a{font-size:8px}.contact-row{grid-template-columns:90px 1fr;gap:15px}.contact-row a,.contact-address{font-size:13px}.tile-bottom{flex-direction:column;align-items:start;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.service-card,.work-tile{transition:none}}
