@font-face{font-family:Manrope;src:url('./manrope-latin.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
:root{--ink:#1d1815;--paper:#f3efe9;--muted:#7d7066;--line:#d9cfc4;--accent:#9c7354;--sans:Manrope,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;--gutter:clamp(24px,5.4vw,104px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:15px;line-height:1.9;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
::selection{background:#bea086;color:#1d1815}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}
a,button{touch-action:manipulation}
button{cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #946541;outline-offset:6px}
img{display:block;max-width:100%}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:500}
.wrap{width:100%;max-width:1600px;margin-inline:auto;padding-inline:var(--gutter)}
.skip-link{position:fixed;left:20px;top:-100px;padding:10px 20px;background:var(--paper);color:var(--ink);z-index:100}
.skip-link:focus{top:10px}
.site-header{position:absolute;top:24px;left:var(--gutter);right:var(--gutter);height:82px;z-index:20;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff26}
.wordmark{display:inline-flex;align-items:center;gap:11px;font-size:26px;font-weight:700;letter-spacing:-1.4px;line-height:1}
.brand-symbol{font-size:43px;font-weight:800;font-style:italic;line-height:1;letter-spacing:-5px;margin-right:3px}
.wordmark-dot{font-size:9px;vertical-align:top;letter-spacing:0;margin-left:3px}
.site-nav{display:flex;gap:35px;align-items:center;font-size:12px;font-weight:500}
.site-nav a{display:flex;gap:10px;align-items:center;transition:color .2s}
.site-nav a:hover{color:#d0b69a}
.site-nav a>span{font-size:10px;color:#b9aa9c}
.site-nav .nav-contact{border:1px solid #ffffff32;border-radius:100px;padding:12px 21px;gap:22px;background:#ffffff08;backdrop-filter:blur(12px)}
.site-nav .nav-contact>span{font-size:18px;color:var(--paper)}
.menu-toggle{display:none;color:inherit;background:none;border:0}
.hero{position:relative;min-height:840px;height:min(970px,100svh);overflow:hidden;background:radial-gradient(ellipse at 82% 35%,#473428 0,transparent 52%),linear-gradient(120deg,#221b17,#1d1815 58%,#181311);isolation:isolate}
.hero::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.3' d='M0 0h180v180H0z'/%3E%3C/svg%3E");z-index:3}
.hero-halo{position:absolute;width:65%;aspect-ratio:1;right:-13%;top:-10%;border-radius:50%;background:radial-gradient(ellipse,#d5a67c15,transparent 65%);pointer-events:none}
.hero-art{position:absolute;top:40px;right:-12px;width:62%;height:calc(100% - 50px);z-index:1;animation:sculpture-in 1.8s ease-out both}
.hero-art img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(20px 35px 30px #0004)}
.hero-content{position:relative;padding-top:clamp(210px,24vh,280px);z-index:4;pointer-events:none}
.hero-content a{pointer-events:auto}
.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:600;line-height:1.7}
.hero-eyebrow{display:flex;gap:12px;align-items:center;color:#c6b7a7;margin-bottom:30px}
.status-dot{height:5px;width:5px;border-radius:50%;background:#c7a181;box-shadow:0 0 10px #c7a18133}
.hero h1{font-size:clamp(68px,7.1vw,112px);line-height:1.25;letter-spacing:-.045em;font-weight:500}
.hero h1>span{margin-left:.32em}
.hero-description{font-size:15px;line-height:2.15;letter-spacing:.1em;color:#d0c3b5;margin-top:30px}
.text-link{display:inline-flex;gap:36px;align-items:center;font-size:13px;font-weight:500}
.hero-link{margin-top:35px}
.circle-arrow{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffff40;border-radius:50%;font-size:19px;transition:background .25s,transform .25s}
.text-link:hover .circle-arrow{background:#ffffff18;transform:translateY(3px)}
.hero-bottom{position:absolute;bottom:35px;display:flex;align-items:flex-end;justify-content:space-between;z-index:4;font-size:9px;line-height:1.6;letter-spacing:.14em;color:#bbae9e}
.hero-bottom>p{color:#e9dfd3;font-size:10px}
.hero-coordinate{margin-left:auto;margin-right:80px}
.scroll-cue{display:flex;align-items:center;gap:30px}
.scroll-cue span{font-size:18px;color:#eee3d5}
.section-light{background:var(--paper);color:var(--ink)}
.section-label{font-size:10px;letter-spacing:.12em;font-weight:600;line-height:1.6;display:flex;align-items:center;gap:12px}
.label-mark{font-size:21px;font-weight:400;line-height:1}
.philosophy{padding-block:125px 115px}
.philosophy-grid{display:grid;grid-template-columns:1fr 2.05fr;gap:50px}
.philosophy .section-label{align-self:start;padding-top:12px}
.philosophy h2{font-size:clamp(25px,3vw,43px);letter-spacing:-.035em;line-height:1.8;font-weight:500}
.serif-word{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-style:italic}
.philosophy-text{margin-top:35px;display:grid;grid-template-columns:1fr 1.2fr;gap:35px;color:#6e6258;font-size:13px;line-height:2.3}
.services{padding-block:45px 115px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:55px;border-bottom:1px solid var(--line)}
.section-heading h2{font-size:clamp(44px,5.6vw,80px);line-height:1.2;font-weight:500;letter-spacing:-.065em;margin-top:21px}
.heading-period{color:#9c7354}
.section-intro{font-size:13px;color:#71655b;line-height:2}
.service-row{display:grid;grid-template-columns:1.1fr .18fr 1.2fr;gap:clamp(24px,4vw,65px);padding-block:55px;border-bottom:1px solid var(--line);align-items:start}
.service-visual{position:relative;aspect-ratio:1.36;min-height:250px;background:#e5d9cc;overflow:hidden;display:grid;place-items:center}
.service-number{font-size:11px;letter-spacing:.1em;color:#817062;padding-top:4px}
.service-kicker{font-size:10px;letter-spacing:.1em;font-weight:600;color:#7d5b42}
.service-copy h3{font-size:clamp(24px,2.3vw,34px);line-height:1.65;letter-spacing:-.035em;margin-top:15px}
.service-copy>p:not(.service-kicker){font-size:13px;line-height:2.15;color:#74665a;margin-top:20px;max-width:440px}
.service-tags{list-style:none;padding:0;margin:24px 0 0;display:flex;gap:8px;flex-wrap:wrap}
.service-tags li{font-size:10px;padding:4px 10px;border:1px solid #d8c6b4;border-radius:3px;color:#81664f;line-height:1.7}
.visual-caption{position:absolute;left:22px;bottom:18px;font-size:8px;letter-spacing:.12em;color:#886c55}
.visual-web{background:radial-gradient(ellipse at 70% 30%,#f1e6d7,#d5bfa9)}
.glass-window{position:absolute;width:54%;height:53%;border:1px solid #fff9;box-shadow:18px 25px 20px #7953371c;transform:rotate(-12deg) skewY(6deg);border-radius:6px}
.window-back{background:linear-gradient(120deg,#ffffff2e,#a0856b55);left:18%;top:16%;transform:rotate(-12deg) skewY(6deg) translate(20px,-5px)}
.window-front{background:linear-gradient(120deg,#fff6e9b3,#dac1a74d);backdrop-filter:blur(5px);left:26%;top:29%;padding:12px}
.window-dots{display:block;color:#99795d;line-height:.5;font-size:14px;letter-spacing:2px;border-bottom:1px solid #b18e6f40;padding-bottom:8px}
.window-line{display:block;background:#a1846b44;height:6px;width:60%;margin-top:14px;border-radius:2px}
.window-square{display:block;height:42%;width:38%;background:linear-gradient(150deg,#b99a7d88,#d8bca066);margin-top:10px;border:1px solid #a8836344}
.window-line.short{width:37%;position:absolute;top:48%;right:14px;margin:0;height:4px;box-shadow:0 12px #a1846b22,0 24px #a1846b22}
.visual-design{background:radial-gradient(ellipse at 65% 20%,#eee2ca,#d7c6a8)}
.design-disc{position:absolute;aspect-ratio:1;border-radius:50%;width:43%;background:linear-gradient(140deg,#f9f0d8,#b4a07a);box-shadow:10px 24px 28px #6f54352e,inset -3px -3px 5px #69522a22,inset 2px 2px 4px #fff9;transform:rotateX(35deg) rotateY(-22deg)}
.disc-one{left:18%;top:11%}
.disc-two{left:31%;top:24%;background:linear-gradient(150deg,#f6edda88,#bc9f6666);border:1px solid #fff5;backdrop-filter:blur(5px)}
.disc-three{left:43%;top:37%;background:linear-gradient(140deg,#fff4db66,#876f4555);border:1px solid #fff6;backdrop-filter:blur(3px)}
.visual-design .visual-caption{color:#84704b}
.visual-marketing{background:radial-gradient(ellipse at 50% 40%,#e7d8ce,#cbb4a3)}
.orbit{position:absolute;border:1px solid #8e6d5966;border-radius:50%;width:58%;aspect-ratio:1;transform:rotate(-30deg) scaleY(.58);box-shadow:1px 2px 2px #fff7}
.orbit-two{transform:rotate(30deg) scaleY(.58)}
.orbit-three{transform:rotate(90deg) scaleY(.58)}
.orbit-core{width:20%;aspect-ratio:1;background:radial-gradient(circle at 32% 25%,#fff4e8,#b39379 60%,#70503a);border-radius:50%;box-shadow:9px 16px 15px #76513933}
.orbit-node{position:absolute;width:6%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 25% 20%,#fff,#b28e73 55%,#6c4934);box-shadow:3px 7px 6px #76513933}
.node-one{top:24%;left:37%}.node-two{bottom:28%;right:23%}
.company{position:relative;background:#2b211b;padding-block:110px 105px;background-image:radial-gradient(ellipse at 0 100%,#80654b22,transparent 65%)}
.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}
.company h2{font-size:clamp(40px,4.7vw,70px);line-height:1.2;letter-spacing:-.055em;margin-top:35px}
.company .muted{color:#b39b86}
.company-heading>p:not(.section-label){font-size:13px;line-height:2.1;color:#cbbbab;margin-top:30px}
.company-emblem{font-size:135px;font-weight:700;line-height:.9;margin-top:70px;letter-spacing:-12px;color:#967052;display:flex;align-items:flex-end;gap:25px}
.company-emblem span{font-size:9px;letter-spacing:.13em;line-height:1.2;margin-bottom:8px;color:#c2a88e}
.company-label{font-size:12px;display:flex;align-items:center;justify-content:space-between;padding-bottom:25px;border-bottom:1px solid #ffffff27}
.company-label span{font-size:9px;letter-spacing:.12em;color:#bba38d}
.company-table{margin:0}
.company-table>div{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid #ffffff1c;font-size:13px}
.company-table dt{color:#c0aa95;font-size:11px}
.company-table dd{margin:0;line-height:1.9}
.company-table dd>span{color:#c5ad97;font-size:10px;letter-spacing:.03em}
.company-table small{display:block;font-size:10px;color:#c5ad97;margin-top:4px}
.company-history{font-size:10px;color:#c5ad97;margin-top:24px;line-height:1.9}
.contact{padding-block:120px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}
.contact h2{font-size:clamp(32px,3.5vw,51px);line-height:1.7;letter-spacing:-.045em;margin-top:30px}
.contact-heading>p:not(.section-label){font-size:13px;line-height:2.1;margin-top:25px;color:#776657}
.contact-heading>p.contact-note{font-size:10px;margin-top:22px}
.contact-arrow{display:block;font-size:130px;line-height:1;margin-top:60px;font-weight:300;color:#b28a67}
.form-intro{font-size:13px;display:flex;justify-content:space-between;padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid var(--line)}
.form-intro span{font-size:10px;color:#7a624f}
.contact-form .wpcf7 form{margin:0}
.contact-form .wpcf7 form>p{margin:0 0 22px}
.contact-form label{display:block;font-size:11px;font-weight:500;line-height:1.8}
.contact-form .wpcf7-form-control-wrap{display:block;margin-top:8px}
.contact-form input:not([type=submit]):not([type=checkbox]),.contact-form textarea{width:100%;background:#eae1d6;border:1px solid transparent;border-bottom-color:#d1bdab;border-radius:0;padding:13px 15px;color:var(--ink);font-size:16px;transition:border-color .2s}
.contact-form input:not([type=submit]):focus,.contact-form textarea:focus{border-color:#a27856;outline:0;background:#fffaf3}
.contact-form textarea{height:130px;min-height:100px;resize:vertical;display:block}
.contact-form input[type=submit]{width:100%;text-align:center;background:#493122;color:#f8efe4;border:1px solid #493122;border-radius:3px;padding:17px 30px;cursor:pointer;font-size:12px;letter-spacing:.1em;transition:background .2s}
.contact-form input[type=submit]:hover{background:#745139}
.contact-form input[type=submit]:disabled{cursor:wait;opacity:.6}
.contact-form .wpcf7-spinner{display:block;margin:8px auto -18px}
.contact-form .wpcf7-not-valid-tip{font-size:11px;color:#a13f27;margin-top:4px}
.contact-form .wpcf7 form .wpcf7-response-output{margin:25px 0 15px;padding:15px;font-size:12px;line-height:1.8}
.privacy-note{font-size:10px;color:#806b5a;line-height:1.8;margin-top:20px}
.fallback-phone{display:block;font-size:26px;margin-block:20px}
.site-footer{background:#1d1713;padding-top:50px;padding-bottom:25px}
.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:40px}
.footer-top .wordmark{font-size:22px}.footer-top .brand-symbol{font-size:36px}
.footer-top p{font-size:9px;letter-spacing:.13em;color:#b9a28b}
.back-top{display:flex;gap:25px;align-items:center;font-size:9px;letter-spacing:.08em}
.back-top span{font-size:18px}
.footer-bottom{display:flex;justify-content:space-between;position:relative;padding-top:20px;font-size:8px;letter-spacing:.1em;color:#b9a28b}
.footer-bottom::before{content:'';position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:1px;background:#ffffff20}
.footer-bottom small{font-size:8px}
.fallback-page{min-height:65vh;padding-top:200px;padding-bottom:100px}
.fallback-page h1{font-size:36px;margin-top:25px}.fallback-page p{margin-bottom:30px}
@keyframes sculpture-in{from{opacity:0;transform:translate(25px,20px)}to{opacity:1;transform:translate(0,0)}}
@media(prefers-reduced-motion:no-preference){[data-reveal]{transition:opacity .75s ease,transform .75s ease}[data-reveal].will-reveal{opacity:0;transform:translateY(25px)}}
@media(min-width:1600px){.site-header{left:max(var(--gutter),calc((100vw - 1400px)/2));right:max(var(--gutter),calc((100vw - 1400px)/2))}.hero-art{right:calc((100vw - 1600px)/2)}}
@media(max-width:1100px){.hero{min-height:780px}.hero h1{font-size:80px}.hero-art{width:65%;right:-65px;top:90px}.philosophy-grid{grid-template-columns:.65fr 2fr;gap:30px}.philosophy-text{grid-template-columns:1fr;gap:20px}.service-row{grid-template-columns:.85fr 1.15fr;column-gap:35px}.service-number{display:none}.service-visual{margin-top:15px;min-height:240px}.company-grid,.contact-grid{gap:8%}.company-table>div{grid-template-columns:70px 1fr;gap:15px}.site-nav{gap:24px}.site-nav a>span:not(.nav-contact span){display:none}.hero-coordinate{margin-right:35px}}
@media(max-width:760px){:root{--gutter:24px}html{scroll-padding-top:30px}.site-header{top:10px;height:73px}.wordmark{font-size:22px}.brand-symbol{font-size:38px}.site-nav{gap:18px;font-size:11px}.site-nav .nav-contact{padding:9px 14px;gap:15px}.hero{height:900px;min-height:0;max-height:none}.hero-content{padding-top:165px}.hero h1{font-size:clamp(62px,10.5vw,80px)}.hero-eyebrow{font-size:8px;margin-bottom:24px;letter-spacing:.12em}.hero-description{font-size:12px;line-height:2;letter-spacing:.09em;margin-top:20px}.hero-link{margin-top:24px;font-size:11px;gap:20px}.circle-arrow{width:36px;height:36px}.hero-art{top:190px;right:-130px;height:680px;width:95%;opacity:.85}.hero-content::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#21191390,transparent 85%);pointer-events:none}.hero-bottom{bottom:27px}.hero-bottom>p{font-size:8px}.hero-coordinate{display:none}.scroll-cue{font-size:8px;gap:18px}.philosophy{padding-block:75px}.philosophy-grid{grid-template-columns:1fr;gap:30px}.philosophy .section-label{padding-top:0}.philosophy h2{font-size:clamp(23px,4.8vw,33px);line-height:1.9}.philosophy-text{margin-top:25px;font-size:12px;gap:18px}.desktop-break{display:none}.services{padding-block:20px 75px}.section-heading{padding-bottom:32px;gap:20px}.section-heading h2{font-size:48px;margin-top:15px}.section-intro{font-size:10px}.service-row{padding-block:35px;gap:30px;grid-template-columns:1fr 1fr}.service-visual{min-height:0;margin-top:0;aspect-ratio:.85}.service-copy h3{font-size:23px;margin-top:12px}.service-kicker{font-size:9px}.service-copy>p:not(.service-kicker){font-size:12px;margin-top:14px}.service-tags{gap:5px;margin-top:16px}.service-tags li{font-size:9px;padding:3px 6px}.visual-caption{font-size:6px;left:12px;bottom:12px}.glass-window{height:38%;width:70%;left:13%;top:25%}.window-front{left:21%;top:39%}.design-disc{width:58%}.disc-one{left:6%;top:19%}.disc-two{left:21%;top:32%}.disc-three{left:35%;top:45%}.orbit{width:79%}.orbit-core{width:27%}.company{padding-block:75px}.company-grid{gap:55px;grid-template-columns:1fr}.company h2{font-size:52px;margin-top:25px}.company-emblem{display:none}.company-heading>p:not(.section-label){font-size:12px;margin-top:22px}.company-table>div{grid-template-columns:85px 1fr;padding:19px 0;font-size:12px}.contact{padding-block:75px}.contact-grid{grid-template-columns:1fr;gap:45px}.contact h2{font-size:38px;margin-top:25px}.contact-heading>p:not(.section-label){font-size:12px;margin-top:20px}.contact-arrow{display:none}.footer-top{flex-wrap:wrap;gap:28px;padding-bottom:30px}.footer-top p{order:3;width:100%;font-size:8px}.back-top{gap:20px}.footer-bottom{padding-top:20px}.section-label{font-size:9px}}
@media(max-width:520px){.menu-toggle:not([hidden]){display:flex;align-items:center;gap:12px;padding:15px 0 15px 15px;font-size:10px}.menu-lines{width:23px;height:9px;position:relative;border-top:1px solid currentColor;border-bottom:1px solid currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] .menu-lines{transform:rotate(-45deg);height:0;border-bottom:0}.site-nav{display:flex;position:absolute;top:73px;left:-24px;right:-24px;flex-direction:column;align-items:stretch;gap:0;background:#2b211bf7;backdrop-filter:blur(20px);padding:15px 24px 25px;border-bottom:1px solid #ffffff25}.site-nav a{padding:17px 4px;font-size:13px;justify-content:space-between}.site-nav a>span:not(.nav-contact span){display:block}.site-nav .nav-contact{border:0;border-radius:0;padding:17px 4px;background:none}.site-nav.is-collapsible:not(.is-open){display:none}.site-header:has(.site-nav:not(.is-collapsible)){position:relative;width:calc(100% - 48px);height:auto;min-height:73px;margin-bottom:160px}.hero{height:840px}.hero-art{width:135%;right:-122px;top:285px;height:540px;opacity:.83}.hero-content{padding-top:143px}.hero h1{font-size:clamp(59px,13.5vw,72px)}.hero-description{margin-top:22px}.hero-content::after{background:linear-gradient(90deg,#21191344,transparent)}.hero-link{margin-top:22px}.hero-bottom>p{max-width:100px}.hero-bottom{bottom:22px}.philosophy h2{font-size:24px;letter-spacing:-.055em}.section-heading{display:block}.section-intro{margin-top:22px;font-size:12px}.section-heading h2{font-size:51px}.service-row{grid-template-columns:1fr;gap:25px;padding-block:32px}.service-visual{aspect-ratio:1.65}.service-copy h3{font-size:27px;margin-top:13px}.service-copy>p:not(.service-kicker){font-size:13px}.service-tags li{font-size:10px}.glass-window{width:47%;height:62%;left:22%;top:12%}.window-front{left:32%;top:27%}.design-disc{width:35%}.disc-one{left:22%;top:6%}.disc-two{left:34%;top:22%}.disc-three{left:45%;top:37%}.orbit{width:50%}.orbit-core{width:17%}.orbit-node{width:5%}.company h2{font-size:49px}.company-table>div{grid-template-columns:75px 1fr;gap:15px}.contact h2{font-size:35px}.contact-heading>p.contact-note{font-size:10px}.site-footer{padding-top:35px}.footer-bottom>span{font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
