@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--ink:#20213d;--muted:#61627d;--paper:#f8f9ff;--lav:#e8e4ff;--blue:#cdeaff;--peach:#ffd9cb;--mint:#d9f4ea;--line:rgba(32,33,61,.16);--mono:'DM Mono',monospace;--sans:'DM Sans',sans-serif;--serif:'Playfair Display',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:1rem;z-index:30}.site-header{height:84px;padding:0 clamp(20px,5vw,80px);display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:10;width:100%;border-bottom:1px solid rgba(32,33,61,.1)}.brand{display:flex;align-items:center;gap:10px;font:500 10px/1.08 var(--mono);letter-spacing:.1em}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--ink);border-radius:50%;font-size:9px;letter-spacing:0}.site-header nav{display:flex;gap:28px;font:500 11px var(--mono);text-transform:uppercase}.site-header nav a{position:relative}.site-header nav a:after{content:'';height:1px;width:0;background:var(--ink);position:absolute;bottom:-5px;left:0;transition:width .25s}.site-header nav a:hover:after{width:100%}.header-call{font:500 11px var(--mono);border:1px solid var(--ink);padding:10px 16px;border-radius:100px}.menu-toggle{display:none}.hero{min-height:800px;overflow:hidden;position:relative;padding:190px clamp(20px,12vw,190px) 100px;background:linear-gradient(125deg,#f2f4ff 3%,#e0f4f4 52%,#f9e5df)}.hero-content{position:relative;z-index:2;max-width:550px}.eyebrow,.section-kicker{font:500 11px var(--mono);letter-spacing:.1em}.hero h1,.intro h2,.services h2,.gallery h2,.contact h2{font:500 clamp(48px,7vw,100px)/.95 var(--serif);letter-spacing:-.065em;margin:18px 0 26px}.hero h1 em,.contact h2 em,.statement em{font-weight:500}.hero-copy{font-size:18px;line-height:1.55;max-width:380px;color:#3b3c58}.button{display:inline-flex;gap:28px;align-items:center;margin-top:25px;padding:16px 21px;border-radius:100px;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#4a4c79}.hero-image{position:absolute;width:min(38vw,550px);height:600px;margin:0;right:9vw;top:142px;border-radius:280px 280px 14px 14px;overflow:hidden;box-shadow:18px 20px 0 rgba(255,255,255,.34)}.hero-image img{object-position:center}.hero-image figcaption{position:absolute;bottom:15px;left:20px;color:#fff;font:10px var(--mono);letter-spacing:.08em}.orb-a,.orb-b{position:absolute;border-radius:50%;filter:blur(1px);opacity:.6}.orb-a{width:220px;height:220px;background:var(--lav);right:42%;bottom:3%}.orb-b{width:60px;height:60px;background:#fff;right:6%;top:22%}.scroll-cue{position:absolute;left:5vw;bottom:36px;font:10px var(--mono);letter-spacing:.15em;display:flex;align-items:center;gap:10px}.scroll-cue i{display:block;width:35px;height:1px;background:var(--ink)}.intro{padding:150px clamp(20px,12vw,190px);display:grid;grid-template-columns:1fr 1.7fr 1.1fr;gap:45px;align-items:start}.intro-copy h2{font-size:clamp(43px,5.2vw,76px)}.intro-copy p{color:var(--muted);max-width:555px;font-size:17px}.about-panel{background:var(--blue);padding:30px;min-height:350px;position:relative;overflow:hidden}.about-panel p{font:11px var(--mono);letter-spacing:.08em;margin:0 0 47px}.about-panel strong{font:500 29px/1 var(--serif);letter-spacing:-.04em}.about-panel svg{position:absolute;bottom:-3px;right:-5px;width:176px;fill:none;stroke:var(--ink);stroke-width:1.2}.about-line{width:45px;height:1px;background:var(--ink);display:block;margin-bottom:18px}.services{padding:125px clamp(20px,9vw,140px);background:#fff}.services-heading{display:flex;justify-content:space-between;align-items:end;margin:0 auto 70px;max-width:1280px}.services-heading h2,.gallery h2,.contact h2{margin-bottom:0}.services-heading>p{width:300px;color:var(--muted);font-size:15px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1280px;margin:auto;border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:32px 28px 25px;min-height:245px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .25s,transform .25s}.service-card:hover{background:var(--lav);transform:translateY(-4px)}.service-icon{font:30px var(--serif)}.service-card h3{font-size:20px;margin:23px 0 8px}.service-card p{font-size:14px;color:var(--muted);margin:0;max-width:290px}.service-card .price{font:500 12px var(--mono);color:var(--ink);margin-top:17px}.statement{height:420px;background:linear-gradient(115deg,#c6c4f3,#95d9e7 47%,#f6c7b7);display:grid;place-items:center;position:relative;overflow:hidden}.statement:before,.statement:after{content:'';position:absolute;width:55vw;height:55vw;border:1px solid rgba(255,255,255,.65);border-radius:50%;left:-17vw;top:-28vw}.statement:after{width:38vw;height:38vw;left:auto;right:-13vw;top:auto;bottom:-30vw}.statement p{margin:0;color:#fff;position:relative;z-index:1;text-align:center;font:500 clamp(50px,10vw,150px)/.8 var(--serif);letter-spacing:-.08em;text-shadow:0 2px 20px rgba(45,60,92,.15)}.gallery{padding:145px 0 140px;overflow:hidden}.gallery-head{display:flex;justify-content:space-between;align-items:end;padding:0 clamp(20px,9vw,140px) 60px}.slider-controls{display:flex;align-items:center;gap:13px;font:11px var(--mono)}.slider-controls button{border:1px solid var(--ink);background:transparent;border-radius:50%;height:43px;width:43px;color:var(--ink);font-size:18px;cursor:pointer}.slider-controls button:hover{background:var(--ink);color:#fff}.gallery-window{padding-left:clamp(20px,9vw,140px)}.gallery-track{display:flex;gap:20px;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.gallery figure{margin:0;position:relative;flex:0 0 min(44vw,550px);height:490px;overflow:hidden;border-radius:4px}.gallery figcaption{background:#fff;position:absolute;bottom:0;left:0;padding:12px 16px;font:11px var(--mono);letter-spacing:.06em}.contact{padding:120px clamp(20px,12vw,190px);display:grid;grid-template-columns:1fr 1fr;gap:60px;background:var(--peach)}.contact-details{padding-top:18px}.contact-details>a{display:block;position:relative;padding:0 38px 28px 0;margin-bottom:25px;border-bottom:1px solid rgba(32,33,61,.28);font-size:18px;line-height:1.55}.contact-details a:hover{color:#4b4d83}.contact-details span{display:block;font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}.contact-details b{position:absolute;right:0;top:0;font-weight:400}footer{padding:44px clamp(20px,5vw,80px);display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:#fff}footer .brand-mark{border-color:#fff}footer p{font:11px/1.6 var(--mono);text-align:center;margin:0;color:#d9daf2}footer p a{text-decoration:underline;text-underline-offset:3px}.back-top{font:11px var(--mono)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:820px){.site-header{height:68px}.site-header nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);padding:24px;flex-direction:column;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.menu-toggle{display:block;background:none;border:0;font:11px var(--mono);color:var(--ink)}.header-call{display:none}.hero{min-height:850px;padding:135px 24px 70px}.hero-image{top:auto;bottom:58px;right:24px;width:calc(100% - 48px);height:410px;border-radius:220px 220px 12px 12px;opacity:.78}.hero-copy{font-size:16px}.scroll-cue{display:none}.intro{padding:85px 24px;grid-template-columns:1fr;gap:28px}.about-panel{min-height:240px}.services{padding:80px 24px}.services-heading,.gallery-head{display:block}.services-heading>p{width:auto;margin-top:25px}.service-grid{grid-template-columns:1fr}.statement{height:280px}.gallery{padding:90px 0}.gallery-head{padding:0 24px 35px}.slider-controls{margin-top:28px}.gallery-window{padding-left:24px}.gallery figure{flex-basis:80vw;height:380px}.contact{padding:80px 24px;grid-template-columns:1fr;gap:28px}.contact h2{font-size:62px}footer{display:grid;gap:25px;justify-items:start}footer p{text-align:left}.back-top{position:absolute;right:24px}}
