/* Editorial experience page. No external dependencies or web fonts. */
.experiences-page{background:#f7f0e5}.experiences-page section{scroll-margin-top:72px}.experiences-page .reveal{opacity:1;transform:none}
.offers-header{position:fixed;height:76px;background:rgba(14,42,35,.97);box-shadow:0 8px 25px #0e2a2326;padding-inline:4.2%}
.offers-header nav{gap:19px}.offers-back{font-size:11px;letter-spacing:.06em;color:#eed8ae;border-bottom:1px solid #e5c995;padding-bottom:6px;white-space:nowrap}
.offers-hero{height:min(750px,82svh);min-height:595px;position:relative;background:#14382e;color:white;display:flex;align-items:center;isolation:isolate;overflow:hidden;margin-top:76px}
.offers-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 56%;z-index:-2}
.offers-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#092a23ef 0%,#123b31c9 36%,#163d3180 65%,#163d312e 100%),linear-gradient(0deg,#092a238e,transparent 40%)}
.offers-hero-body{padding-top:36px}.offers-hero h1{font-family:var(--font-display);font-size:clamp(60px,7vw,103px);letter-spacing:-.064em;line-height:1.03;margin:26px 0 24px;max-width:980px;font-weight:400}
.offers-hero h1 em{font-weight:400;color:#e8c491}.offers-hero-body>p{font-size:16px;line-height:1.8;color:#fff4e1;max-width:580px}.offers-hero-actions{display:flex;align-items:center;gap:27px;margin-top:27px;flex-wrap:wrap}.offers-text-link{color:#f3dbb0;font-size:12px;font-weight:700;border-bottom:1px solid #ead3ac;padding:8px 0}.offers-hero-foot{position:absolute;bottom:27px;left:0;right:0;display:flex;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:.16em;color:#f5dfb9}
.lunch-experience{padding:112px 0 105px;background:#f7f0e5}.offer-section-heading{max-width:890px;margin-bottom:37px}.offer-section-heading h2{font-size:clamp(42px,5vw,70px);letter-spacing:-.05em;line-height:1.1;margin:14px 0}.offer-section-heading h2 em{color:#ad6343}.offer-section-heading p{font-size:15px;line-height:1.85;color:#4f5f52;max-width:710px}.offer-heading-row{display:flex;align-items:center;justify-content:space-between;gap:25px}.offer-heading-row h2{margin-bottom:10px}.offer-price-pill{border:1px solid #c9ae86;padding:13px 22px;text-align:center;white-space:nowrap;background:#fffcf5;box-shadow:0 10px 35px #98846715}.offer-price-pill strong{display:block;font-family:var(--font-display);font-size:34px;color:#184536;letter-spacing:-.04em}.offer-price-pill small{font-size:11px;color:#6d786e}
.lunch-editorial{display:grid;grid-template-columns:1.35fr .92fr;gap:30px;align-items:stretch}.lunch-dish-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.lunch-dish-card{background:#fffaf1;border:1px solid #e3d1b9;overflow:hidden}.lunch-dish-card img{width:100%;aspect-ratio:4/5;object-fit:cover}.lunch-dish-card-body{padding:17px 15px}.lunch-dish-card-body small{display:block;letter-spacing:.1em;color:#a35b39;font-size:10px;text-transform:uppercase;font-weight:800}.lunch-dish-card-body h3{font-size:23px;line-height:1.18;margin:12px 0}.lunch-dish-card-body p{font-size:12px;line-height:1.65;color:#526354}.lunch-dish-card-body a{display:inline-block;color:#2a5542;border-bottom:1px solid #2a5542;font-size:11px;font-weight:800;padding-bottom:4px}.lunch-pick{background:#173b32;color:#fff6e8;padding:clamp(24px,3.6vw,49px);display:flex;flex-direction:column;align-items:flex-start;min-width:0}.lunch-smallmark{color:#d7ba88;letter-spacing:.13em;font-size:11px}.lunch-pick h3{font-size:clamp(35px,3.2vw,47px);line-height:1.1;letter-spacing:-.04em;margin:25px 0 18px}.lunch-pick>p{font-size:14px;line-height:1.85;color:#d9dfd4}.lunch-softdrink-icon{display:flex;align-items:center;gap:13px;width:100%;border:1px solid #ecddbc42;padding:10px;margin:18px 0}.lunch-softdrink-icon img{width:75px;height:75px;object-fit:cover}.lunch-softdrink-icon strong{display:block;font-size:13px;margin-bottom:7px}.lunch-softdrink-icon span{font-size:11px;display:block;line-height:1.6;color:#dbd5c7}.lunch-terms{display:flex;gap:12px;margin:auto 0 25px;padding-top:22px}.lunch-terms>span{color:#e0bc87;font-size:23px}.lunch-terms strong{display:block;font-size:12px}.lunch-terms small{display:block;font-size:11px;line-height:1.55;color:#d0d8cb;margin-top:7px}.offers-cost-note{margin:22px 0 0;line-height:1.7;font-size:12px;color:#647266}
.grad-intro{min-height:670px;background:#143b31;color:white;position:relative;isolation:isolate;display:flex;align-items:center;overflow:hidden;padding:90px 0}.grad-intro-image{z-index:-2;position:absolute;inset:0;background:url('assets/grad-request-arrival.webp') center center / cover no-repeat;opacity:.26}.grad-intro::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0d3028fa 0%,#133b32ee 38%,#1b4636b8 64%,#173c3382 100%)}.grad-intro::after{content:'';position:absolute;inset:auto -10% -110px auto;width:min(42vw,520px);height:min(42vw,520px);background:radial-gradient(circle,#d2a46b33 0%,#d2a46b14 38%,transparent 74%);z-index:-1;pointer-events:none}.grad-intro-shell{position:relative;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(320px,.86fr);gap:48px;align-items:center}.grad-intro-content{position:relative;max-width:620px}.grad-seal{font-size:10px;letter-spacing:.24em;display:block;color:#d9b889;margin-bottom:27px}.grad-intro h2{font-size:clamp(59px,7.5vw,105px);letter-spacing:-.06em;line-height:1.03;margin:18px 0 26px}.grad-intro h2 em{color:#e9c88c}.grad-intro-content>p{font-size:16px;line-height:1.8;color:#f4e9da;max-width:590px}.grad-main-price{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:28px 0 34px}.grad-main-price strong{font-size:53px;font-family:var(--font-display);letter-spacing:-.05em}.grad-main-price span{font-size:13px;color:#e2d8c7;max-width:215px;line-height:1.55}.grad-hero-gallery{display:grid;grid-template-columns:1.05fr .95fr;grid-template-rows:repeat(2,minmax(165px,1fr));gap:14px;align-self:stretch}.grad-hero-card{margin:0;border:1px solid #f2e1bf38;background:#ffffff0d;box-shadow:0 24px 60px #071d1938;overflow:hidden;border-radius:2px;min-height:190px}.grad-hero-card img{width:100%;height:100%;display:block;object-fit:cover}.grad-hero-card-main{grid-row:1/span 2}.grad-hero-card::after{content:'';position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(180deg,transparent 0%,#0b211833 100%);pointer-events:none}.grad-hero-card{position:relative}
.grad-menu-options{padding-top:105px;padding-bottom:95px}.grad-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.grad-path-card{background:#fffbf3;border:1px solid #e6d9c7;overflow:hidden}.grad-path-card img{width:100%;height:260px;object-fit:cover}.grad-path-info{padding:23px}.grad-path-info>span{font-weight:800;color:#a55a39;font-size:10px;letter-spacing:.13em}.grad-path-info h3{font-size:30px;margin:15px 0 8px;line-height:1.2}.grad-path-info h3 em{color:#b66b4b}.grad-path-info p{font-size:13px;line-height:1.7;color:#607061;min-height:50px}.grad-path-info a{display:inline-block;font-size:12px;font-weight:700;border-bottom:1px solid #275742;padding-bottom:7px;color:#275742}.grad-included{margin-top:25px;border-top:1px solid #d6c4aa;border-bottom:1px solid #d6c4aa;display:grid;grid-template-columns:1fr 2fr;gap:30px;padding:28px 0;align-items:center}.grad-included>div{display:flex;gap:14px;align-items:center}.grad-included>div span{font-size:25px;color:#af6a41}.grad-included strong{font-family:var(--font-display);font-size:24px;font-weight:400}.grad-included p{font-size:13px;line-height:1.8;color:#536358;margin:0}
.graduation-gifts{background:#153b31;color:#fff3e6;padding:95px 0 84px;position:relative;overflow:hidden;isolation:isolate}.graduation-gifts::before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#12362de8 0%,#153b31f3 42%,#153b31 100%),url('assets/grad-request-photo.webp') center/cover no-repeat;opacity:.26}.graduation-gifts::after{content:'';position:absolute;inset:auto auto -90px -90px;width:min(34vw,360px);height:min(34vw,360px);background:radial-gradient(circle,#d7b37f2f 0%,#d7b37f12 46%,transparent 72%);z-index:-1;pointer-events:none}.graduation-gifts .offer-section-heading h2{font-size:clamp(40px,5vw,73px)}.graduation-gifts .offer-section-heading h2 em{color:#e6c591}.graduation-gifts .offer-section-heading p{color:#d7dfd4}.gift-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.gift-card{border:1px solid #c9b08b55;background:#ffffff07;padding:24px 23px 29px;min-height:270px;backdrop-filter:blur(2px)}.gift-card>.gift-symbol{font-size:50px;color:#e9c78b;margin-bottom:20px;line-height:1}.gift-card>span{font-size:10px;color:#c7ad7d;letter-spacing:.2em}.gift-card h3{font-size:24px;letter-spacing:-.03em;margin:12px 0 13px}.gift-card p{font-size:12px;line-height:1.8;color:#dfdfcf}.music-line{display:flex;gap:17px;align-items:center;padding-top:25px}.music-line>span{font-size:33px;color:#e2c08a}.music-line p{font-size:13px;line-height:1.7;color:#e7e3d6}
.graduation-request{padding:105px 0;background:#f1e8d7;position:relative;overflow:hidden;isolation:isolate}.graduation-request:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 13% 24%,#c8a77221 0%,transparent 36%),radial-gradient(circle at 80% 68%,#18483a10 0%,transparent 41%),repeating-linear-gradient(45deg,#cfad7b08 0px,#cfad7b08 1px,transparent 1px,transparent 28px);opacity:1;z-index:-2}.graduation-request:after{content:"";position:absolute;inset:auto -8% -120px auto;width:min(42vw,500px);height:min(42vw,500px);background:radial-gradient(circle,#c68a5b2c 0%,#c68a5b10 38%,transparent 72%);z-index:-1;pointer-events:none}.request-grid{display:grid;grid-template-columns:.83fr 1.17fr;gap:7%;align-items:start;position:relative}.request-intro h2{font-size:clamp(49px,5.2vw,76px);line-height:1.06;letter-spacing:-.055em;margin:23px 0}.request-intro h2 em{color:#b16848}.request-intro>p{max-width:480px;font-size:14px;line-height:1.8;color:#526256}.request-total{padding:30px;background:#173b32;color:white;margin-top:34px;max-width:380px;box-shadow:0 20px 50px #0f2d2518}.request-total small{display:block;color:#e5c78e;font-size:10px;font-weight:700;letter-spacing:.18em}.request-total strong{display:block;font-size:50px;font-family:var(--font-display);letter-spacing:-.04em;margin:8px 0}.request-total span{color:#e6e4d8;font-size:13px}.request-disclaimer{font-size:11px!important;margin-top:18px;line-height:1.7!important;max-width:390px}.experience-form{padding:34px 35px;background:#fffbf3;border:1px solid #e2d5bf;box-shadow:0 20px 60px #5a473120;backdrop-filter:blur(2px)}.experience-form h3{font-size:33px;margin:0 0 24px}.guest-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:23px}.guest-choice-grid label{display:flex;flex-direction:column;align-items:stretch;background:#f3ebdf;border:1px solid #e2d4c3;padding:13px;gap:14px}.experience-form label span{font-size:12px;font-weight:700;color:#194336}.guest-choice-grid label span{font-size:12px;min-height:28px}.experience-form input,.experience-form textarea{width:100%;border:1px solid #d6c8b4;border-radius:2px;background:white;min-height:42px;padding:9px 11px;color:#244639;outline-offset:2px}.experience-form input:focus,.experience-form textarea:focus{outline:2px solid #b98752}.experience-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.experience-form-fields label,.notes-label{display:grid;gap:8px}.notes-label{margin-top:16px}.experience-form textarea{resize:vertical}.experience-form-actions{display:flex;gap:10px;margin-top:22px;align-items:center;flex-wrap:wrap}.experience-form-actions .btn{font-size:10px;gap:14px;padding:15px}.btn-outline{padding:15px 17px;background:transparent;border:1px solid #20503e;color:#20503e;font-size:12px;font-weight:800}.request-status{min-height:20px;font-size:12px;color:#375541;line-height:1.65}.request-status[data-error=true]{color:#aa3930}

/* Graduation enquiry — concise editorial guide instead of repeated photographs */
.graduation-planner-guide{position:relative;max-width:540px;margin:28px 0 14px;padding:27px 28px 24px;background:#fffaf0;border:1px solid #d9c9ae;box-shadow:0 17px 40px #5e4e3912;overflow:hidden}
.graduation-planner-guide:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#b47a4f,#e0c78d 49%,#174838)}
.graduation-planner-guide:after{content:"✳";position:absolute;top:-66px;right:-13px;color:#b89e7530;font-size:190px;line-height:1;pointer-events:none}
.planner-guide-top{display:flex;align-items:center;gap:12px;color:#996b48;font-size:10px;font-weight:700;letter-spacing:.16em;position:relative;z-index:1}
.planner-guide-symbol{font-size:23px;color:#b78952;font-weight:400;line-height:1}
.planner-steps{position:relative;list-style:none;padding:0;margin:25px 0 20px}
.planner-steps:before{content:"";position:absolute;top:18px;bottom:22px;left:17px;width:1px;background:#d7c7a7}
.planner-step{display:grid;grid-template-columns:36px minmax(0,1fr);gap:17px;align-items:start;position:relative;margin:0 0 24px}
.planner-step:last-child{margin-bottom:0}
.planner-step-number{position:relative;z-index:1;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#183f34;border:2px solid #f9f3e8;outline:1px solid #c8aa75;color:#efcc8c;font-family:var(--font-display);font-size:13px}
.planner-step h3{font-size:22px;line-height:1.1;letter-spacing:-.02em;margin:2px 0 5px;color:#173e32;font-family:var(--font-display);font-weight:500}
.planner-step p{font-size:12px;line-height:1.66;color:#5e675a;max-width:365px;margin:0}
.planner-guide-bottom{position:relative;border-top:1px solid #e0d3bd;padding-top:16px;display:flex;align-items:center;gap:9px;color:#976c41}
.planner-guide-bottom span{font-size:21px}
.planner-guide-bottom p{font-size:13px;font-family:var(--font-display);font-style:italic;margin:0;color:#75644d}
@media(max-width:760px){.graduation-planner-guide{max-width:none}}
@media(max-width:550px){.graduation-planner-guide{padding:23px 20px 21px;margin:22px 0 12px}.planner-guide-top{letter-spacing:.12em;font-size:9px}.planner-step{gap:12px}.planner-step h3{font-size:21px}.planner-step p{font-size:12px}}

.offers-finish{background:#e0cfac;color:#173b32;text-align:center;padding:65px 0}.offers-finish span{font-size:32px}.offers-finish h2{font-size:clamp(43px,5vw,65px);margin:7px 0;font-weight:400;letter-spacing:.08em}.offers-finish p{font-style:italic;font-family:var(--font-display);font-size:19px}.offers-finish a{display:inline-block;border-bottom:1px solid #23503b;padding:9px 2px;margin-top:10px;font-size:12px;font-weight:800}.experiences-page footer{background:#102f28;color:#f9ebd5}
@media(max-width:1080px){.offers-header nav{gap:12px}.offers-header nav a{font-size:10px}.offers-back{font-size:10px}.lunch-editorial{grid-template-columns:1fr}.lunch-dish-card img{aspect-ratio:4/3}.lunch-pick{max-width:none}.lunch-terms{margin-top:15px}.gift-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gift-card{min-height:225px}.request-grid{gap:4%}}
@media(max-width:760px){.offers-header nav{display:none}.offers-header{padding-inline:18px}.offers-back{font-size:10px}.offers-hero{min-height:620px}.offers-hero h1{font-size:clamp(55px,11.3vw,77px)}.offers-hero-foot{font-size:8px}.lunch-experience{padding:75px 0}.grad-intro{padding:72px 0 76px;min-height:auto}.grad-intro-shell{grid-template-columns:1fr;gap:26px}.grad-hero-gallery{grid-template-columns:1.04fr .96fr;grid-template-rows:repeat(2,minmax(140px,1fr))}.grad-menu-options{padding-top:75px;padding-bottom:75px}.offer-heading-row{align-items:start}.grad-path-grid{grid-template-columns:1fr;gap:15px}.grad-path-card{display:grid;grid-template-columns:38% 1fr}.grad-path-card img{height:100%;min-height:220px}.grad-path-info p{min-height:0}.grad-included{grid-template-columns:1fr;gap:10px}.request-grid{grid-template-columns:1fr;gap:30px}.graduation-request{padding:78px 0}.request-total{max-width:none}.graduation-gifts{padding:75px 0}}
@media(max-width:550px){.offers-header .wordmark{font-size:15px}.offers-header .mark{font-size:20px}.offers-header .header-actions{gap:6px}.offers-header .lang-toggle{padding:7px 8px}.offers-back{font-size:9px}.offers-hero{min-height:615px}.offers-hero-body{padding-top:20px}.offers-hero h1{font-size:clamp(46px,11.5vw,69px)}.offers-hero-body>p{font-size:14px}.offers-hero-foot{display:block}.offers-hero-foot span+span{display:none}.offer-heading-row{display:block}.offer-price-pill{display:inline-block;margin:12px 0}.lunch-dish-list{grid-template-columns:1fr}.lunch-dish-card{display:grid;grid-template-columns:39% 61%}.lunch-dish-card img{height:100%;aspect-ratio:auto}.lunch-dish-card-body{padding:15px}.lunch-dish-card-body h3{font-size:22px}.lunch-dish-card-body p{font-size:11px}.lunch-pick{padding:28px}.grad-intro{padding:78px 0 72px;min-height:auto}.grad-hero-gallery{grid-template-columns:1fr;grid-template-rows:none}.grad-hero-card-main{grid-row:auto}.grad-hero-card{min-height:185px}.grad-intro h2{font-size:clamp(53px,12vw,73px)}.grad-main-price strong{font-size:48px}.grad-path-card{grid-template-columns:36% 64%}.grad-path-info{padding:17px}.grad-path-info h3{font-size:23px}.grad-path-info p{font-size:12px}.gift-grid{grid-template-columns:1fr}.gift-card{min-height:0;padding:23px}.guest-choice-grid{grid-template-columns:1fr 1fr}.experience-form-fields{grid-template-columns:1fr}.experience-form{padding:24px 20px}.request-total strong{font-size:45px}.experience-form-actions>.btn{width:100%}.btn-outline{width:100%}}
@media(max-width:380px){.guest-choice-grid{grid-template-columns:1fr}.offers-header .wordmark{font-size:13px}.offers-back{display:none}}
@media(prefers-reduced-motion:reduce){.offers-hero-img,.offer-picture img{animation:none;transition:none}.experiences-page *{scroll-behavior:auto}}

/* Graduation visuals from the campaign */
.grad-intro-image{background-color:#163d32}
.gifts-photo-feature{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:0;margin:4px 0 22px;background:#f8e9d5;color:#173b32;min-height:230px}
.gifts-photo-feature img{width:100%;height:100%;min-height:230px;max-height:350px;object-fit:cover;object-position:50% 62%}
.gifts-photo-caption{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(22px,4vw,45px)}
.gifts-photo-caption small{font-size:10px;letter-spacing:.18em;font-weight:700;color:#9e6249}
.gifts-photo-caption h3{font-size:clamp(25px,3vw,40px);line-height:1.18;margin:18px 0 0;letter-spacing:-.03em}
@media(max-width:750px){.grad-intro-image{opacity:.5;background-position:center}.gifts-photo-feature{grid-template-columns:1fr}.gifts-photo-feature img{height:240px;min-height:0}.gifts-photo-caption{padding:25px}}
