:root{--bg: #f3f0e9;--bg-strong: #e9e5dc;--panel: #faf9f5;--panel-2: #e9e5dc;--line: #cbc6bc;--text: #24251f;--muted: #68675f;--accent: #a65e3d;--accent-soft: #e8d8ca;--shadow: 0 18px 40px rgba(36, 37, 31, .08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:DM Sans,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}#root{min-height:100vh}.container{width:min(1180px,calc(100% - 64px));margin:0 auto}.section{padding:112px 0}.site-header{position:sticky;top:0;z-index:10;background:#f3f0e9f5;border-bottom:1px solid var(--line)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:24px}.brand{display:inline-flex;align-items:center;gap:8px;font-family:Cormorant Garamond,Georgia,serif;font-size:1.7rem;font-weight:600;letter-spacing:-.04em}.brand-mark{display:inline-grid;place-items:center;width:27px;height:27px;background:var(--accent);color:var(--panel);font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:500}.main-nav{display:flex;align-items:center;gap:38px}.main-nav a{color:var(--muted);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;transition:color .2s ease}.main-nav a:hover,.contact-details a:hover{color:var(--accent)}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border:1px solid var(--text);border-radius:0;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.primary-button{border-color:var(--accent);background:var(--accent);color:#fffdf8}.primary-button:hover{border-color:var(--text);background:var(--text)}.secondary-button{background:transparent;color:var(--text)}.secondary-button:hover{background:var(--text);color:var(--bg)}.small{min-height:40px;padding:0 17px;font-size:.66rem}.hero{padding:80px 0 92px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(38px,7vw,92px);align-items:center}.eyebrow{margin:0 0 22px;color:var(--muted);font-size:.66rem;font-weight:600;letter-spacing:.19em;text-transform:uppercase}.hero-copy h1,.section-heading h2,.contact-copy h2,.about-copy h2{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-weight:500;letter-spacing:-.045em;line-height:.92}.hero-copy h1{max-width:620px;font-size:clamp(4rem,7.2vw,7.2rem)}.sub-copy{max-width:510px;margin:24px 0 0;color:var(--muted);font-size:1rem;line-height:1.75}.cta-row{display:flex;align-items:center;gap:12px;margin-top:30px;flex-wrap:wrap}.hero-card{overflow:hidden;border:1px solid #b8b2a8;border-radius:0;background:#f9f7f1;box-shadow:var(--shadow)}.hero-card-header{display:flex;align-items:center;gap:7px;min-height:39px;padding:0 15px;border-bottom:1px solid #c9c3b9;background:#e5e1d8}.dot{display:block;width:7px;height:7px;border-radius:50%}.dot.red{background:#a66550}.dot.amber{background:#b9985f}.dot.green{background:#78806a}.hero-preview{padding:clamp(22px,3vw,38px)}.preview-block{padding:clamp(22px,3vw,34px);border:1px solid var(--line);border-radius:0;background:var(--bg-strong)}.preview-block span,.mini-box span{display:block;margin-bottom:10px;color:var(--muted);font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.preview-block strong{display:block;max-width:380px;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2rem,3.4vw,3.2rem);font-weight:500;letter-spacing:-.025em;line-height:.98}.preview-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.mini-box{min-height:104px;padding:17px;border:1px solid var(--line);border-radius:0;background:var(--panel)}.mini-box strong{font-size:.95rem;font-weight:500;letter-spacing:-.02em}.accent-box{background:var(--accent-soft)}.preview-list{display:flex;flex-wrap:wrap;gap:0;margin-top:22px;border-top:1px solid var(--line)}.preview-list span{padding:10px 14px 0 0;margin:9px 14px 0 0;border-radius:0;color:var(--muted);font-size:.63rem;letter-spacing:.08em;text-transform:uppercase}.services{background:var(--panel)}.section-heading{max-width:700px;margin:0 auto 48px;text-align:center}.section-heading h2,.contact-copy h2,.about-copy h2{font-size:clamp(3rem,5.2vw,5.3rem)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card{min-height:250px;padding:26px 28px 30px;border:0;border-radius:0;background:transparent}.service-card+.service-card{border-left:1px solid var(--line)}.service-index{display:block;color:var(--accent);font-size:.67rem;font-weight:600;letter-spacing:.16em}.service-card h3{margin:30px 0 10px;font-family:Cormorant Garamond,Georgia,serif;font-size:2rem;font-weight:600;letter-spacing:-.02em;line-height:1}.service-card p{margin:0;color:var(--muted);font-size:.91rem;line-height:1.7}.about{background:var(--bg-strong)}.about-wrap{display:block}.about-copy{max-width:760px;margin:0 auto 42px;text-align:center}.about-copy h2{margin:0}.about-copy p{max-width:660px;margin:20px auto 0;color:var(--muted);font-size:1rem;line-height:1.75}.about-gallery{min-width:0}.contact-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(36px,7vw,100px);align-items:start}.contact-copy h2{max-width:520px}.contact-copy>p:not(.eyebrow){max-width:450px;margin:22px 0 0;color:var(--muted)}.contact-details{display:grid;gap:8px;margin-top:24px}.contact-details a{width:fit-content;border-bottom:1px solid var(--line);font-size:.95rem;font-weight:500;transition:color .2s ease}.contact-form{display:grid;gap:20px;padding:28px;border:1px solid var(--line);border-radius:0;background:var(--panel)}.contact-form label{display:grid;gap:8px;color:var(--text);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:0;padding:13px 14px;background:#fffefa;color:var(--text);font-size:.9rem;letter-spacing:normal;text-transform:none}.contact-form textarea{resize:vertical}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#8c887f}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:1px}.submit-button{width:100%;cursor:pointer}.submit-button:disabled{cursor:wait;opacity:.7}.form-feedback{margin:0;font-size:.88rem;line-height:1.55}.form-feedback.sent{color:#526344}.form-feedback.error{color:#9b3f30}.site-footer{padding:26px 0 34px;border-top:1px solid var(--line)}.footer-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}.copyright{margin:0;color:var(--muted);font-size:.78rem;letter-spacing:.05em}@media (max-width: 900px){.container{width:min(100% - 48px,700px)}.hero{padding:64px 0 76px}.hero-grid,.contact-wrap{grid-template-columns:1fr}.hero-copy h1{max-width:650px;font-size:clamp(4rem,11vw,6.5rem)}.hero-card{max-width:650px}.main-nav{gap:22px}}@media (max-width: 620px){.container{width:calc(100% - 36px)}.section{padding:76px 0}.nav-wrap{min-height:64px;gap:12px}.main-nav{display:none}.hero{padding:54px 0 66px}.hero-grid{gap:36px}.hero-copy h1{font-size:clamp(3.7rem,16vw,5rem)}.sub-copy{font-size:.94rem}.cta-row{align-items:stretch;flex-direction:column}.primary-button,.secondary-button{width:100%}.small{width:auto;min-height:38px;padding:0 11px;font-size:.58rem}.section-heading{margin-bottom:32px}.section-heading h2,.contact-copy h2,.about-copy h2{font-size:clamp(2.8rem,13vw,4rem)}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto;padding:24px 4px}.service-card+.service-card{border-top:1px solid var(--line);border-left:0}.service-card h3{margin-top:18px}.about-copy{margin-bottom:30px}.contact-form{padding:20px}.footer-wrap{align-items:flex-start;flex-direction:column}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
