:root { --paper:#f8f1e8; --surface:#fffdf9; --ink:#2d2523; --muted:#716662; --wine:#6f2638; --wine-dark:#481522; --coral:#d96658; --butter:#f2d88f; --sage:#607961; --line:#dccfc3; --display:Georgia,"Times New Roman",serif; --ui:"Avenir Next","Segoe UI",system-ui,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--paper); }
body { min-width:320px; margin:0; background:var(--paper); color:var(--ink); font:16px/1.58 var(--ui); }
a { color:inherit; } button,input,textarea,select { font:inherit; } img { display:block; max-width:100%; } :focus-visible { outline:3px solid var(--butter); outline-offset:3px; }
.shell { width:min(1120px,calc(100% - 40px)); margin-inline:auto; }
.site-header { width:min(1180px,calc(100% - 40px)); min-height:76px; margin:auto; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { color:var(--ink); font:700 22px/1 var(--display); letter-spacing:-.03em; text-decoration:none; }.brand em { color:var(--wine); font-style:italic; font-weight:400; }
.nav { display:flex; gap:21px; align-items:center; }.nav a { color:var(--muted); font-size:13px; font-weight:800; text-decoration:none; }.nav a:hover { color:var(--wine); }.nav .claw-link { padding:7px 11px; border:1px solid var(--line); border-radius:999px; color:var(--wine); }
.hero { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(40px,7vw,110px); align-items:center; min-height:688px; padding-block:70px; }.eyebrow { margin:0 0 14px; color:var(--wine); font-size:12px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }.hero h1 { max-width:655px; margin:0; font:400 clamp(55px,7vw,100px)/.94 var(--display); letter-spacing:-.055em; }.hero h1 em,.title em { color:var(--wine); font-style:italic; }.lede { max-width:590px; margin:25px 0 0; color:var(--muted); font-size:clamp(18px,2vw,24px); }.actions { display:flex; flex-wrap:wrap; align-items:center; gap:17px; margin-top:34px; }.actions small { color:var(--muted); font-size:13px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 22px; border:1px solid transparent; border-radius:999px; font-size:14px; font-weight:800; line-height:1; text-decoration:none; cursor:pointer; transition:transform .16s ease,box-shadow .16s ease; }.button-primary { background:var(--wine); color:#fff; box-shadow:0 7px 0 var(--wine-dark); }.button-primary:hover { transform:translateY(2px); box-shadow:0 5px 0 var(--wine-dark); }.button-secondary { border-color:var(--line); color:var(--ink); background:transparent; }.button-secondary:hover { border-color:var(--wine); color:var(--wine); }
.hero-note { padding:28px; border:1px solid var(--line); border-radius:30px 30px 10px 30px; background:var(--surface); box-shadow:16px 18px 0 var(--butter); transform:rotate(1.4deg); }.note-top { display:flex; justify-content:space-between; gap:16px; padding-bottom:17px; border-bottom:1px solid var(--line); color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }.hero-note h2 { margin:27px 0 8px; font:400 clamp(29px,3vw,42px)/1.03 var(--display); letter-spacing:-.04em; }.hero-note>p { margin:0; color:var(--muted); }.mini-stack { display:grid; gap:10px; margin-top:23px; }.mini { display:grid; grid-template-columns:38px 1fr auto; gap:12px; align-items:center; padding:12px; border:1px solid var(--line); border-radius:10px; background:var(--paper); }.mini img { width:38px; height:38px; border-radius:10px; }.mini strong { font-size:14px; }.mini span { color:var(--sage); font-size:11px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.about { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(44px,8vw,110px); padding-block:100px; border-top:1px solid var(--line); }.title { margin:0; font:400 clamp(39px,5vw,70px)/.99 var(--display); letter-spacing:-.045em; }.about-copy { max-width:650px; color:var(--muted); font-size:19px; }.about-copy p { margin:0 0 18px; }.principles { margin:34px 0 0; padding:0; list-style:none; }.principles li { display:grid; grid-template-columns:56px 1fr; gap:16px; padding:20px 0; border-top:1px solid var(--line); }.principles li:last-child { border-bottom:1px solid var(--line); }.principles span { color:var(--coral); font:700 20px/1 var(--display); }.principles strong,.principles small { display:block; }.principles strong { color:var(--ink); font-size:17px; }.principles small { margin-top:4px; font-size:15px; }
.services { padding:26px 0 118px; }.section-head { display:flex; justify-content:space-between; align-items:end; gap:35px; margin-bottom:43px; }.section-head>p:not(.eyebrow) { max-width:420px; margin:0; color:var(--muted); font-size:18px; }.service-list { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); }.service { display:grid; grid-template-columns:54px 1fr; gap:15px; padding:24px 30px 24px 0; border-bottom:1px solid var(--line); }.service:nth-child(even) { padding-right:0; padding-left:30px; border-left:1px solid var(--line); }.service span { color:var(--coral); font:700 20px/1 var(--display); }.service h3 { margin:0 0 5px; font-size:18px; }.service p { margin:0; color:var(--muted); }
.products { margin-bottom:120px; padding:clamp(35px,7vw,76px); background:var(--wine); color:#fff; }.products .eyebrow,.products .title em { color:var(--butter); }.products .title { max-width:760px; }.product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin-top:52px; background:#99566a; border-top:1px solid #99566a; }.product { min-height:335px; padding:30px; background:var(--wine); }.product + .product { background:#622033; }.product:nth-child(3) { background:#572033; }.product-label { color:var(--butter); font-size:11px; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }.product h3 { margin:13px 0 9px; font:400 clamp(34px,3.2vw,45px)/1 var(--display); letter-spacing:-.04em; }.product p { max-width:560px; margin:0; color:#eadde0; }.product .button { margin-top:23px; background:var(--butter); color:var(--ink); box-shadow:none; }.product .button:hover { transform:translateY(1px); }.product-icon { float:right; width:92px; height:92px; margin:0 0 18px 18px; border-radius:21px; box-shadow:0 18px 35px rgba(0,0,0,.28); }
.contact { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(44px,9vw,130px); padding-bottom:120px; }.contact-copy>p:not(.eyebrow) { max-width:330px; color:var(--muted); font-size:18px; }.details { margin-top:40px; border-top:1px solid var(--line); }.details div { display:grid; grid-template-columns:92px 1fr; gap:16px; padding:15px 0; border-bottom:1px solid var(--line); }.details dt { color:var(--muted); font-size:11px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }.details dd { margin:0; font-weight:700; }.details a { color:var(--wine); text-underline-offset:5px; }.form { padding:clamp(22px,4vw,36px); border:1px solid var(--line); border-radius:18px; background:var(--surface); }.form h3 { margin:0 0 25px; font:400 32px/1 var(--display); }.field { display:grid; gap:7px; margin-bottom:17px; }.field label { font-size:13px; font-weight:800; }.field input,.field textarea,.field select { width:100%; min-height:50px; padding:12px 13px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); }.field textarea { min-height:120px; resize:vertical; }.field input:focus,.field textarea:focus,.field select:focus { outline:3px solid var(--butter); outline-offset:2px; border-color:var(--wine); }.form .button { width:100%; }.form-status { min-height:22px; margin:13px 0 0; color:var(--sage); font-size:13px; font-weight:700; }
.site-footer { width:min(1180px,calc(100% - 40px)); margin:auto; display:flex; justify-content:space-between; gap:32px; padding:30px 0 48px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }.site-footer p { margin:8px 0 0; }.site-footer a { text-underline-offset:4px; }
@media (max-width:850px) { .hero,.about,.contact { grid-template-columns:1fr; }.hero { min-height:auto; padding-block:54px 85px; }.hero-note { max-width:600px; transform:none; }.about { gap:32px; padding-block:76px; }.section-head { display:block; }.section-head>p:not(.eyebrow) { margin-top:20px; }.product-grid { grid-template-columns:1fr; }.service-list { grid-template-columns:1fr; }.service:nth-child(even) { padding-left:0; border-left:0; }.site-footer { flex-direction:column; } }
@media (max-width:560px) { .shell,.site-header,.site-footer { width:min(100% - 28px,1120px); }.site-header { min-height:65px; }.nav a:not(.claw-link) { display:none; }.hero h1 { font-size:52px; }.actions { align-items:stretch; flex-direction:column; }.actions .button { width:100%; }.product { padding:25px; }.product-icon { width:85px; height:85px; border-radius:19px; }.details div { grid-template-columns:1fr; gap:5px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; } }
