:root{--ink:#223b5c;--body:#45566b;--blue:#eaf2f8;--blue-deep:#294c76;--purple:#716091;--lilac:#e4daef;--paper:#fff;--line:#dbe3ec;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;color:var(--body);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.65}body,h1,h2,h3,p{overflow-wrap:break-word}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--purple);outline-offset:5px}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3{color:var(--ink);font-weight:400;margin:0;line-height:1.15}h1,h2{font-family:var(--serif)}h2{font-size:clamp(2.1rem,3.5vw,3rem);letter-spacing:-.035em}h3{font-size:1.28rem;line-height:1.3}p{margin:0 0 1rem}.section-shell{max-width:1220px;margin:auto;padding-left:44px;padding-right:44px}.section-space{padding-top:96px;padding-bottom:96px}.eyebrow{font-size:.78rem;letter-spacing:.14em;font-weight:700;color:var(--blue-deep);line-height:1.65;margin-bottom:20px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:13px 24px;border:1px solid var(--ink);border-radius:5px;color:#fff;background:var(--ink);font-size:.94rem;font-weight:600;line-height:1.4;transition:background .2s,transform .2s}.button:hover{background:#33577f;transform:translateY(-2px)}.text-link{font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:5px;text-decoration-color:#9db1c9;font-size:.96rem}.text-link:hover{color:var(--purple)}.skip-link{position:fixed;z-index:20;top:8px;left:8px;padding:10px;background:var(--ink);color:white;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;z-index:10;top:0;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.header-inner{max-width:1330px;padding:6px 38px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:7px;color:var(--ink);font-family:var(--serif);font-size:1.15rem;line-height:1.3;flex-shrink:0}.brand-sub{font-size:.92rem}.brand img{width:86px;height:86px;object-fit:contain}.desktop-nav{display:flex;gap:28px;font-size:.9rem}.desktop-nav a:hover{color:var(--purple)}.header-actions{display:flex;align-items:center;gap:24px}.language-switch{display:flex;align-items:center;gap:3px;font-size:.875rem;color:#728097}.language-switch button{border:0;background:none;color:#586a7e;min-width:32px;min-height:44px;padding:5px}.language-switch button[aria-pressed=true]{font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:6px}.header-contact{min-height:42px;font-size:.87rem;padding:10px 18px}.menu-button{display:none;border:0;background:none;width:44px;height:44px;padding:11px}.menu-button span{display:block;background:var(--ink);height:2px;margin:6px 0}.mobile-nav{padding:8px 28px 25px;border-top:1px solid var(--line)}.mobile-nav a{display:block;padding:10px 0;font-size:1rem}.mobile-nav[hidden]{display:none}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:52px;align-items:center;padding-top:64px;padding-bottom:76px;min-height:650px}.hero-copy{padding:18px 0}.hero .eyebrow{font-size:.75rem;letter-spacing:.105em}.hero h1{font-size:clamp(2.8rem,4.75vw,4.35rem);line-height:1.08;letter-spacing:-.045em;margin-bottom:28px}.hero h1 em{display:block;color:var(--purple);font-weight:400;margin-top:4px}.hero-description{max-width:480px;font-size:1.06rem;line-height:1.75;margin-bottom:30px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:23px}.hero-note{display:flex;align-items:center;gap:13px;margin-top:33px}.hero-note p{margin:0;font-size:.8rem;line-height:1.5}.small-rule{width:29px;height:1px;background:var(--purple);flex-shrink:0}.hero-visual{position:relative;padding:0 0 33px}.hero-photo{width:100%;height:486px;object-fit:cover;border-radius:150px 10px 10px 10px;background:var(--blue)}.photo-caption{position:absolute;bottom:0;left:25px;right:-16px;background:var(--blue);border:1px solid #dce8f2;border-radius:4px;padding:21px 25px;box-shadow:0 12px 30px #253f6120;color:var(--ink)}.photo-caption span{display:block;font-size:.82rem;line-height:1.6}.photo-caption .caption-line{font-family:var(--serif);font-size:1.43rem;margin-bottom:4px}.service-strip{background:var(--blue);border-top:1px solid #dce8f2;border-bottom:1px solid #dce8f2}.strip-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:24px;padding-bottom:24px;color:var(--ink);font-size:.88rem}.strip-inner span+span{border-left:1px solid #c5d3e2;padding-left:24px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:40px}.section-heading .eyebrow{margin-bottom:14px}.section-heading>p{max-width:350px;margin:0;font-size:.95rem}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.service-card{padding:28px 26px 26px;border:1px solid var(--line);border-radius:7px;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s}.service-card:hover{border-color:#acbad0;box-shadow:0 6px 22px #233e6208}.card-top{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:23px}.service-number{color:var(--purple);font-family:var(--serif);font-size:1.2rem}.service-tag{font-size:.75rem;letter-spacing:.06em;color:var(--blue-deep);font-weight:600;text-align:right}.service-card h3{margin-bottom:14px;font-size:1.27rem}.service-card p{font-size:.94rem;line-height:1.7}.service-card .card-detail{font-size:.85rem;color:#59697a;border-top:1px solid #edf0f5;padding-top:13px;margin-top:auto;margin-bottom:19px}.service-link{display:inline-block;font-size:.9rem;color:var(--blue-deep);font-weight:600;text-decoration:underline;text-decoration-color:#adbad0;text-underline-offset:5px;align-self:flex-start}.service-link:hover{color:var(--purple)}.wedding-section{background:#e9e2f2;color:#504762;border-top:1px solid #ded2ec;border-bottom:1px solid #ded2ec}.wedding-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;padding-top:75px;padding-bottom:75px;align-items:center}.wedding-section .eyebrow{color:#675481}.wedding-section h2{font-size:clamp(2.7rem,4.4vw,4rem);max-width:550px;color:#49385e}.wedding-section h2 em{display:block;margin-top:4px;color:#79618f}.wedding-inner>div>p:not(.eyebrow){max-width:470px;margin:24px 0 28px}.light-button{background:#fff;border-color:#fff;color:#49385e}.light-button:hover{background:#f8f5fd;color:#49385e}.wedding-options>div{position:relative;padding:0 0 23px 43px;border-bottom:1px solid #ccc0dc;margin-bottom:23px}.wedding-options>div:last-child{padding-bottom:0;border:0;margin-bottom:0}.wedding-options span{position:absolute;left:0;top:0;color:#8c769f;font-family:var(--serif);font-size:1.2rem}.wedding-options h3{color:#49385e;font-size:1.17rem;margin-bottom:7px}.wedding-options p{font-size:.94rem;line-height:1.65;margin:0}.about-section{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.about-role{font-size:.93rem;margin-top:19px;max-width:270px}.signature{font-family:var(--serif);font-style:italic;font-size:1.8rem;color:var(--purple);margin-top:35px}.about-copy p{font-size:1.02rem;margin-bottom:23px}.about-values{display:flex;flex-wrap:wrap;gap:12px;padding-top:5px}.about-values span{font-size:.8rem;padding:6px 13px;background:var(--blue);border-radius:4px;color:var(--blue-deep)}.process-section{background:#f7f9fc;border-top:1px solid #edf0f5;border-bottom:1px solid #edf0f5}.process-section .section-space{padding-top:72px;padding-bottom:72px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px}.step-number{display:inline-flex;align-items:center;justify-content:center;border:1px solid #a7b8ca;border-radius:50%;width:37px;height:37px;color:var(--blue-deep);font-family:var(--serif);font-size:1.05rem;margin-bottom:23px}.process-grid h3{font-size:1.15rem;margin-bottom:14px}.process-grid p{font-size:.94rem;margin:0}.faq-section{display:grid;grid-template-columns:1fr 1.45fr;gap:90px}.faq-intro{margin:20px 0 0;max-width:280px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;padding:21px 35px 21px 0;position:relative;font-size:1rem;font-weight:600;color:var(--ink);line-height:1.5}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font-size:1.35rem;position:absolute;right:4px;top:17px;color:var(--purple);font-weight:400}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:.94rem;padding:0 24px 8px 0;line-height:1.75}.contact-section{background:var(--blue);border-top:1px solid #dce8f2;border-bottom:1px solid #dce8f2}.contact-inner{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center;padding-top:78px;padding-bottom:72px}.contact-inner h2{max-width:500px}.contact-inner>div>p:not(.eyebrow):not(.contact-number){max-width:420px;margin-top:22px;margin-bottom:26px}.contact-actions{display:flex;gap:12px;flex-wrap:wrap}.outline-button{background:transparent;color:var(--ink)}.outline-button:hover{color:white}.contact-number{font-size:1.06rem;margin-top:20px;margin-bottom:0;color:var(--blue-deep)}.contact-number a:hover{text-decoration:underline}.contact-panel{background:#fff;padding:32px;border-radius:6px;border:1px solid #d9e4ee}.contact-panel .eyebrow{font-size:.75rem;margin-bottom:16px}.email-link{font-size:1.04rem;color:var(--ink);text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere;font-weight:600}.contact-panel p{font-size:.88rem;line-height:1.7;margin-top:20px}.contact-divider{border-top:1px solid var(--line);margin-top:25px}.contact-panel .contact-location{font-size:.9rem}.contact-panel .instagram{font-size:.88rem;overflow-wrap:anywhere}.legal-notice{padding-top:36px;padding-bottom:32px}.legal-notice p{font-size:.88rem;line-height:1.65;color:#526276;margin-bottom:12px}.legal-notice .legal-heading{font-weight:700;color:var(--ink);margin-bottom:16px}.legal-source{font-size:.8rem;text-decoration:underline;text-underline-offset:3px;color:#536880}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:22px;padding-bottom:28px;border-top:1px solid var(--line);font-size:.76rem;color:#607087}.site-footer a{text-decoration:underline;text-underline-offset:3px}section[id]{scroll-margin-top:12px}@media(min-width:1440px){.hero{padding-top:78px;padding-bottom:86px;gap:70px}.hero h1{font-size:4.5rem}}@media(max-width:1100px){.desktop-nav{gap:18px}.header-inner{padding-left:20px;padding-right:20px;gap:15px}.header-actions{gap:15px}.brand{font-size:1.02rem}.brand-sub{font-size:.85rem}.section-shell{padding-left:32px;padding-right:32px}.hero{gap:35px;min-height:600px}.hero h1{font-size:3.3rem}.hero-photo{height:440px}.services-grid{gap:14px}.service-card{padding:25px 20px}.wedding-inner{gap:65px}.faq-section{gap:55px}.contact-inner{gap:40px}}@media(max-width:900px){.desktop-nav,.header-contact{display:none}.menu-button{display:block}.header-inner{padding-top:1px;padding-bottom:1px}.brand img{width:75px;height:75px}.hero{gap:30px;padding-top:45px;padding-bottom:55px;min-height:auto}.hero h1{font-size:2.75rem}.hero-description{font-size:1rem}.hero .eyebrow{font-size:.75rem}.hero-actions{gap:18px}.hero-actions .button{padding-left:18px;padding-right:18px}.hero-photo{height:405px;border-top-left-radius:120px}.photo-caption{left:15px;right:-8px;padding:18px}.photo-caption .caption-line{font-size:1.25rem}.strip-inner{font-size:.8rem;gap:15px}.strip-inner span+span{padding-left:15px}.section-space{padding-top:70px;padding-bottom:70px}.section-heading{align-items:flex-start;gap:30px}.section-heading>p{max-width:300px}.services-grid{grid-template-columns:repeat(2,1fr);gap:19px}.wedding-inner{gap:45px}.about-section{gap:45px}.process-grid{gap:30px}.faq-section{grid-template-columns:1fr 1.3fr;gap:40px}.contact-inner{gap:32px;grid-template-columns:1fr 1fr}.contact-panel{padding:25px}.site-footer{flex-wrap:wrap}}@media(max-width:660px){html{scroll-padding-top:86px}.header-inner{padding-left:13px;padding-right:14px;gap:5px}.brand{gap:1px;font-size:.93rem}.brand-sub{font-size:.8rem}.brand img{width:67px;height:67px}.header-actions{gap:7px}.language-switch{gap:0;font-size:.875rem}.language-switch button{min-width:29px}.menu-button{width:39px;padding:9px}.section-shell{padding-left:24px;padding-right:24px}.hero{grid-template-columns:1fr;padding-top:33px;padding-bottom:41px;gap:28px}.hero-copy{padding:0}.hero h1{font-size:clamp(2.8rem,9.8vw,3.7rem);line-height:1.1;margin-bottom:23px}.hero .eyebrow{font-size:.75rem;max-width:100%;margin-bottom:18px}.hero-description{font-size:1.02rem;margin-bottom:24px}.hero-actions{gap:18px}.hero-note{margin-top:24px}.hero-note p{font-size:.78rem}.hero-photo{height:310px;object-position:center;border-top-left-radius:105px}.hero-visual{margin-right:4px;padding-bottom:33px}.photo-caption{left:18px;right:-4px;padding:17px 20px}.photo-caption .caption-line{font-size:1.3rem}.photo-caption span{font-size:.8rem}.strip-inner{flex-direction:column;align-items:flex-start;gap:8px;padding-top:21px;padding-bottom:21px}.strip-inner span{font-size:.86rem}.strip-inner span+span{padding-left:0;border-left:0}.section-space{padding-top:60px;padding-bottom:60px}.section-heading{flex-direction:column;gap:20px;margin-bottom:30px}.section-heading>p{max-width:100%}.eyebrow{font-size:.75rem;margin-bottom:15px}h2{font-size:2.3rem}.services-grid{grid-template-columns:1fr;gap:16px}.service-card{padding:25px}.service-card h3{font-size:1.35rem}.service-card p{font-size:1rem}.service-card .card-detail{font-size:.88rem}.service-tag{font-size:.75rem}.card-top{margin-bottom:20px}.service-link{font-size:.94rem}.wedding-inner{grid-template-columns:1fr;gap:42px;padding-top:55px;padding-bottom:55px}.wedding-section h2{font-size:3.1rem}.wedding-inner>div>p:not(.eyebrow){font-size:1rem}.wedding-options p{font-size:1rem}.wedding-options h3{font-size:1.2rem}.about-section{grid-template-columns:1fr;gap:28px}.about-role{max-width:100%;margin-top:17px}.signature{margin-top:21px;font-size:1.65rem}.about-copy p{font-size:1rem}.about-values span{font-size:.83rem}.process-section .section-space{padding-top:56px;padding-bottom:56px}.process-grid{grid-template-columns:1fr;gap:30px}.process-grid article{position:relative;padding-left:53px}.step-number{position:absolute;left:0;top:0;width:34px;height:34px}.process-grid h3{font-size:1.18rem;margin-bottom:10px}.process-grid p{font-size:1rem}.faq-section{grid-template-columns:1fr;gap:30px}.faq-intro{max-width:100%}.faq-list summary{font-size:1rem}.faq-list details p{font-size:1rem}.contact-inner{grid-template-columns:1fr;gap:35px;padding-top:55px;padding-bottom:50px}.contact-inner h2{font-size:2.4rem}.contact-panel{padding:25px}.contact-panel p{font-size:.91rem}.email-link{font-size:1rem}.legal-notice p{font-size:.88rem}.site-footer{flex-direction:column;align-items:flex-start;gap:9px;font-size:.82rem;padding-top:22px;padding-bottom:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{.site-header{position:static}.language-switch,.menu-button,.hero-actions,.site-footer a{display:none}.hero-photo{height:260px}.section-space{padding-top:30px;padding-bottom:30px}.service-card,.wedding-section,.contact-section{break-inside:avoid}.faq-list details>p{display:block}.button{color:var(--ink);background:transparent}.hero{min-height:0}a[href^="mailto"]{overflow-wrap:anywhere}}

/* Karina's portrait and company story */
.about-section{align-items:center}
.about-identity{width:100%;max-width:390px;justify-self:center}
.about-portrait{width:100%;height:auto;border-radius:6px}
.about-identity .signature{margin-top:18px}
.about-copy .about-role{font-size:.93rem;max-width:none;margin:18px 0 26px}
.about-copy .about-purpose{border-left:3px solid var(--purple);padding-left:20px;color:var(--ink)}
@media(max-width:660px){.about-identity{max-width:360px}.about-copy .about-purpose{padding-left:16px}.about-copy .about-role{margin-bottom:24px}}

/* Display the supplied design's portrait without changing the image. */
.about-portrait-window{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:6px}
.about-portrait-window .about-portrait{position:absolute;width:220%;max-width:none;height:auto;left:-117.6471%;top:-11.7647%;border-radius:0}
