:root { --plum:#321a35; --wine:#6f3a61; --rose:#dcaec4; --linen:#f8f4ee; --ink:#2a1b2a; --sage:#93a492; --paper:#fffdfa; --line:#ddced5; --ease:cubic-bezier(.23,1,.32,1); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--linen); font-family:Georgia, "Times New Roman", serif; }
a { color:inherit; text-decoration:none; }
button, input, textarea { font:inherit; }
.page-width { width:min(1180px, calc(100% - 48px)); margin:0 auto; }
.hero { min-height:735px; position:relative; overflow:hidden; color:#fffdf9; background:linear-gradient(125deg,#261526,#401d3e 48%,#25182d); }
.hero:after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(32,14,34,.62),transparent 58%),linear-gradient(0deg,rgba(23,13,26,.32),transparent 40%); }
.hero-image { position:absolute; inset:0 0 0 auto; width:59%; opacity:.82; background:linear-gradient(90deg,#401d3e 0%,transparent 35%),url("orchidee-hero.jpg") center/cover no-repeat; }
.hero-content { min-height:735px; position:relative; z-index:1; display:flex; flex-direction:column; }
.site-nav { min-height:106px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.15); }
.brand { display:inline-flex; align-items:center; gap:10px; font-size:17px; font-weight:700; letter-spacing:-.035em; }
.brand > span:last-child > span { color:#dcb3c8; }
.brand-bloom { width:30px; height:30px; display:grid; place-items:center; color:#efd4df; border:1px solid rgba(255,255,255,.42); border-radius:50%; font-family:Arial,sans-serif; }
.nav-contact { display:inline-flex; gap:8px; align-items:center; font:700 11px/1 Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; transition:color .2s var(--ease); }
.nav-contact:hover { color:#e5b6cc; }
.hero-copy { margin:auto 0 66px; max-width:590px; }
.eyebrow { display:flex; gap:11px; align-items:center; margin:0 0 18px; color:#e8cbd8; font:700 10px/1.4 Arial,sans-serif; letter-spacing:.17em; text-transform:uppercase; }
.eyebrow > span { width:28px; height:1px; background:currentColor; }
.eyebrow-ink { color:#815276; }
h1,h2 { margin:0; font-weight:400; letter-spacing:-.066em; line-height:.94; }
h1 { font-size:clamp(52px,7.1vw,94px); }
h2 { color:var(--plum); font-size:clamp(42px,5.2vw,66px); }
h1 em,h2 em { font-weight:400; color:#e0a9c2; }
h2 em { color:#9b5e83; }
.hero-lead { width:min(100%,420px); margin:30px 0; color:rgba(255,255,255,.78); font:15px/1.7 Arial,sans-serif; }
.button { display:inline-flex; min-height:52px; align-items:center; justify-content:center; gap:11px; padding:0 21px; border:1px solid transparent; border-radius:999px; font:700 11px/1 Arial,sans-serif; letter-spacing:.09em; text-transform:uppercase; transition:transform .16s var(--ease),background .2s var(--ease); }
.button:hover { transform:translateY(-2px); }
.button:active { transform:scale(.97); }
.button-light { color:#3d1d3d; background:#fffdf9; }
.button-light:hover { background:#ebcbda; }
.button-dark { width:100%; color:#fffaf7; background:var(--plum); }
.button-dark:hover { background:var(--wine); }
.hero-footnote { display:flex; align-items:flex-start; gap:16px; width:330px; margin-bottom:27px; color:rgba(255,255,255,.7); }
.hero-footnote > span { color:#e9bad0; font:11px/1 Arial,sans-serif; }
.hero-footnote p { margin:0; font:11px/1.55 Arial,sans-serif; }
.domains-section { position:relative; padding:126px 0 116px; background:#f8f4ee; }
.domains-section:before { content:""; position:absolute; width:300px; height:300px; left:-170px; top:60px; border-radius:50%; background:#f0dce5; filter:blur(25px); opacity:.55; }
.domain-layout { position:relative; display:grid; grid-template-columns:.88fr 1.12fr; gap:clamp(54px,10vw,150px); align-items:end; }
.domain-intro > p:not(.eyebrow) { max-width:420px; margin:28px 0 0; color:#665b63; font:15px/1.75 Arial,sans-serif; }
.domain-list { display:grid; gap:14px; }
.domain-card { display:grid; grid-template-columns:44px 1fr 42px; min-height:106px; align-items:center; padding:0 24px; border-bottom:1px solid #d4c6cd; background:rgba(255,255,255,.48); transition:background .24s var(--ease),transform .24s var(--ease),box-shadow .24s var(--ease); }
.domain-card:hover { background:var(--paper); transform:translateX(7px); box-shadow:0 18px 35px rgba(57,31,48,.08); }
.domain-number { color:#9a7c8d; font:11px/1 Arial,sans-serif; }
.domain-name { color:#3d243c; font-size:clamp(21px,2.4vw,30px); letter-spacing:-.04em; }
.domain-arrow { width:38px; height:38px; display:grid; place-items:center; color:#845575; border:1px solid #d7c2ce; border-radius:50%; font:22px/1 Arial,sans-serif; transition:color .2s var(--ease),background .2s var(--ease); }
.domain-card:hover .domain-arrow { color:white; background:var(--wine); }
.philosophy-section { padding:70px 0 125px; background:#f8f4ee; }
.philosophy-grid { display:grid; grid-template-columns:.98fr 1.02fr; align-items:center; min-height:445px; background:#ece4de; }
.philosophy-symbol { position:relative; min-height:445px; overflow:hidden; background:linear-gradient(145deg,#b7c1af,#83968a); }
.philosophy-symbol:before,.philosophy-symbol:after { content:""; position:absolute; border:1px solid rgba(253,249,241,.36); border-radius:50%; }
.philosophy-symbol:before { width:520px; height:520px; top:-110px; left:-170px; }
.philosophy-symbol:after { width:360px; height:360px; right:-62px; bottom:-205px; }
.line-orchid { position:absolute; left:50%; top:50%; width:190px; height:205px; transform:translate(-45%,-48%) rotate(-15deg); }
.line-orchid span { position:absolute; width:82px; height:117px; border:2px solid #fff8ef; border-radius:50% 50% 48% 48%; transform-origin:bottom center; }
.line-orchid span:nth-child(1) { left:54px; top:0; transform:rotate(0); }.line-orchid span:nth-child(2) { left:6px; top:55px; transform:rotate(-64deg); }.line-orchid span:nth-child(3) { right:7px; top:51px; transform:rotate(67deg); }.line-orchid span:nth-child(4) { left:27px; bottom:1px; transform:rotate(-116deg); }.line-orchid span:nth-child(5) { right:23px; bottom:1px; transform:rotate(116deg); }
.philosophy-copy { padding:clamp(46px,7vw,92px); }.philosophy-copy > p:not(.eyebrow) { max-width:470px; margin:27px 0 30px; color:#665b63; font:15px/1.75 Arial,sans-serif; }.principles { display:grid; grid-template-columns:1fr 1fr; gap:14px; color:#583451; font:700 12px/1.4 Arial,sans-serif; }.principles div { color:#583451; }
.contact-section { padding:0 0 122px; background:#f8f4ee; }.contact-grid { display:grid; grid-template-columns:.95fr 1.05fr; align-items:stretch; }.contact-aside { position:relative; min-height:668px; overflow:hidden; color:#fffdfb; background:linear-gradient(155deg,#482343,#211c2a 90%); }.contact-aside:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 27%,rgba(18,8,18,.78)); pointer-events:none; }.contact-detail-art { position:absolute; inset:0 0 auto 0; height:57%; background:linear-gradient(180deg,rgba(50,26,53,.07),rgba(32,28,42,.47)),url("orchidee-detail.jpg") center 44%/cover no-repeat; filter:saturate(.86); }.contact-aside-content { position:absolute; z-index:1; inset:auto 42px 39px; }.contact-aside h2 { color:#fffdfa; font-size:clamp(38px,4.7vw,56px); }.contact-aside h2 em { color:#e5b6cb; }.contact-details { display:grid; gap:18px; margin-top:37px; color:rgba(255,255,255,.83); font:13px/1.55 Arial,sans-serif; }.contact-details a,.contact-details p { margin:0; }.contact-details p span { margin-left:18px; }
.form-card { padding:clamp(38px,6vw,78px); background:var(--paper); }.form-heading { max-width:390px; }.mini-icon { width:33px; height:33px; display:grid; place-items:center; margin-bottom:25px; color:#6e3b62; border-radius:50%; background:#f4e7ed; font-family:Arial,sans-serif; }.form-heading .eyebrow { margin-bottom:13px; }.form-heading h2 { font-size:clamp(38px,4.3vw,55px); }.form-heading > p:last-child { margin:19px 0 29px; color:#6a6066; font:14px/1.6 Arial,sans-serif; }.contact-form { display:grid; gap:18px; }.contact-form label { display:grid; gap:8px; color:#5b4558; font:700 11px/1 Arial,sans-serif; letter-spacing:.055em; text-transform:uppercase; }.contact-form input:not([type=checkbox]),.contact-form textarea,.contact-form select { width:100%; padding:12px 0 10px; border:0; border-bottom:1px solid #d6c9cf; outline:0; background:transparent; color:var(--ink); font:15px/1.5 Arial,sans-serif; resize:vertical; }.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus { border-color:#875573; }.consent { display:flex!important; align-items:flex-start; gap:10px; margin:4px 0 3px; color:#746870!important; font:400 10px/1.55 Arial,sans-serif!important; letter-spacing:0!important; text-transform:none!important; }.consent input { width:14px; height:14px; margin:1px 0 0; accent-color:var(--plum); }.form-note { margin:22px 0 0; color:#857981; font:10px/1.55 Arial,sans-serif; }.honeypot { position:absolute!important; left:-10000px!important; top:auto!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.notice { margin:0 0 25px; padding:18px 20px; border-radius:8px; font:14px/1.55 Arial,sans-serif; }.notice ul { margin:8px 0 0; padding-left:20px; }.success { color:#4d244b; background:#f3e7ed; }.error { color:#652e38; background:#f8e6e7; }
.site-footer { color:rgba(255,255,255,.71); background:#261525; }.footer-inner { min-height:100px; display:flex; align-items:center; justify-content:space-between; gap:24px; }.brand-footer { color:#fffdfb; }.footer-inner > p,.footer-inner > a { margin:0; font:10px/1.5 Arial,sans-serif; }.footer-inner > a { color:#e8bacf; letter-spacing:.12em; text-transform:uppercase; }
@media (max-width:760px) { .page-width { width:min(100% - 36px,1180px); }.hero,.hero-content { min-height:690px; }.hero-image { width:100%; opacity:.38; }.hero-copy { margin:auto 0 42px; }.hero-copy h1 { font-size:clamp(53px,16vw,78px); }.hero-footnote { width:min(100%,310px); }.domain-layout,.philosophy-grid,.contact-grid { grid-template-columns:1fr; }.domain-layout { gap:43px; }.domains-section { padding:86px 0 79px; }.domain-card { grid-template-columns:35px 1fr 35px; min-height:91px; padding:0 15px; }.domain-name { overflow-wrap:anywhere; font-size:19px; }.philosophy-section { padding:0 0 84px; }.philosophy-symbol { min-height:325px; }.philosophy-copy { padding:46px 27px 54px; }.contact-section { padding-bottom:77px; }.contact-aside { min-height:510px; }.contact-aside-content { inset:auto 27px 30px; }.form-card { padding:42px 25px; }.footer-inner { min-height:140px; flex-wrap:wrap; align-content:center; }.footer-inner > p { order:3; width:100%; } }
