@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600&family=Young+Serif&display=swap');
:root{--shell:#fff7ef;--apricot:#f4ad82;--blue:#b8cbe2;--plum:#47283f;--sage:#cbd6bb;--ink:#30252c}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;background:var(--shell);color:var(--ink);font:16px/1.65 "Plus Jakarta Sans",sans-serif;overflow-x:hidden}
a{color:inherit}
img{display:block;max-width:100%}
.wrap{width:min(1160px,calc(100% - 44px));margin:auto}
.nav{height:86px;display:flex;align-items:center;justify-content:space-between}
.brand{font:28px "Young Serif";text-decoration:none;display:flex;align-items:center;gap:10px}
.drop{width:27px;height:32px;background:var(--plum);border-radius:60% 40% 65% 35%;transform:rotate(28deg)}
.nav nav{display:flex;gap:26px;font-size:13px}
.nav nav a{text-decoration:none}
.hero{padding:50px 0 0}
.hero-copy{text-align:center;max-width:950px;margin:auto}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:600}
.hero h1,.services h2,.method h2,.scope h2,.contact h2{font-family:"Young Serif";font-weight:400;letter-spacing:-.035em;line-height:.95}
.hero h1{font-size:clamp(68px,9vw,126px);margin:25px 0 30px}
.hero h1 i{color:var(--plum)}
.hero p{font-size:20px;max-width:690px;margin:0 auto 32px}
.hero a{display:inline-block;background:var(--plum);color:white;padding:14px 22px;border-radius:60% 40% 60% 40%/50%;text-decoration:none}
.hero-visual{margin-top:55px;height:560px;overflow:hidden;border-radius:52% 48% 12% 12%/25% 25% 8% 8%}
.hero-visual img{width:100%;height:100%;object-fit:cover}
.ribbon{background:var(--plum);color:white;padding:40px 0}
.ribbon .wrap{display:flex;justify-content:space-between;gap:30px}
.ribbon span{max-width:300px}
.ribbon b{display:block;color:var(--apricot);margin-bottom:5px}
.intro{padding:130px 0}
.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:9vw}
.intro h2{font:400 clamp(48px,6vw,78px)/1 "Young Serif";margin:0}
.intro p{font-size:19px}
.services{padding:120px 0;background:var(--blue)}
.services h2{font-size:clamp(62px,8vw,110px);margin:0 0 80px}
.petals{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.petal{padding:30px;background:var(--shell);min-height:620px;display:flex;flex-direction:column}
.petal:nth-child(1){border-radius:90px 20px 80px 30px}
.petal:nth-child(2){border-radius:20px 100px 30px 90px;background:#efd6c4}
.petal:nth-child(3){border-radius:30px 80px 20px 100px;background:var(--sage)}
.petal:nth-child(4){border-radius:100px 30px 90px 20px}
.petal img{height:390px;width:100%;object-fit:contain}
.petal h3{font:400 41px/1 "Young Serif";margin:20px 0 12px}
.petal p{margin:0}
.seam{background:var(--plum);color:white;padding:130px 0}
.seam-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}
.seam img{height:590px;width:100%;object-fit:cover;border-radius:45% 55% 44% 56%}
.seam h2{font:400 clamp(55px,7vw,92px)/.95 "Young Serif";margin:20px 0}
.seam h2 em{color:var(--apricot)}
.fine{font-size:13px;border-top:1px solid rgba(255,255,255,.4);padding-top:18px;margin-top:30px}
.method{padding:130px 0}
.method h2{font-size:clamp(60px,8vw,108px);margin:0 0 90px}
.meander{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:70px 14vw}
.meander:before{content:"";position:absolute;inset:11% 20%;border:3px solid var(--apricot);border-left-color:transparent;border-radius:45%;transform:rotate(-8deg)}
.bend{position:relative;z-index:1;background:var(--shell);padding:28px;border:1px solid rgba(71,40,63,.2);border-radius:35px}
.bend h3{font:32px "Young Serif";margin:0 0 12px}
.bend:before{content:"";display:block;width:17px;height:17px;border-radius:50%;background:var(--plum);margin-bottom:24px}
.scope{padding:120px 0;background:var(--apricot)}
.scope h2{font-size:clamp(60px,8vw,108px);margin:0 0 70px}
.waves{display:grid;grid-template-columns:.9fr 1.1fr}
.wave{padding:60px}
.wave:first-child{background:var(--sage);border-radius:80px 0 0 80px}
.wave:last-child{background:var(--shell);border-radius:0 80px 80px 0}
.wave h3{font:38px "Young Serif"}
.wave li,.wave p{font-size:14px}
.contact{padding:130px 0}
.contact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:end}
.contact h2{font-size:clamp(70px,10vw,135px);margin:0}
.contact-card{border-top:2px solid var(--plum);padding-top:25px}
.email{font-weight:600;color:var(--plum);overflow-wrap:anywhere}
.footer{background:var(--plum);color:white;padding:28px 0;font-size:12px}
.footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap}
.footer a{margin-left:18px}
.legal-main{width:min(840px,calc(100% - 38px));margin:auto;padding:80px 0 120px}
.legal-main h1{font:400 clamp(58px,8vw,95px)/.95 "Young Serif"}
.legal-main h2{font:400 30px "Young Serif";margin-top:45px}
.back{display:inline-block;margin-top:30px}

@media(max-width:760px){.wrap{width:calc(100% - 28px)}
.nav nav{display:none}
.hero h1{font-size:67px;overflow-wrap:anywhere}
.hero-visual{height:420px;border-radius:45% 45% 8% 8%}
.ribbon .wrap{display:block}
.ribbon span{display:block;margin:18px 0}
.intro,.services,.seam,.method,.scope,.contact{padding:85px 0}
.intro-grid,.petals,.seam-grid,.waves,.contact-grid{grid-template-columns:1fr}
.intro-grid{gap:35px}
.petal{min-height:0}
.petal img{height:290px}
.seam-grid{gap:45px}
.seam img{height:390px}
.meander{grid-template-columns:1fr;gap:25px}
.meander:before{left:15px;right:auto;top:0;bottom:0;width:3px;border:0;background:var(--apricot)}
.bend{margin-left:30px}
.waves{gap:0}
.wave{padding:38px 28px}
.wave:first-child{border-radius:50px 50px 0 0}
.wave:last-child{border-radius:0 0 50px 50px}
.contact-grid{gap:45px}
.footer a{margin:0 14px 0 0}
.legal-main h1{font-size:58px;overflow-wrap:anywhere}
}

