:root { --gold:#a77b2f; --gold-light:#e8c979; --ink:#28190f; --cream:#fbf6ef; --rose:#f7e4df; --serif:"Cormorant Garamond",Georgia,serif; --script:"Mrs Saint Delafield","Great Vibes",cursive; --sans:"Montserrat",Arial,sans-serif; }
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; background:var(--cream); color-scheme:light; }
html,body { max-width:100%; overflow-x:hidden; }
body { max-width:1680px; margin:0 auto; color:var(--ink); background:var(--cream); font-family:var(--sans); font-size:15px; line-height:1.62; }
a { color:inherit; }
.site-header { height:76px; padding:0 clamp(22px,5.4vw,88px); display:flex; align-items:center; justify-content:space-between; gap:24px; background:rgba(255,252,247,.97); position:relative; z-index:5; }
.brand { display:flex; align-items:center; gap:10px; text-decoration:none; color:#825d1d; font:500 13px/1.15 var(--serif); min-width:190px; }
.brand strong { font-weight:600; }
.brand__mark { width:43px; height:43px; }
.nav { display:flex; align-items:center; gap:clamp(18px,3vw,46px); }
.nav a { text-decoration:none; font-size:12px; font-weight:500; transition:color .2s; }
.nav a:hover { color:var(--gold); }
.header-cta { display:flex; align-items:center; gap:10px; padding:10px 20px; background:linear-gradient(110deg,#f8e6ac,#e4bf66); border-radius:999px; text-decoration:none; font-size:12px; font-weight:600; white-space:nowrap; }
.header-cta b { font-size:23px; line-height:12px; font-weight:400; }
.menu-toggle { display:none; }
.hero { height:min(clamp(560px,46vw,980px),calc(100svh - 76px)); min-height:535px; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:flex-end; padding:clamp(30px,7vw,110px); }
.hero__photo { position:absolute; inset:0; background:url("../assets/hero-nappali.jpg") 36% 47%/cover no-repeat; }
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 35%,rgba(255,249,240,.12) 47%,rgba(255,249,240,.72) 100%); }
.hero__content { z-index:1; width:min(46%,570px); text-align:center; padding:18px 0; }
.eyebrow { color:#9a7332; text-transform:uppercase; letter-spacing:.19em; font-size:10px; font-weight:600; margin-bottom:9px; }
h1,h2 { font:500 clamp(2.4rem,4.4vw,4.1rem)/.98 var(--serif); letter-spacing:-.035em; }
.hero h1 { color:#000; }
.hero h1 span { color:#000; }
.script { font:clamp(2rem,3.4vw,3.3rem)/1.1 var(--script); color:#9b702a; margin-top:13px; }
.hero .script { font:500 clamp(2.4rem,4.4vw,4.1rem)/.98 var(--serif); letter-spacing:-.035em; margin-top:0; }
.heart-divider { display:flex; align-items:center; justify-content:center; gap:8px; color:#99762f; margin:15px auto 10px; font-size:15px; }
.heart-divider span { height:1px; width:clamp(42px,10vw,120px); background:#a58247; }
.hero__question { font-size:clamp(14px,1.4vw,17px); line-height:1.4; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:15px; min-height:48px; border-radius:99px; padding:10px 21px; margin-top:20px; text-decoration:none; color:#26170b; background:linear-gradient(180deg,#fbe9b7,#e7c66f 72%,#d9b25a); box-shadow:0 5px 15px #a77b2f38,inset 0 1px 0 #fff; font-weight:600; font-size:14px; transition:transform .2s,box-shadow .2s; }
.button:hover,.button:focus-visible { transform:translateY(-2px); box-shadow:0 8px 22px #a77b2f50,inset 0 1px 0 #fff; }
.button:focus-visible,.nav a:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.button b { font-size:25px; font-weight:400; line-height:18px; }
.button__flower { font-size:22px; }
.hero__note { font-size:12px; margin-top:4.6px; }
.scroll-cue { position:absolute; z-index:2; bottom:15px; left:50%; transform:translateX(-50%); text-decoration:none; color:#815f26; font-size:25px; }
.split { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(28px,4.5vw,64px); background:#fbf6ef; padding:clamp(40px,4.5vw,64px) clamp(28px,6vw,96px); }
.split--reverse .copy { order:2; }
.split--reverse .photo { order:1; }
.copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; width:100%; max-width:720px; justify-self:start; padding:0; }
.copy h2 { font-size:clamp(2.25rem,3.2vw,3.25rem); margin:0 0 14px; }
.copy h2 em { color:#a77b2f; font-style:normal; }
.profile h2 em { color:inherit; font-style:normal; }
.copy p:not(.eyebrow) { max-width:none; font-size:15.75px; line-height:1.55; margin:0 0 10px; text-align:justify; hyphens:manual; text-wrap:pretty; }
blockquote { box-sizing:border-box; width:100%; font:600 clamp(1.45rem,2.4vw,2.3rem)/1.15 var(--serif); margin:10px 0 15px; padding:11px 28px 13px; color:#421c20; background:linear-gradient(90deg,#f5d8d4,#f8e4de); border-radius:32px; }
.photo { aspect-ratio:4/3; border-radius:26px; box-shadow:0 24px 54px rgba(120,87,44,.22); background-image:url("../assets/hero.jpg"); background-repeat:no-repeat; background-size:cover; }
.photo--serene { background-image:url("../assets/tukor-elott.jpg"); background-position:62% 30%; }
.photo--portrait { background-image:url("../assets/dreamy-spring.jpg"); background-position:50% 30%; }
.photo--blossom { background-image:url("../assets/blossom-drop.jpg"); background-position:50% 40%; }
.photo--products { background-image:url("../assets/products-collection.jpg"); background-position:50% 50%; }
.philosophy { padding:56px 5vw; text-align:center; background:linear-gradient(180deg,#f8f2e9,#fffaf4); }
.philosophy h2 { font-size:clamp(2.2rem,4vw,3.4rem); max-width:720px; margin:0 auto; }
.principles { max-width:1380px; margin:38px auto 0; display:grid; grid-template-columns:repeat(3,1fr); }
.principle { padding:4px clamp(18px,3vw,44px); position:relative; display:grid; grid-row:span 4; grid-template-rows:subgrid; row-gap:0; }
.principle .read-more-btn { justify-self:center; align-self:start; }
.principle + .principle::before { content:""; position:absolute; height:94px; width:1px; background:#c7a970; top:20px; left:0; }
.principle h3 { font:700 clamp(1.4rem,1.75vw,1.75rem)/1.1 var(--serif); letter-spacing:-.02em; margin-bottom:12px; }
.principle p { font-size:16px; line-height:1.5; }
.products { min-height:320px; }
.products .copy { padding-top:48px; padding-bottom:48px; }
.products .copy h2 { font-size:clamp(2.1rem,3vw,3rem); }
.read-more-btn { min-height:27px; padding:6px 13.5px; font-size:12.4px; margin-top:13.5px; gap:7px; }
.read-more-btn span { display:inline-block; transition:transform .3s; }
.read-more-btn[aria-expanded="true"] span { transform:rotate(-90deg); }
.read-more-panel { max-height:0; overflow:hidden; transition:max-height .45s ease; }
.read-more-panel.is-open { max-height:2000px; }
.read-more-panel__inner { box-sizing:border-box; margin-top:14px; padding:20px 24px; text-align:justify; hyphens:manual; background:linear-gradient(155deg,rgba(255,255,255,.82),rgba(248,230,225,.6)); border:1px solid rgba(199,169,112,.38); border-radius:16px; }
.copy .read-more-panel__inner { max-width:none; width:100%; }
div.read-more-panel__inner p { margin:0 0 14px; max-width:none; font-size:15.75px; line-height:1.55; text-align:justify; hyphens:manual; text-wrap:pretty; }
.principle div.read-more-panel__inner p { font-size:16px; line-height:1.5; }
.principle .read-more-panel__inner { padding:18px 16px; }
.principle div.read-more-panel__inner p { hyphens:auto; hyphenate-limit-chars:7 3 3; }
div.read-more-panel__inner p:last-child { margin-bottom:0; }
.read-more-panel__inner strong { font-weight:700; }
.profile { display:grid; grid-template-columns:1fr .9fr; align-items:center; gap:5vw; min-height:430px; padding:56px clamp(32px,9vw,140px); background:radial-gradient(ellipse at 100% 20%,#f5d9d1,transparent 31%),linear-gradient(110deg,#fff8ef,#f9eee3); overflow:hidden; }
.profile__copy { max-width:520px; }
.profile h2 { font-size:clamp(2.3rem,3.8vw,3.6rem); margin-bottom:13px; }
.profile__copy>p:not(.eyebrow) { font-size:15.75px; max-width:none; text-align:justify; hyphens:manual; text-wrap:pretty; }
.profile .button { font-size:13px; margin-top:38px; }
.profile .read-more-btn { font-size:12.4px; margin-top:16px; }
.profile__copy .read-more-panel__inner { max-width:520px; }
.profile__screen { width:100%; height:auto; filter:drop-shadow(0 24px 40px rgba(120,87,44,.28)); }
.facts { display:grid; grid-template-columns:repeat(4,1fr); padding:28px 10vw; text-align:center; background:#fffaf4; }
.facts div { display:flex; flex-direction:column; align-items:center; line-height:1.35; font-size:12px; }
.facts span { color:#a77b2f; font:34px/1 var(--serif); margin-bottom:6px; }.facts strong { font-weight:600; }.facts small { font-size:11px; }
.closing { min-height:380px; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:55px 20px 28px; background:linear-gradient(180deg,rgba(255,248,238,.93) 0%,rgba(255,248,238,.62) 35%,rgba(255,248,238,.22) 65%,rgba(255,248,238,.08) 100%),url("../assets/closing-sunrise.jpg") center 60%/cover no-repeat; }
.closing__heading { margin-top:-26px; }
.closing .button { margin-top:46px; }
.closing h2 { color:#651c28; font-size:clamp(2.25rem,4vw,3.8rem); }
.closing .script { font:500 clamp(2.25rem,4vw,3.8rem)/.98 var(--serif); letter-spacing:-.035em; color:#651c28; margin-top:5px; }
.footer { padding:18px 16px; text-align:center; font-size:10px; line-height:1.8; color:#6b5544; background:#fffaf4; }.footer a { text-decoration:none; }
@media(max-width:900px) { .site-header { height:68px; padding:0 22px; }.brand { min-width:auto; }.brand__mark { width:37px; height:37px; }.header-cta { padding:9px 13px; font-size:10px; }.hero { height:630px; min-height:0; }.hero__photo { background-position:58% center; }.hero::after { background:linear-gradient(90deg,transparent 15%,rgba(255,249,240,.1) 34%,rgba(255,249,240,.85) 100%); }.hero__content { width:50%; }.copy p:not(.eyebrow) { font-size:14.6px; }.profile { padding:48px 6vw; }.principles { grid-template-columns:1fr; max-width:540px; margin-top:28px; gap:38px; }.principle { display:block; grid-row:auto; padding:0 8px; }.principle + .principle::before { height:1px; width:80px; top:-19px; left:calc(50% - 40px); } }
@media(max-width:880px) { .site-header { height:64px; gap:10px; }.menu-toggle { margin-left:auto; display:flex; width:34px; height:34px; flex-direction:column; justify-content:center; gap:5px; border:0; background:transparent; cursor:pointer; }.menu-toggle span { display:block; width:22px; height:1px; background:#513b1e; }.nav { display:none; position:absolute; top:64px; left:0; right:0; padding:16px 22px 21px; background:#fffaf4; box-shadow:0 12px 16px #39200d12; flex-direction:column; align-items:flex-start; gap:15px; z-index:6; }.nav.is-open { display:flex; }.nav a { font-size:13px; white-space:normal; }.header-cta { padding:8px 11px; gap:5px; font-size:9px; }.header-cta span { display:none; } }
@media(max-width:640px) { body { font-size:14px; }.site-header { height:64px; gap:10px; padding:0 16px; }.brand { font-size:12px; }.brand__mark { width:34px; height:34px; }.hero { height:auto; min-height:760px; align-items:flex-end; justify-content:center; padding:0 18px 42px; }.hero__photo { background-image:url("../assets/hero-nappali-mobil.jpg"); background-position:center top; background-size:100% auto; background-color:#fbf0e7; }.hero::after { background:linear-gradient(180deg,transparent 28%,rgba(255,249,242,.16) 39%,#fbf6ef 64%); }.hero__content { width:100%; padding:0 18px; }.eyebrow { font-size:9px; letter-spacing:.1em; }.hero h1 { font-size:clamp(2.15rem,9vw,3.1rem); }.hero .script { font-size:clamp(2.15rem,9vw,3.1rem); margin-top:0; }.heart-divider { margin:8px auto; }.hero__question { font-size:14px; }.hero .button { margin-top:13px; }.hero__note { margin-top:2.3px; font-size:11px; }.scroll-cue { display:none; }.split { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:0; }.split--reverse .copy,.split--reverse .photo { order:initial; }.copy { padding:43px 25px; }.copy h2 { font-size:2.55rem; }.copy p:not(.eyebrow) { font-size:14.6px; }.photo { aspect-ratio:auto; min-height:280px; border-radius:0; box-shadow:none; }.photo--serene { background-position:68% 28%; }.photo--portrait { background-position:50% 25%; }.photo--blossom { background-position:50% 38%; }.photo--products { background-position:30% 50%; }.philosophy { padding:48px 21px; }.philosophy h2 { font-size:2.5rem; }.principles { margin-top:23px; }.principle p { font-size:14.5px; }.products .copy { padding:43px 25px; }.profile { display:flex; flex-direction:column; align-items:flex-start; gap:32px; padding:45px 25px 55px; }.profile h2 { font-size:2.7rem; }.profile__screen { align-self:center; width:90%; }.facts { grid-template-columns:repeat(2,1fr); gap:23px 9px; padding:25px 18px; }.closing { min-height:340px; background-position:center 70%; }.footer { font-size:9px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }
}
div.profile__copy div.read-more-panel__inner p { line-height:1.62; }
@media(max-width:640px) { .principle div.read-more-panel__inner p { font-size:14.5px; } }

.profile blockquote + .read-more-btn { margin-top:2px; }

.profile__media { display:flex; flex-direction:column; align-items:center; min-width:0; }
.profile__cta { display:flex; flex-direction:column; align-items:center; margin-top:6px; }
.profile__cta .button { margin-top:0; }
.profile__cta small { display:block; font-size:10px; margin:3.3px 0 0; line-height:1.5; }
@media(max-width:640px) { .profile__media { width:100%; } }
@media(max-width:900px) { .profile__cta .button { white-space:nowrap; font-size:12px; padding-inline:16px; } }
