@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap");

:root{color-scheme:light;--ink:#252322;--muted:#706b67;--paper:#faf8f4;--line:#ddd8d0;--red:#b93632;--red-dark:#8e2928;--serif:"Noto Serif SC","Songti SC",serif;--sans:"DM Sans","Noto Sans SC",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--red);outline-offset:5px}
.skip-link{position:absolute;z-index:20;left:1rem;top:-4rem;background:#fff;padding:.65rem 1rem}.skip-link:focus{top:1rem}
.shell{width:min(1240px,calc(100% - 96px));margin-inline:auto}
.site-header{border-bottom:1px solid #e9e4dc;background:rgba(250,248,244,.96)}
.header-inner{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:inline-flex;align-items:center;gap:12px;white-space:nowrap}
.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:12px 12px 12px 3px;background:var(--red);color:#fff;font-family:var(--serif);font-size:21px;font-weight:700}
.brand strong{display:block;font-size:19px;letter-spacing:.08em;line-height:1.1}.brand small{display:block;margin-top:4px;color:#8b8179;font-size:9px;font-weight:700;letter-spacing:.25em}
.brand small.brand-company{letter-spacing:.02em}
nav{display:flex;align-items:center;gap:38px}nav a{font-size:14px;color:#635e5a;transition:color .2s}nav a:hover,nav a.current{color:var(--red)}nav a.current{font-weight:700}
.hero{min-height:690px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:4vw;padding-block:70px 80px}
.eyebrow{margin:0;color:var(--red);font-size:12px;font-weight:700;letter-spacing:.18em;line-height:1.8}.eyebrow-line{display:inline-block;width:24px;height:1px;margin:0 11px 4px 0;background:currentColor}
h1,h2,h3,p{margin-top:0}.hero h1,.about-hero h1{margin:27px 0 28px;font-family:var(--serif);font-size:clamp(54px,5.6vw,90px);font-weight:600;letter-spacing:-.055em;line-height:1.32}.hero h1 em,.about-hero h1 em{color:var(--red);font-style:normal}
.hero-lead{max-width:570px;color:#67615b;font-size:18px;line-height:2}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:40px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-width:204px;padding:18px 24px;font-size:14px;font-weight:700}.button-primary{background:var(--red);color:#fff;transition:background .2s,transform .2s}.button-primary:hover{background:var(--red-dark);transform:translateY(-2px)}.button span{font-size:20px;font-weight:400}.text-link{display:inline-flex;align-items:center;gap:22px;padding-bottom:8px;border-bottom:1px solid currentColor;font-size:14px;font-weight:700;transition:gap .2s,color .2s}.text-link:hover{gap:30px;color:var(--red)}.text-link span{font-size:20px;font-weight:400}
.hero-art{position:relative;overflow:hidden;aspect-ratio:1/1.05;max-height:545px;background:#e8e1d7;border-radius:46% 46% 6px 6px;isolation:isolate}.hero-art:before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle,#f9f2e8 0 20%,transparent 62%);filter:blur(2px)}.art-grid{position:absolute;inset:0;background-image:linear-gradient(to right,#ffffff50 1px,transparent 1px),linear-gradient(to bottom,#ffffff50 1px,transparent 1px);background-size:42px 42px;opacity:.45}.orbit{position:absolute;left:50%;top:50%;width:75%;aspect-ratio:1;border:1px solid #c8b7a6;border-radius:50%;transform:translate(-50%,-50%) rotate(-20deg)}.orbit-one:before,.orbit-two:after{content:"";position:absolute;top:12%;left:14%;width:14px;height:14px;border-radius:50%;background:var(--red)}.orbit-two{width:51%;border-color:#d2c5b7;transform:translate(-50%,-50%) rotate(128deg)}.orbit-two:after{top:9%;left:15%;width:9px;height:9px;background:#8f8172}.art-core{position:absolute;left:50%;top:50%;display:flex;align-items:center;justify-content:center;gap:10px;width:41%;aspect-ratio:1;border-radius:50%;background:var(--red);color:#fff;transform:translate(-50%,-50%);box-shadow:0 24px 50px #702b2440;font-family:var(--serif);font-size:clamp(20px,2.5vw,37px);white-space:nowrap}.art-core b{font-family:var(--sans);font-size:23px;font-weight:400;color:#f2c5bc}.art-caption{position:absolute;color:#80766d;font-size:10px;letter-spacing:.24em}.art-caption-top{top:8%;right:9%}.art-caption-bottom{bottom:8%;left:8%}.art-dot{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--red)}.art-dot-one{top:20%;left:19%}.art-dot-two{right:12%;bottom:22%;background:#81715f}
.intro-band{border-block:1px solid var(--line);background:#f2eee8}.intro-inner{display:flex;align-items:center;justify-content:space-between;gap:3rem;padding-block:31px}.intro-inner p{margin:0;font-family:var(--serif);font-size:24px}.intro-inner strong{color:var(--red);font-weight:600}.intro-inner span{color:#77716c;font-size:14px}
.section{padding-block:120px 130px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:7vw;margin-bottom:54px}.section-head h2,.contact-section h2,.about-body h2{margin:20px 0 0;font-family:var(--serif);font-size:clamp(38px,4vw,59px);font-weight:600;letter-spacing:-.04em;line-height:1.4}.section-head>p{max-width:385px;margin:0 0 7px;color:var(--muted);font-size:15px;line-height:2}
.business-grid{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.business-item{min-height:307px;padding:30px 35px 28px 0;border-right:1px solid var(--line)}.business-item+.business-item{padding-left:35px}.business-item:last-child{border-right:0}.item-number{color:#9c9186;font-size:12px;letter-spacing:.13em}.item-symbol{height:83px;display:flex;align-items:center;color:var(--red);font-family:var(--serif);font-size:53px;font-weight:400}.business-item h3{margin:4px 0 15px;font-family:var(--serif);font-size:22px;font-weight:600}.business-item p{max-width:295px;color:var(--muted);font-size:14px;line-height:1.9}
.statement{background:#922f2f;color:#fff}.statement-inner{padding-block:99px 108px}.statement .eyebrow{color:#f5b4a9}.statement-quote{margin:28px 0 32px;font-family:var(--serif);font-size:clamp(32px,4.2vw,58px);font-weight:500;letter-spacing:-.04em;line-height:1.55}.statement-quote span{color:#eebcaf}.light-link:hover{color:#fff}
.contact-section{display:flex;align-items:end;justify-content:space-between;gap:5vw;padding-block:115px 125px}.contact-note{max-width:430px}.contact-note p{color:var(--muted);font-size:15px;line-height:2}.contact-note .text-link{margin-top:14px}
.site-footer{background:#242321;color:#fff}.footer-main{display:flex;justify-content:space-between;gap:5vw;padding-block:65px 75px}.footer-brand .brand-mark{background:#c94b44}.footer-brand small{color:#bcb6b0}.footer-main>div>p{margin:23px 0 0;color:#a9a29a;font-size:14px}.footer-main dl{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:28px;margin:0;max-width:690px}.footer-main dt{margin-bottom:14px;color:#a9a29a;font-size:12px}.footer-main dd{margin:0;font-size:13px;line-height:1.8}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;padding-block:19px;border-top:1px solid #44413e;color:#9f9992;font-size:12px}
.footer-main dd,.company-list dd{overflow-wrap:anywhere}.footer-main dd a:hover,.company-list dd a:hover{text-decoration:underline}
.about-hero{min-height:550px;padding-block:115px 90px}.about-hero h1{font-size:clamp(54px,6vw,88px)}.about-hero>p:not(.eyebrow){max-width:730px;color:var(--muted);font-size:18px;line-height:2}.about-rule{display:flex;align-items:center;gap:17px;margin-top:52px;color:var(--red);font-size:13px;font-weight:700;letter-spacing:.2em}.about-rule i{width:47px;height:1px;background:#d9c6ba}
.about-body{background:#f1ece5}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding-block:110px 118px}.about-prose{padding-top:12px}.about-prose p{margin-bottom:24px;color:#615b56;font-size:16px;line-height:2.1}.about-prose .text-link{margin-top:16px}
.company-section{padding-block:110px 130px}.company-list{margin:0;border-top:1px solid var(--line)}.company-list>div{display:grid;grid-template-columns:28% 1fr;gap:2rem;padding:24px 0;border-bottom:1px solid var(--line)}.company-list dt{color:#8d8379;font-size:13px}.company-list dd{margin:0;font-size:15px;line-height:1.8}
@media(max-width:900px){.shell{width:min(100% - 48px,720px)}.header-inner{min-height:83px}.hero{min-height:0;grid-template-columns:1fr;padding-block:75px}.hero-art{width:min(100%,570px);justify-self:center;aspect-ratio:1.2/1}.hero h1{font-size:64px}.section-head{align-items:start}.business-item{padding-right:20px}.business-item+.business-item{padding-left:20px}.footer-main{display:block}.footer-main dl{margin-top:45px}.contact-section{align-items:start}}
@media(max-width:620px){.shell{width:calc(100% - 40px)}.header-inner{min-height:74px;align-items:flex-start;flex-direction:column;justify-content:center;gap:15px;padding-block:15px}.brand-mark{width:36px;height:36px;font-size:18px}.brand strong{font-size:16px}.brand small{font-size:8px}nav{width:100%;justify-content:space-between;gap:9px}nav a{font-size:12px}.hero{gap:50px;padding-block:70px 72px}.hero h1,.about-hero h1{margin-block:22px;font-size:clamp(47px,12vw,68px)}.hero-lead,.about-hero>p:not(.eyebrow){font-size:15px;line-height:1.9}.hero-actions{gap:23px;flex-wrap:wrap;margin-top:29px}.button{min-width:180px;padding:16px 20px}.hero-art{aspect-ratio:1/1;max-height:none}.art-core{font-size:24px}.art-core b{font-size:16px}.intro-inner{align-items:flex-start;flex-direction:column;gap:7px;padding-block:25px}.intro-inner p{font-size:20px}.intro-inner span{font-size:12px}.section{padding-block:78px 87px}.section-head{display:block;margin-bottom:35px}.section-head h2,.contact-section h2,.about-body h2{font-size:39px}.section-head>p{margin-top:24px;font-size:14px}.business-grid{grid-template-columns:1fr}.business-item,.business-item+.business-item{min-height:0;padding:24px 4px 27px;border-right:0;border-bottom:1px solid var(--line)}.business-item:last-child{border-bottom:0}.item-symbol{height:66px;font-size:44px}.business-item h3{font-size:21px}.statement-inner{padding-block:71px 80px}.statement-quote{font-size:34px}.contact-section{display:block;padding-block:80px 90px}.contact-note{margin-top:25px}.footer-main{padding-block:50px}.footer-main dl{grid-template-columns:1fr;gap:21px;margin-top:37px}.footer-main dt{margin-bottom:6px}.footer-bottom{flex-direction:column;gap:7px}.about-hero{min-height:0;padding-block:78px 85px}.about-rule{margin-top:37px}.about-columns{grid-template-columns:1fr;gap:22px;padding-block:77px 85px}.about-prose p{font-size:15px}.company-section{padding-block:82px 90px}.company-list>div{grid-template-columns:1fr;gap:7px;padding:17px 0}.company-list dd{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
